Min log level

This commit is contained in:
Juan Pablo Vial
2025-05-13 16:17:47 -04:00
parent 024a6eae54
commit 91c74bf113

View File

@ -3,43 +3,57 @@ use Psr\Container\ContainerInterface;
return [ return [
Psr\Log\LoggerInterface::class => function(ContainerInterface $container) { Psr\Log\LoggerInterface::class => function(ContainerInterface $container) {
return new Monolog\Logger('incoviba', [ $minLogLevel = Monolog\Level::Debug;
new Monolog\Handler\FilterHandler( if ($container->has('DEBUG') and !$container->get('DEBUG')) {
($container->has('ENVIRONMENT') and $container->get('ENVIRONMENT') === 'development') $minLogLevel = Monolog\Level::Warning;
? (new Monolog\Handler\StreamHandler('/logs/debug.log')) }
$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)) ->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)), ->setFormatter(new Monolog\Formatter\LineFormatter(null, null, false, false, true)),
Monolog\Level::Debug, Monolog\Level::Debug,
Monolog\Level::Debug Monolog\Level::Debug
), );
new Monolog\Handler\FilterHandler( case Monolog\Level::Info:
($container->has('ENVIRONMENT') and $container->get('ENVIRONMENT') === 'development') case Monolog\Level::Notice:
? (new Monolog\Handler\StreamHandler('/logs/notices.log')) $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)) ->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)), ->setFormatter(new Monolog\Formatter\LineFormatter(null, null, false, false, true)),
Monolog\Level::Info, Monolog\Level::Info,
Monolog\Level::Warning, Monolog\Level::Notice,
), );
new Monolog\Handler\FilterHandler( case Monolog\Level::Warning:
($container->has('ENVIRONMENT') and $container->get('ENVIRONMENT') === 'development') case Monolog\Level::Error:
? (new Monolog\Handler\StreamHandler('/logs/error.log')) $handlers []= new Monolog\Handler\FilterHandler(
->setFormatter($container->get(Monolog\Formatter\LineFormatter::class)) ($container->has('ENVIRONMENT') and $container->get('ENVIRONMENT') === 'development')
: (new Monolog\Handler\RotatingFileHandler('/logs/error.log', 10)) ? (new Monolog\Handler\StreamHandler('/logs/error.log'))
->setFormatter($container->get(Monolog\Formatter\LineFormatter::class)), ->setFormatter($container->get(Monolog\Formatter\LineFormatter::class))
Monolog\Level::Error, : (new Monolog\Handler\RotatingFileHandler('/logs/error.log', 10))
Monolog\Level::Error ->setFormatter($container->get(Monolog\Formatter\LineFormatter::class)),
), Monolog\Level::Warning,
new Monolog\Handler\FilterHandler( Monolog\Level::Error
($container->has('ENVIRONMENT') and $container->get('ENVIRONMENT') === 'development') );
? (new Monolog\Handler\StreamHandler('/logs/critical.log')) case Monolog\Level::Critical:
->setFormatter($container->get(Monolog\Formatter\LineFormatter::class)) case Monolog\Level::Alert:
: (new Monolog\Handler\RotatingFileHandler('/logs/critical.log', 10)) case Monolog\Level::Emergency:
->setFormatter($container->get(Monolog\Formatter\LineFormatter::class)), $handlers []= new Monolog\Handler\FilterHandler(
Monolog\Level::Critical ($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\PsrLogMessageProcessor::class),
$container->get(Monolog\Processor\IntrospectionProcessor::class), $container->get(Monolog\Processor\IntrospectionProcessor::class),
$container->get(Monolog\Processor\MemoryUsageProcessor::class), $container->get(Monolog\Processor\MemoryUsageProcessor::class),