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) $container->get(DateTimeZone::class)
); );
}, },
'externalLogger' => function(ContainerInterface $container) { 'externalHandlers' => function(ContainerInterface $container) {
return new Monolog\Logger('external', return [
[ 'critical' => [
new Monolog\Handler\RedisHandler($container->get(Predis\ClientInterface::class), 'logs:external'), '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('baseMonologProcessors'),
$container->get(DateTimeZone::class) $container->get(DateTimeZone::class)
); );