hexanet/monolog-extra-bundle
Symfony bundle that extends Monolog with extra logging tools, making it easier to enrich log records with additional context and configure richer logging pipelines in your application. It integrates with Symfony's service configuration for straightforward setup and minimal boilerplate.
Adoption criteria — all of these would have to be true, and even then it's a stretch:
Where to look instead:
Log::withContext() / Context facade, plus a Monolog tap for response capture. For user-facing audit trails, spatie/laravel-activitylog or an event-sourced audit table is the better fit than raw request logs.symfony/monolog-bridge and Monolog's built-in introspection/request processors, plus an HttpKernel listener you own. Maintained alternatives exist; a 2018 archive does not qualify.Red flags that disqualify it for production use here: archived repository, last release 2018-11-14, 3 stars, 0 dependents, no maintainer, no demonstrated PHP 8 or modern Symfony support, and no security disclosure path. Zero dependents also means zero field-testing — the code has not been exercised at scale.
Decision: Do not adopt hexanet/monolog-extra-bundle. Build the equivalent request/response logging in-house.
For executives: We evaluated a package that would have given us request-level logging out of the box. It was archived in 2018, has no maintainer, and no one else uses it. Adding it would put unmaintained third-party code into our production logging path — a security, audit, and maintenance liability that outweighs the saved effort. The same capability is roughly one engineering day of first-party code, which we control. Recommendation: build, don't buy; net cost is low and we avoid the dependency risk entirely.
For engineering: The package's processor design is worth copying; the dependency is not. Implement a middleware that attaches a request ID, method, path, status, duration, and user identifier to the log context, with an allowlist-based redaction step for headers and body fields before anything is written. Enforce structured JSON output and a retention policy. Do not log bodies by default — make it per-route opt-in so we stay clean on PII.
Supporting numbers: 3 stars, 0 dependents, archived, last release November 2018 — versus roughly one day of internal work and full ownership.
How can I help you explore Laravel packages today?