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

127 lines
6.7 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') === 'false') {
2025-05-13 16:17:47 -04:00
$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) {
2025-06-30 15:52:28 -04:00
$handlers = [
'warning' => new Monolog\Handler\FilterHandler(
new Monolog\Handler\RotatingFileHandler('/logs/loop-error.log', 10),
2025-06-03 12:06:02 -04:00
Monolog\Level::Warning
2025-06-03 11:49:03 -04:00
),
2025-06-30 15:52:28 -04:00
'notice' => new Monolog\Handler\FilterHandler(
new Monolog\Handler\RotatingFileHandler('/logs/loop.log', 10),
2025-06-03 11:49:03 -04:00
Monolog\Level::Notice,
2025-06-03 12:06:02 -04:00
Monolog\Level::Notice
2025-05-16 12:54:52 -04:00
),
2025-06-30 15:52:28 -04:00
'debug' => new Monolog\Handler\FilterHandler(
new Monolog\Handler\RotatingFileHandler('/logs/loop-debug.log', 10),
2025-05-16 12:54:52 -04:00
Monolog\Level::Debug,
Monolog\Level::Debug
)
2025-06-30 15:52:28 -04:00
];
if ($container->has('ENVIRONMENT') and $container->get('ENVIRONMENT') === 'development') {
$handlers['warning'] = new Monolog\Handler\FilterHandler(
new Monolog\Handler\StreamHandler('/logs/loop-error.log'),
Monolog\Level::Warning);
$handlers['notice'] = new Monolog\Handler\FilterHandler(
new Monolog\Handler\StreamHandler('/logs/loop.log'),
Monolog\Level::Notice, Monolog\Level::Notice);
$handlers['debug'] = new Monolog\Handler\FilterHandler(
new Monolog\Handler\StreamHandler('/logs/loop-debug.log'),
Monolog\Level::Debug, Monolog\Level::Debug);
}
return new Monolog\Logger('loop', $handlers, [], $container->get(DateTimeZone::class));
},
'QueueLogger' => function(ContainerInterface $container) {
$handlers = [
'warning' => new Monolog\Handler\FilterHandler(
new Monolog\Handler\RotatingFileHandler('/logs/queue-error.log', 10),
Monolog\Level::Warning
),
'notice' => new Monolog\Handler\FilterHandler(
new Monolog\Handler\RotatingFileHandler('/logs/queue.log', 10),
Monolog\Level::Notice,
Monolog\Level::Notice
),
'debug' => new Monolog\Handler\FilterHandler(
new Monolog\Handler\RotatingFileHandler('/logs/queue-debug.log', 10),
Monolog\Level::Debug,
Monolog\Level::Debug
)
];
if ($container->has('ENVIRONMENT') and $container->get('ENVIRONMENT') === 'development') {
$handlers['warning'] = new Monolog\Handler\FilterHandler(
new Monolog\Handler\StreamHandler('/logs/queue-error.log'),
Monolog\Level::Warning);
$handlers['notice'] = new Monolog\Handler\FilterHandler(
new Monolog\Handler\StreamHandler('/logs/queue.log'),
Monolog\Level::Notice, Monolog\Level::Notice);
$handlers['debug'] = new Monolog\Handler\FilterHandler(
new Monolog\Handler\StreamHandler('/logs/queue-debug.log'),
Monolog\Level::Debug, Monolog\Level::Debug);
}
return new Monolog\Logger('queue', $handlers, [], $container->get(DateTimeZone::class));
2023-11-25 00:56:18 -03:00
}
];