Files
myep/src/Logger/RequestInfoProcessor.php
T

36 lines
849 B
PHP

<?php
declare(strict_types=1);
namespace App\Logger;
use Monolog\Attribute\AsMonologProcessor;
use Monolog\LogRecord;
use Symfony\Component\HttpFoundation\RequestStack;
/**
* Enriches log records with HTTP request context.
*
* Adds the current request URI and method to the log record's extra data,
* enabling correlation of log entries with specific HTTP requests.
*/
#[AsMonologProcessor]
class RequestInfoProcessor
{
public function __construct(private readonly RequestStack $requestStack)
{
}
public function __invoke(LogRecord $record): LogRecord
{
if (null == $request = $this->requestStack->getMainRequest()) {
return $record;
}
$record['extra']['uri'] = $request->getRequestUri();
$record['extra']['method'] = $request->getMethod();
return $record;
}
}