mouf/utils.log.psr.multi-logger
A PSR-3 compatible multi-logger for the Mouf framework that fans out each log message to several underlying loggers at once, letting you route logs to multiple destinations through a single PSR-3 interface, wired up via Mouf's dependency injection.
log() call is forwarded to an array of child loggers. That directly supports decisions like "ship the same events to app logs and a customer-facing audit trail," "mirror errors to Sentry plus a file sink," or "run a shadow pipeline during a logging vendor migration."Log facade or Monolog concrete classes, a PSR-3 composite lets downstream consumers inject any set of loggers without your library knowing about them.Adopt (or copy) only when most of these hold:
Look elsewhere — specifically, do not adopt — when:
config/logging.php already ships a stack driver that does exactly this, with per-channel configuration and no third-party code. In a Laravel context this package's value collapses to near zero. Any PM proposal to add it inside a Laravel app should be rejected as redundant.To executives: This is a small utility, not a platform investment. It lets one logging call reach several destinations at once, which is useful for a short window during a logging or audit-trail migration. Cost is effectively zero and the code is MIT-licensed and trivially replaceable, so downside is contained. But it is not a strategic dependency — adoption is in the single digits — so we should either vendor the pattern into our own code or, if we run Laravel, use the built-in stack channel and skip the dependency entirely. Recommendation: do not add it to the architecture; approve it only as a throwaway migration aid, if at all.
To engineering: It is a PSR-3 composite logger — a LoggerInterface that loops over an array of LoggerInterface instances. That is the entire value proposition. On Laravel, the stack channel is the same thing with better ergonomics, so use that. On framework-neutral code, a ~30-line internal class gets you identical behavior with no supply-chain exposure and no upgrade treadmill. If you do pull it in, pin the exact version and expect to own it; the maintenance signal (3 stars, 0 dependents) means we should plan on forking rather than relying on upstream fixes.
How can I help you explore Laravel packages today?