function(ContainerInterface $container) { return [ $container->get(Monolog\Processor\PsrLogMessageProcessor::class), $container->get(Monolog\Processor\WebProcessor::class), $container->get(Monolog\Processor\IntrospectionProcessor::class), $container->get(Monolog\Processor\MemoryPeakUsageProcessor::class) ]; }, Monolog\Handler\RotatingFileHandler::class => function(ContainerInterface $container) { $handler = new Monolog\Handler\RotatingFileHandler($container->get('log_file')); $handler->setFormatter($container->get(Monolog\Formatter\SyslogFormatter::class)); return $handler; }, 'request_logger' => function(ContainerInterface $container) { return new Monolog\Logger('request_logger', [ (new Monolog\Handler\RotatingFileHandler(implode(DIRECTORY_SEPARATOR, [$container->get('folders')->logs, 'requests.log']))), ], $container->get('log_processors')); }, Psr\Log\LoggerInterface::class => function(ContainerInterface $container) { return new Monolog\Logger('file', [ new Monolog\Handler\FilterHandler( (new Monolog\Handler\RotatingFileHandler($container->get('log_file'))) ->setFormatter(new Monolog\Formatter\LineFormatter(null, null, true)), Monolog\Level::Error ), new Monolog\Handler\FilterHandler( (new Monolog\Handler\RotatingFileHandler(implode(DIRECTORY_SEPARATOR, [$container->get('folders')->logs, 'debug.log']))) ->setFormatter(new Monolog\Formatter\LineFormatter(null, null, true)), Monolog\Level::Debug, Monolog\Level::Warning ) ], $container->get('log_processors')); }, ];