function(ContainerInterface $container) { $handler = new Monolog\Handler\RotatingFileHandler($container->get('log_file')); $handler->setFormatter($container->get(Monolog\Formatter\LineFormatter::class)); return $handler; }, 'request_logger' => function(ContainerInterface $container) { $logger = new Monolog\Logger('request_logger'); $handler = new Monolog\Handler\RotatingFileHandler(implode(DIRECTORY_SEPARATOR, [$container->get('logs_folder'), 'requests.log'])); $handler->setFormatter($container->get(Monolog\Formatter\SyslogFormatter::class)); $dedupHandler = new Monolog\Handler\DeduplicationHandler($handler, null, Monolog\Level::Info); $logger->pushHandler($dedupHandler); $logger->pushProcessor($container->get(Monolog\Processor\PsrLogMessageProcessor::class)); $logger->pushProcessor($container->get(Monolog\Processor\IntrospectionProcessor::class)); $logger->pushProcessor($container->get(Monolog\Processor\MemoryUsageProcessor::class)); return $logger; }, Psr\Log\LoggerInterface::class => function(ContainerInterface $container) { $logger = new Monolog\Logger('file_logger'); $logger->pushHandler($container->get(Monolog\Handler\RotatingFileHandler::class)); $logger->pushProcessor($container->get(Monolog\Processor\PsrLogMessageProcessor::class)); $logger->pushProcessor($container->get(Monolog\Processor\IntrospectionProcessor::class)); $logger->pushProcessor($container->get(Monolog\Processor\MemoryUsageProcessor::class)); return $logger; }, ];