Request Log Processor
This commit is contained in:
@ -1,18 +1,16 @@
|
|||||||
<?php
|
<?php
|
||||||
namespace Incoviba\Common\Implement\Log\Processor;
|
namespace Incoviba\Common\Implement\Log\Processor;
|
||||||
|
|
||||||
use Psr\Container\ContainerInterface;
|
|
||||||
use Psr\Http\Message\ServerRequestInterface;
|
use Psr\Http\Message\ServerRequestInterface;
|
||||||
use Monolog\LogRecord;
|
use Monolog\LogRecord;
|
||||||
use Monolog\Processor\ProcessorInterface;
|
use Monolog\Processor\ProcessorInterface;
|
||||||
|
|
||||||
class Request implements ProcessorInterface
|
class Request implements ProcessorInterface
|
||||||
{
|
{
|
||||||
public function __construct(protected ContainerInterface $container) {}
|
public function __construct(protected ServerRequestInterface $request) {}
|
||||||
|
|
||||||
public function __invoke(LogRecord $record): LogRecord
|
public function __invoke(LogRecord $record): LogRecord
|
||||||
{
|
{
|
||||||
$request = $this->container->get(ServerRequestInterface::class);
|
|
||||||
$serverFilters = [
|
$serverFilters = [
|
||||||
'HTTP_',
|
'HTTP_',
|
||||||
'QUERY_',
|
'QUERY_',
|
||||||
@ -20,12 +18,12 @@ class Request implements ProcessorInterface
|
|||||||
'REMOTE_',
|
'REMOTE_',
|
||||||
'REQUEST_',
|
'REQUEST_',
|
||||||
];
|
];
|
||||||
$serverParams = array_filter($request->getServerParams(),
|
$serverParams = array_filter($this->request->getServerParams(),
|
||||||
fn($key) => count(array_filter($serverFilters, fn($prefix) => str_starts_with($key, $prefix))) > 0,
|
fn($key) => count(array_filter($serverFilters, fn($prefix) => str_starts_with($key, $prefix))) > 0,
|
||||||
ARRAY_FILTER_USE_KEY);
|
ARRAY_FILTER_USE_KEY);
|
||||||
$record->extra['request'] = [
|
$record->extra['request'] = [
|
||||||
'server' => $serverParams,
|
'server' => $serverParams,
|
||||||
'headers' => $request->getHeaders(),
|
'headers' => $this->request->getHeaders(),
|
||||||
];
|
];
|
||||||
return $record;
|
return $record;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user