From 4ae72199fcb9f99d29cfe4e9974dfcd1d763fac5 Mon Sep 17 00:00:00 2001 From: Juan Pablo Vial Date: Tue, 10 Jun 2025 17:00:20 -0400 Subject: [PATCH] Better external logging --- app/setup/setups/logs.php | 32 ++++++++++++++++++++++++++++---- 1 file changed, 28 insertions(+), 4 deletions(-) diff --git a/app/setup/setups/logs.php b/app/setup/setups/logs.php index 5cf0297..f944762 100644 --- a/app/setup/setups/logs.php +++ b/app/setup/setups/logs.php @@ -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) );