52 lines
2.1 KiB
PHP
52 lines
2.1 KiB
PHP
<?php
|
|
use Psr\Container\ContainerInterface;
|
|
|
|
return [
|
|
'log_processors' => function(ContainerInterface $container) {
|
|
return [
|
|
$container->get(Monolog\Processor\PsrLogMessageProcessor::class),
|
|
$container->get(Monolog\Processor\IntrospectionProcessor::class),
|
|
$container->get(Monolog\Processor\MemoryPeakUsageProcessor::class),
|
|
];
|
|
},
|
|
'request_log_handler' => function(ContainerInterface $container) {
|
|
return (new Monolog\Handler\RotatingFileHandler(implode(DIRECTORY_SEPARATOR, [$container->get('logs_folder'), 'requests.log'])))
|
|
->setFormatter(new Monolog\Formatter\LineFormatter(null, null, true));
|
|
},
|
|
'request_logger' => function(ContainerInterface $container) {
|
|
return new Monolog\Logger(
|
|
'request_logger',
|
|
[$container->get('request_log_handler')],
|
|
$container->get('log_processors')
|
|
);
|
|
},
|
|
'file_log_handler' => function(ContainerInterface $container) {
|
|
return new Monolog\Handler\FilterHandler(
|
|
(new Monolog\Handler\RotatingFileHandler($container->get('log_file')))
|
|
->setFormatter(new Monolog\Formatter\LineFormatter(null, null, true)),
|
|
Monolog\Level::Error
|
|
);
|
|
},
|
|
'debug_log_handler' => function(ContainerInterface $container) {
|
|
return new Monolog\Handler\FilterHandler(
|
|
(new Monolog\Handler\RotatingFileHandler(implode(DIRECTORY_SEPARATOR, [$container->get('logs_folder'), 'debug.log'])))
|
|
->setFormatter(new Monolog\Formatter\LineFormatter(null, null, true)),
|
|
Monolog\Level::Debug,
|
|
Monolog\Level::Warning
|
|
);
|
|
},
|
|
Psr\Log\LoggerInterface::class => function(ContainerInterface $container) {
|
|
return $container->get('file_logger');
|
|
},
|
|
'file_logger' => function(ContainerInterface $container) {
|
|
return new Monolog\Logger(
|
|
'file',
|
|
[
|
|
$container->get('file_log_handler'),
|
|
$container->get('debug_log_handler')
|
|
],
|
|
$container->get('log_processors')
|
|
);
|
|
},
|
|
];
|