Files
oficial/cli/setup/setups/logs.php

84 lines
4.6 KiB
PHP
Raw Normal View History

2023-11-25 00:56:18 -03:00
<?php
use Psr\Container\ContainerInterface;
return [
Psr\Log\LoggerInterface::class => function(ContainerInterface $container) {
2025-05-13 16:17:47 -04:00
$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'))
2025-05-12 19:44:00 -04:00
->setFormatter($container->get(Monolog\Formatter\LineFormatter::class))
2025-05-13 16:17:47 -04:00
: (new Monolog\Handler\RotatingFileHandler('/logs/debug.log', 10))
2025-05-12 19:44:00 -04:00
->setFormatter(new Monolog\Formatter\LineFormatter(null, null, false, false, true)),
2025-05-13 16:17:47 -04:00
Monolog\Level::Debug,
2025-05-15 10:53:59 -04:00
Monolog\Level::Debug,
false
2025-05-13 16:17:47 -04:00
);
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'))
2025-05-12 19:44:00 -04:00
->setFormatter($container->get(Monolog\Formatter\LineFormatter::class))
2025-05-13 16:17:47 -04:00
: (new Monolog\Handler\RotatingFileHandler('/logs/info.log', 10))
2025-05-12 19:44:00 -04:00
->setFormatter(new Monolog\Formatter\LineFormatter(null, null, false, false, true)),
2025-05-13 16:17:47 -04:00
Monolog\Level::Info,
Monolog\Level::Notice,
2025-05-15 10:53:59 -04:00
false
2025-05-13 16:17:47 -04:00
);
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,
2025-05-15 10:53:59 -04:00
Monolog\Level::Error,
false
2025-05-13 16:17:47 -04:00
);
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, [
2023-11-25 00:56:18 -03:00
$container->get(Monolog\Processor\PsrLogMessageProcessor::class),
$container->get(Monolog\Processor\IntrospectionProcessor::class),
$container->get(Monolog\Processor\MemoryUsageProcessor::class),
$container->get(Monolog\Processor\MemoryPeakUsageProcessor::class)
2025-05-16 12:54:52 -04:00
], $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));
2023-11-25 00:56:18 -03:00
}
];