sympress / monolog-bundle
Monolog integration bundle for the WordPress kernel.
Package info
github.com/SymPress/monolog-bundle
Type:wordpress-muplugin
pkg:composer/sympress/monolog-bundle
Requires
- php: ^8.5
- monolog/monolog: ^3.0
- psr/log: ^3.0
- sympress/kernel: @dev
Requires (Dev)
- dealerdirect/phpcodesniffer-composer-installer: ^1.0
- friendsofphp/php-cs-fixer: ^3.94
- phpstan/phpstan: ^2.1
- phpunit/phpunit: ^10.5
- symfony/var-dumper: ^7.3
- sympress/coding-standards: @dev
This package is auto-updated.
Last update: 2026-06-13 04:15:46 UTC
README
Monolog integration bundle for SymPress WordPress kernel applications.
The package provides a Composer-powered WordPress MU plugin that registers a Monolog logger, channel loggers, configurable handlers, processors, and WordPress-specific logging hooks through the SymPress kernel service container.
Installation
composer require sympress/monolog-bundle
The package requires PHP 8.5, sympress/kernel, monolog/monolog, and
psr/log.
Features
- Default PSR-3 logger service exposed as
loggerandPsr\Log\LoggerInterface - Channel logger support through
monolog.loggertags and Monolog attributes - Configurable handlers for stream, rotating file, fingers crossed, grouped, filtered, console, mail, syslog, socket, Slack webhook, and related Monolog handler types
- Handler-to-channel routing with inclusive and exclusive channel rules
- Tagged processor registration with handler or channel targeting
- WordPress runtime context processor
- Kernel throwable, WordPress database, and HTTP API logging hooks
- Profiler bridge that forwards buffered Monolog records to SymPress Profiler
Usage
When the SymPress kernel discovers the package, it registers
SymPress\MonologBundle\MonologBundle and loads
monolog-bundle/monolog-bundle.php as the MU plugin entry point.
<?php use Psr\Log\LoggerInterface; final readonly class ImportOrders { public function __construct( private LoggerInterface $logger, ) { } public function run(): void { $this->logger->info('Import started.'); } }
Configuration
The package ships with a default stream handler and a profiler buffer handler. Project configuration can override handlers and channels through the Monolog extension.
monolog: channels: - security handlers: main: type: fingers_crossed action_level: error handler: nested nested: type: stream path: '%kernel.logs_dir%/%kernel.environment%.log' level: debug nested: true security_file: type: stream path: '%kernel.logs_dir%/security.log' channels: [security]
Services can request channel-specific loggers by using Monolog's
WithMonologChannel attribute or the monolog.logger service tag.
Development
composer install
composer test
composer cs:analyze
composer cs
Use composer cs:fix to apply automatic style fixes.
License
This package is licensed under GPL-2.0-or-later.