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,8 +3,14 @@ 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')) {
$minLogLevel = Monolog\Level::Warning;
}
$handlers = [];
switch($minLogLevel) {
case Monolog\Level::Debug:
$handlers []= new Monolog\Handler\FilterHandler(
($container->has('ENVIRONMENT') and $container->get('ENVIRONMENT') === 'development') ($container->has('ENVIRONMENT') and $container->get('ENVIRONMENT') === 'development')
? (new Monolog\Handler\StreamHandler('/logs/debug.log')) ? (new Monolog\Handler\StreamHandler('/logs/debug.log'))
->setFormatter($container->get(Monolog\Formatter\LineFormatter::class)) ->setFormatter($container->get(Monolog\Formatter\LineFormatter::class))
@ -12,34 +18,42 @@ return [
->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:
case Monolog\Level::Notice:
$handlers []= new Monolog\Handler\FilterHandler(
($container->has('ENVIRONMENT') and $container->get('ENVIRONMENT') === 'development') ($container->has('ENVIRONMENT') and $container->get('ENVIRONMENT') === 'development')
? (new Monolog\Handler\StreamHandler('/logs/notices.log')) ? (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:
case Monolog\Level::Error:
$handlers []= new Monolog\Handler\FilterHandler(
($container->has('ENVIRONMENT') and $container->get('ENVIRONMENT') === 'development') ($container->has('ENVIRONMENT') and $container->get('ENVIRONMENT') === 'development')
? (new Monolog\Handler\StreamHandler('/logs/error.log')) ? (new Monolog\Handler\StreamHandler('/logs/error.log'))
->setFormatter($container->get(Monolog\Formatter\LineFormatter::class)) ->setFormatter($container->get(Monolog\Formatter\LineFormatter::class))
: (new Monolog\Handler\RotatingFileHandler('/logs/error.log', 10)) : (new Monolog\Handler\RotatingFileHandler('/logs/error.log', 10))
->setFormatter($container->get(Monolog\Formatter\LineFormatter::class)), ->setFormatter($container->get(Monolog\Formatter\LineFormatter::class)),
Monolog\Level::Error, Monolog\Level::Warning,
Monolog\Level::Error Monolog\Level::Error
), );
new Monolog\Handler\FilterHandler( 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') ($container->has('ENVIRONMENT') and $container->get('ENVIRONMENT') === 'development')
? (new Monolog\Handler\StreamHandler('/logs/critical.log')) ? (new Monolog\Handler\StreamHandler('/logs/critical.log'))
->setFormatter($container->get(Monolog\Formatter\LineFormatter::class)) ->setFormatter($container->get(Monolog\Formatter\LineFormatter::class))
: (new Monolog\Handler\RotatingFileHandler('/logs/critical.log', 10)) : (new Monolog\Handler\RotatingFileHandler('/logs/critical.log', 10))
->setFormatter($container->get(Monolog\Formatter\LineFormatter::class)), ->setFormatter($container->get(Monolog\Formatter\LineFormatter::class)),
Monolog\Level::Critical 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),