Access Logs

This commit is contained in:
Juan Pablo Vial
2025-05-19 13:14:13 -04:00
parent b7c5e4ebc3
commit 312baa34f6
3 changed files with 33 additions and 5 deletions

View File

@ -15,7 +15,8 @@ return [
: (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::Error,
Monolog\Level::Error Monolog\Level::Error,
false
), ),
new Monolog\Handler\FilterHandler( new Monolog\Handler\FilterHandler(
($container->has('ENVIRONMENT') and $container->get('ENVIRONMENT') === 'development') ($container->has('ENVIRONMENT') and $container->get('ENVIRONMENT') === 'development')
@ -31,7 +32,8 @@ return [
->setFormatter($container->get(Monolog\Formatter\LineFormatter::class)) ->setFormatter($container->get(Monolog\Formatter\LineFormatter::class))
: new Monolog\Handler\RedisHandler($container->get(Predis\ClientInterface::class), 'logs:notices'), : new Monolog\Handler\RedisHandler($container->get(Predis\ClientInterface::class), 'logs:notices'),
Monolog\Level::Debug, Monolog\Level::Debug,
Monolog\Level::Info Monolog\Level::Info,
false
), ),
new Monolog\Handler\FilterHandler( new Monolog\Handler\FilterHandler(
($container->has('ENVIRONMENT') and $container->get('ENVIRONMENT') === 'development') ($container->has('ENVIRONMENT') and $container->get('ENVIRONMENT') === 'development')
@ -40,7 +42,8 @@ return [
: (new Incoviba\Common\Implement\Log\MySQLHandler($container->get(Incoviba\Common\Define\Connection::class))) : (new Incoviba\Common\Implement\Log\MySQLHandler($container->get(Incoviba\Common\Define\Connection::class)))
->setFormatter(new Incoviba\Common\Implement\Log\PDOFormatter()), ->setFormatter(new Incoviba\Common\Implement\Log\PDOFormatter()),
Monolog\Level::Notice, Monolog\Level::Notice,
Monolog\Level::Warning Monolog\Level::Warning,
false
) )
], [ ], [
$container->get(Incoviba\Common\Implement\Log\UserProcessor::class), $container->get(Incoviba\Common\Implement\Log\UserProcessor::class),
@ -61,5 +64,16 @@ return [
$container->get(Monolog\Processor\MemoryPeakUsageProcessor::class), $container->get(Monolog\Processor\MemoryPeakUsageProcessor::class),
$container->get(Monolog\Processor\PsrLogMessageProcessor::class), $container->get(Monolog\Processor\PsrLogMessageProcessor::class),
]); ]);
},
'accessLogger' => function(ContainerInterface $container) {
return new Monolog\Logger('access', [
new Monolog\Handler\RedisHandler($container->get(Predis\ClientInterface::class), 'logs:access'),
], [
$container->get(Monolog\Processor\IntrospectionProcessor::class),
$container->get(Monolog\Processor\WebProcessor::class),
$container->get(Monolog\Processor\MemoryUsageProcessor::class),
$container->get(Monolog\Processor\MemoryPeakUsageProcessor::class),
$container->get(Monolog\Processor\PsrLogMessageProcessor::class),
]);
} }
]; ];

View File

@ -22,5 +22,19 @@ return [
$container->get('simplePaths'), $container->get('simplePaths'),
$container->get('externalPaths'), $container->get('externalPaths'),
); );
},
Incoviba\Middleware\NotFound::class => function(ContainerInterface $container) {
return new Incoviba\Middleware\NotFound(
$container->get('accessLogger'),
$container->get(Psr\Http\Message\ResponseFactoryInterface::class),
$container->get(Incoviba\Common\Alias\View::class)
);
},
Incoviba\Middleware\NotAllowed::class => function(ContainerInterface $container) {
return new Incoviba\Middleware\NotAllowed(
$container->get('accessLogger'),
$container->get(Psr\Http\Message\ResponseFactoryInterface::class),
$container->get(Incoviba\Common\Alias\View::class)
);
} }
]; ];

View File

@ -18,11 +18,11 @@ return [
if ($global_variables['login']->isIn()) { if ($global_variables['login']->isIn()) {
$global_variables['user'] = $global_variables['login']->getUser(); $global_variables['user'] = $global_variables['login']->getUser();
} }
return new Incoviba\Common\Alias\View( return (new Incoviba\Common\Alias\View(
$folders->get('templates'), $folders->get('templates'),
$folders->get('cache'), $folders->get('cache'),
null, null,
$global_variables $global_variables
); ))->setOfuscator($container->get(Incoviba\Service\Ofuscator::class));
} }
]; ];