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.
composer require sympress/monolog-bundleThe package requires PHP 8.5, sympress/kernel, monolog/monolog, and
psr/log.
- 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
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.');
}
}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.
composer install
composer test
composer cs:analyze
composer csUse composer cs:fix to apply automatic style fixes.
This package is licensed under GPL-2.0-or-later.