From f47f86dd2b72dfb30e5c990a8415854c30342611 Mon Sep 17 00:00:00 2001 From: Juan Pablo Vial Date: Fri, 16 May 2025 12:54:52 -0400 Subject: [PATCH] BaseLoop different logger --- cli/setup/settings/other.php | 8 ++++++++ cli/setup/setups/commands.php | 6 ++++++ cli/setup/setups/logs.php | 19 ++++++++++++++++++- cli/src/Command/BaseLoop.php | 5 +---- 4 files changed, 33 insertions(+), 5 deletions(-) create mode 100644 cli/setup/settings/other.php diff --git a/cli/setup/settings/other.php b/cli/setup/settings/other.php new file mode 100644 index 0000000..6b2df41 --- /dev/null +++ b/cli/setup/settings/other.php @@ -0,0 +1,8 @@ + function (ContainerInterface $container) { + return new DateTimeZone($container->get('TZ') ?? 'America/Santiago'); + }, +]; diff --git a/cli/setup/setups/commands.php b/cli/setup/setups/commands.php index 9e5cc5f..2f78fa6 100644 --- a/cli/setup/setups/commands.php +++ b/cli/setup/setups/commands.php @@ -11,5 +11,11 @@ return [ $container->get(Psr\Log\LoggerInterface::class), $container->get('commands') ); + }, + Incoviba\Command\BaseLoop::class => function(ContainerInterface $container) { + return new Incoviba\Command\BaseLoop( + $container->get('LoopLogger'), + $container->get(Incoviba\Service\Schedule::class) + ); } ]; diff --git a/cli/setup/setups/logs.php b/cli/setup/setups/logs.php index 53bcb47..b698d1e 100644 --- a/cli/setup/setups/logs.php +++ b/cli/setup/setups/logs.php @@ -61,6 +61,23 @@ return [ $container->get(Monolog\Processor\IntrospectionProcessor::class), $container->get(Monolog\Processor\MemoryUsageProcessor::class), $container->get(Monolog\Processor\MemoryPeakUsageProcessor::class) - ], new DateTimeZone($container->get('TZ'))); + ], $container->get(DateTimeZone::class)); + }, + 'LoopLogger' => function(ContainerInterface $container) { + return new Monolog\Logger('loop', [ + new Monolog\Handler\FilterHandler( + ($container->has('ENVIRONMENT') and $container->get('ENVIRONMENT') === 'development') + ? new Monolog\Handler\StreamHandler('/logs/loop.log') + : new Monolog\Handler\RotatingFileHandler('/logs/loop.log', 10), + Monolog\Level::Notice + ), + new Monolog\Handler\FilterHandler( + ($container->has('ENVIRONMENT') and $container->get('ENVIRONMENT') === 'development') + ? new Monolog\Handler\StreamHandler('/logs/loop-debug.log') + : new Monolog\Handler\RotatingFileHandler('/logs/loop-debug.log', 10), + Monolog\Level::Debug, + Monolog\Level::Debug + ) + ], [], $container->get(DateTimeZone::class)); } ]; diff --git a/cli/src/Command/BaseLoop.php b/cli/src/Command/BaseLoop.php index 14538c5..04c9d61 100644 --- a/cli/src/Command/BaseLoop.php +++ b/cli/src/Command/BaseLoop.php @@ -44,10 +44,6 @@ class BaseLoop extends Console\Command\Command } $nextMinute = new DateTimeImmutable($start->format('Y-m-d H:i:00')); $nextMinute = $nextMinute->add(new \DateInterval('PT1M')); - $this->logger->debug('Wait', [ - 'start' => $start->format('Y-m-d H:i:s.u'), - 'nextMinute' => $nextMinute->format('Y-m-d H:i:s.u'), - ]); $diff = $nextMinute->getTimestamp() - $start->getTimestamp(); if ($diff > 0) { $this->logger->debug("Waiting {$diff} seconds..."); @@ -66,6 +62,7 @@ class BaseLoop extends Console\Command\Command 'command' => $commandName ]); try { + $this->logger->notice("Running commnand: {$commandName}"); return $this->getApplication()->doRun($cmd, $output); } catch (Throwable $exception) { $this->logger->warning($exception);