FIX: Request log processor no funciona
This commit is contained in:
@ -1,30 +0,0 @@
|
|||||||
<?php
|
|
||||||
namespace Incoviba\Common\Implement\Log\Processor;
|
|
||||||
|
|
||||||
use Psr\Http\Message\ServerRequestInterface;
|
|
||||||
use Monolog\LogRecord;
|
|
||||||
use Monolog\Processor\ProcessorInterface;
|
|
||||||
|
|
||||||
class Request implements ProcessorInterface
|
|
||||||
{
|
|
||||||
public function __construct(protected ServerRequestInterface $request) {}
|
|
||||||
|
|
||||||
public function __invoke(LogRecord $record): LogRecord
|
|
||||||
{
|
|
||||||
$serverFilters = [
|
|
||||||
'HTTP_',
|
|
||||||
'QUERY_',
|
|
||||||
'REDIRECT_',
|
|
||||||
'REMOTE_',
|
|
||||||
'REQUEST_',
|
|
||||||
];
|
|
||||||
$serverParams = array_filter($this->request->getServerParams(),
|
|
||||||
fn($key) => count(array_filter($serverFilters, fn($prefix) => str_starts_with($key, $prefix))) > 0,
|
|
||||||
ARRAY_FILTER_USE_KEY);
|
|
||||||
$record->extra['request'] = [
|
|
||||||
'server' => $serverParams,
|
|
||||||
'headers' => $this->request->getHeaders(),
|
|
||||||
];
|
|
||||||
return $record;
|
|
||||||
}
|
|
||||||
}
|
|
@ -3,6 +3,16 @@
|
|||||||
use Psr\Container\ContainerInterface;
|
use Psr\Container\ContainerInterface;
|
||||||
|
|
||||||
return [
|
return [
|
||||||
|
Monolog\Processor\WebProcessor::class => function(ContainerInterface $container) {
|
||||||
|
return new Monolog\Processor\WebProcessor(null, [
|
||||||
|
'HTTP_X_FORWARDED_FOR',
|
||||||
|
'HTTP_CLIENT_IP',
|
||||||
|
'HTTP_X_CLIENT_IP',
|
||||||
|
'HTTP_X_REAL_IP',
|
||||||
|
'REMOTE_ADDR',
|
||||||
|
'REMOTE_HOST',
|
||||||
|
]);
|
||||||
|
},
|
||||||
Monolog\Formatter\LineFormatter::class => function(ContainerInterface $container) {
|
Monolog\Formatter\LineFormatter::class => function(ContainerInterface $container) {
|
||||||
return (new Monolog\Formatter\LineFormatter(null, null, false, false, true))
|
return (new Monolog\Formatter\LineFormatter(null, null, false, false, true))
|
||||||
->setBasePath('/code/');
|
->setBasePath('/code/');
|
||||||
@ -59,7 +69,6 @@ return [
|
|||||||
return new Monolog\Logger('login', [
|
return new Monolog\Logger('login', [
|
||||||
new Monolog\Handler\RedisHandler($container->get(Predis\ClientInterface::class), 'logs:login'),
|
new Monolog\Handler\RedisHandler($container->get(Predis\ClientInterface::class), 'logs:login'),
|
||||||
], [
|
], [
|
||||||
$container->get(Incoviba\Common\Implement\Log\Processor\Request::class),
|
|
||||||
$container->get(Monolog\Processor\IntrospectionProcessor::class),
|
$container->get(Monolog\Processor\IntrospectionProcessor::class),
|
||||||
$container->get(Monolog\Processor\WebProcessor::class),
|
$container->get(Monolog\Processor\WebProcessor::class),
|
||||||
$container->get(Monolog\Processor\MemoryUsageProcessor::class),
|
$container->get(Monolog\Processor\MemoryUsageProcessor::class),
|
||||||
@ -71,7 +80,6 @@ return [
|
|||||||
return new Monolog\Logger('access', [
|
return new Monolog\Logger('access', [
|
||||||
new Monolog\Handler\RedisHandler($container->get(Predis\ClientInterface::class), 'logs:access'),
|
new Monolog\Handler\RedisHandler($container->get(Predis\ClientInterface::class), 'logs:access'),
|
||||||
], [
|
], [
|
||||||
$container->get(Incoviba\Common\Implement\Log\Processor\Request::class),
|
|
||||||
$container->get(Monolog\Processor\IntrospectionProcessor::class),
|
$container->get(Monolog\Processor\IntrospectionProcessor::class),
|
||||||
$container->get(Monolog\Processor\WebProcessor::class),
|
$container->get(Monolog\Processor\WebProcessor::class),
|
||||||
$container->get(Monolog\Processor\MemoryUsageProcessor::class),
|
$container->get(Monolog\Processor\MemoryUsageProcessor::class),
|
||||||
|
Reference in New Issue
Block a user