Skip to content

Commit

Permalink
Add new processor that uses request instead of context
Browse files Browse the repository at this point in the history
  • Loading branch information
sunkan committed Nov 7, 2022
1 parent 44dca98 commit 68f1ffc
Showing 1 changed file with 30 additions and 0 deletions.
30 changes: 30 additions & 0 deletions src/Middleware/RequestIdProcessorMiddleware.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
<?php declare(strict_types=1);

namespace Stefna\Logger\Middleware;

use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\MiddlewareInterface;
use Psr\Http\Server\RequestHandlerInterface;
use Psr\Http\Message\ResponseInterface;
use Stefna\Logger\Logger;

final class RequestIdProcessorMiddleware implements MiddlewareInterface
{
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
{
$requestId = $request->getAttribute(Tracer::REQUEST_ID);
$mainLogger = Logger::getManager()->getMainLogger();
if ($requestId) {
if ($mainLogger instanceof \Monolog\Logger) {
$mainLogger->pushProcessor(static function ($record) use ($requestId) {
$record['context']['requestId'] = $requestId;
return $record;
});
}
}
else {
$mainLogger->warning('No request id found!');
}
return $handler->handle($request);
}
}

0 comments on commit 68f1ffc

Please sign in to comment.