Better external logging

This commit is contained in:
Juan Pablo Vial
2025-06-10 17:00:20 -04:00
parent d841b1aeed
commit 4ae72199fc

View File

@ -118,11 +118,35 @@ return [
$container->get(DateTimeZone::class)
);
},
'externalLogger' => function(ContainerInterface $container) {
return new Monolog\Logger('external',
[
new Monolog\Handler\RedisHandler($container->get(Predis\ClientInterface::class), 'logs:external'),
'externalHandlers' => function(ContainerInterface $container) {
return [
'critical' => [
'handler' => Monolog\Handler\RedisHandler::class,
'name' => 'external:critical',
'levels' => Monolog\Level::Critical
],
'error' => [
'handler' => Monolog\Handler\RedisHandler::class,
'name' => 'external:error',
'levels' => [Monolog\Level::Error, Monolog\Level::Error],
],
'notices' => [
'handler' => Monolog\Handler\RedisHandler::class,
'name' => 'external:notices',
'levels' => [Monolog\Level::Error, Monolog\Level::Error],
],
'debug' => [
'handler' => Monolog\Handler\RedisHandler::class,
'name' => 'external:debug',
'levels' => [Monolog\Level::Error, Monolog\Level::Error],
],
];
},
'externalLogger' => function(ContainerInterface $container) {
$builder = $container->get(Incoviba\Common\Implement\Log\Processor\ArrayBuilder::class);
$handlers = $builder->build($container->get('externalHandlers'));
return new Monolog\Logger('external',
$handlers,
$container->get('baseMonologProcessors'),
$container->get(DateTimeZone::class)
);