Files
emails/api/setup/setups/98_log.php

63 lines
2.6 KiB
PHP
Raw Normal View History

2022-11-09 15:20:04 -03:00
<?php
use Psr\Container\ContainerInterface;
return [
2023-06-08 20:49:27 -04:00
'log_processors' => function(ContainerInterface $container) {
return [
$container->get(Monolog\Processor\PsrLogMessageProcessor::class),
$container->get(Monolog\Processor\IntrospectionProcessor::class),
2023-06-09 00:54:34 -04:00
$container->get(Monolog\Processor\WebProcessor::class),
2023-06-08 20:49:27 -04:00
$container->get(Monolog\Processor\MemoryPeakUsageProcessor::class),
];
2022-11-25 20:52:52 -03:00
},
2023-06-08 20:49:27 -04:00
'request_log_handler' => function(ContainerInterface $container) {
2023-06-12 21:14:07 -04:00
return (new Monolog\Handler\RotatingFileHandler(implode(DIRECTORY_SEPARATOR, [$container->get('logs_folder'), 'requests.log'])));
2022-11-09 15:20:04 -03:00
},
2022-12-01 14:15:54 -03:00
'request_logger' => function(ContainerInterface $container) {
2023-06-08 20:49:27 -04:00
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
);
2022-12-01 14:15:54 -03:00
},
2022-11-29 11:12:06 -03:00
Psr\Log\LoggerInterface::class => function(ContainerInterface $container) {
2023-06-09 00:54:34 -04:00
return $container->get('file_logger');
2023-06-08 20:49:27 -04:00
},
'file_logger' => function(ContainerInterface $container) {
return new Monolog\Logger(
'file',
[
$container->get('file_log_handler'),
$container->get('debug_log_handler')
],
$container->get('log_processors')
);
},
'elk_logger' => function(ContainerInterface $container) {
return new Monolog\Logger('elk', [
(new Monolog\Handler\SocketHandler($container->get('logstash_socket')))
->setFormatter(new Monolog\Formatter\LogstashFormatter('emails', 'docker'))
], [
new Monolog\Processor\PsrLogMessageProcessor(),
new Monolog\Processor\WebProcessor(),
new Monolog\Processor\IntrospectionProcessor(),
new Monolog\Processor\MemoryPeakUsageProcessor()
]);
2022-11-09 15:20:04 -03:00
}
2022-12-01 14:15:54 -03:00
];