diff --git a/cli/setup/setups/logs.php b/cli/setup/setups/logs.php index 8e4090a..6c3d66d 100644 --- a/cli/setup/setups/logs.php +++ b/cli/setup/setups/logs.php @@ -3,43 +3,57 @@ use Psr\Container\ContainerInterface; return [ Psr\Log\LoggerInterface::class => function(ContainerInterface $container) { - return new Monolog\Logger('incoviba', [ - new Monolog\Handler\FilterHandler( - ($container->has('ENVIRONMENT') and $container->get('ENVIRONMENT') === 'development') - ? (new Monolog\Handler\StreamHandler('/logs/debug.log')) + $minLogLevel = Monolog\Level::Debug; + if ($container->has('DEBUG') and !$container->get('DEBUG')) { + $minLogLevel = Monolog\Level::Warning; + } + $handlers = []; + switch($minLogLevel) { + case Monolog\Level::Debug: + $handlers []= new Monolog\Handler\FilterHandler( + ($container->has('ENVIRONMENT') and $container->get('ENVIRONMENT') === 'development') + ? (new Monolog\Handler\StreamHandler('/logs/debug.log')) ->setFormatter($container->get(Monolog\Formatter\LineFormatter::class)) - : (new Monolog\Handler\RotatingFileHandler('/logs/debug.log', 10)) + : (new Monolog\Handler\RotatingFileHandler('/logs/debug.log', 10)) ->setFormatter(new Monolog\Formatter\LineFormatter(null, null, false, false, true)), - Monolog\Level::Debug, - Monolog\Level::Debug - ), - new Monolog\Handler\FilterHandler( - ($container->has('ENVIRONMENT') and $container->get('ENVIRONMENT') === 'development') - ? (new Monolog\Handler\StreamHandler('/logs/notices.log')) + Monolog\Level::Debug, + Monolog\Level::Debug + ); + case Monolog\Level::Info: + case Monolog\Level::Notice: + $handlers []= new Monolog\Handler\FilterHandler( + ($container->has('ENVIRONMENT') and $container->get('ENVIRONMENT') === 'development') + ? (new Monolog\Handler\StreamHandler('/logs/notices.log')) ->setFormatter($container->get(Monolog\Formatter\LineFormatter::class)) - : (new Monolog\Handler\RotatingFileHandler('/logs/info.log', 10)) + : (new Monolog\Handler\RotatingFileHandler('/logs/info.log', 10)) ->setFormatter(new Monolog\Formatter\LineFormatter(null, null, false, false, true)), - Monolog\Level::Info, - Monolog\Level::Warning, - ), - new Monolog\Handler\FilterHandler( - ($container->has('ENVIRONMENT') and $container->get('ENVIRONMENT') === 'development') - ? (new Monolog\Handler\StreamHandler('/logs/error.log')) - ->setFormatter($container->get(Monolog\Formatter\LineFormatter::class)) - : (new Monolog\Handler\RotatingFileHandler('/logs/error.log', 10)) - ->setFormatter($container->get(Monolog\Formatter\LineFormatter::class)), - Monolog\Level::Error, - Monolog\Level::Error - ), - new Monolog\Handler\FilterHandler( - ($container->has('ENVIRONMENT') and $container->get('ENVIRONMENT') === 'development') - ? (new Monolog\Handler\StreamHandler('/logs/critical.log')) - ->setFormatter($container->get(Monolog\Formatter\LineFormatter::class)) - : (new Monolog\Handler\RotatingFileHandler('/logs/critical.log', 10)) - ->setFormatter($container->get(Monolog\Formatter\LineFormatter::class)), - Monolog\Level::Critical - ) - ], [ + Monolog\Level::Info, + Monolog\Level::Notice, + ); + case Monolog\Level::Warning: + case Monolog\Level::Error: + $handlers []= new Monolog\Handler\FilterHandler( + ($container->has('ENVIRONMENT') and $container->get('ENVIRONMENT') === 'development') + ? (new Monolog\Handler\StreamHandler('/logs/error.log')) + ->setFormatter($container->get(Monolog\Formatter\LineFormatter::class)) + : (new Monolog\Handler\RotatingFileHandler('/logs/error.log', 10)) + ->setFormatter($container->get(Monolog\Formatter\LineFormatter::class)), + Monolog\Level::Warning, + Monolog\Level::Error + ); + case Monolog\Level::Critical: + case Monolog\Level::Alert: + case Monolog\Level::Emergency: + $handlers []= new Monolog\Handler\FilterHandler( + ($container->has('ENVIRONMENT') and $container->get('ENVIRONMENT') === 'development') + ? (new Monolog\Handler\StreamHandler('/logs/critical.log')) + ->setFormatter($container->get(Monolog\Formatter\LineFormatter::class)) + : (new Monolog\Handler\RotatingFileHandler('/logs/critical.log', 10)) + ->setFormatter($container->get(Monolog\Formatter\LineFormatter::class)), + Monolog\Level::Critical + ); + } + return new Monolog\Logger('incoviba', $handlers, [ $container->get(Monolog\Processor\PsrLogMessageProcessor::class), $container->get(Monolog\Processor\IntrospectionProcessor::class), $container->get(Monolog\Processor\MemoryUsageProcessor::class),