function(ContainerInterface $container) { return new Monolog\Handler\DeduplicationHandler($container->get(Monolog\Handler\RotatingFileHandler::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) { $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\DeduplicationHandler::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; } ];