PSR-15 middleware for log PSR-7 HTTP messages using PSR-3 logger
This middleware provide framework-agnostic possibility to log request and response messages to PSR-3 logger. Support double and single (PSR-15) pass middleware.
composer require php-middleware/log-http-messages
To log http messages you need pass into LogRequestMiddleware
implementation of
PhpMiddleware\LogHttpMessages\Formatter\ServerRequestFormatter
,
PhpMiddleware\LogHttpMessages\Formatter\ResponseFormatter
,
instance Psr\Log\LoggerInterface
and add this middleware to your middleware runner.
You can also set log level (Psr\Log\LogLevel::INFO
as default) and log message (Request/Response
as default).
Provided implementation of formatters:
PhpMiddleware\LogHttpMessages\Formatter\EmptyMessageFormatter
,PhpMiddleware\LogHttpMessages\Formatter\ZendDiactorosToArrayMessageFormatter
,PhpMiddleware\LogHttpMessages\Formatter\ZendDiactorosToStringMessageFormatter
.
$formatter = PhpMiddleware\LogHttpMessages\Formatter\ZendDiactorosToArrayMessageFormatter();
$logMiddleware = new PhpMiddleware\LogHttpMessages\LogMiddleware($formatter, $formatter, $logger);
$app = new MiddlewareRunner();
$app->add($logMiddleware);
$app->run($request, $response);
Middleware tested on:
Middleware should works with:
And any other modern framework supported PSR-15 middlewares and PSR-7 and PSR-3 implementation logger.