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.
{
"require": {
"php-middleware/log-http-messages": "^2.0.0"
}
}
To log http messages you need pass into LogRequestMiddleware
implementation of PhpMiddleware\LogHttpMessages\Formatter\HttpMessagesFormatter
,
instance Psr\Log\LoggerInterface
and add middleware to your middleware runner.
Third parameter is log level and it's optional (Psr\Log\LogLevel::INFO
as default).
There are tree implementation of PhpMiddleware\LogHttpMessages\Formatter\HttpMessagesFormatter
:
PhpMiddleware\LogHttpMessages\Formatter\RequestFormatter
to log request message,PhpMiddleware\LogHttpMessages\Formatter\ResponseFormatter
to log response message,PhpMiddleware\LogHttpMessages\Formatter\BothFormatter
to log request and response message.
$requestFormatter = PhpMiddleware\LogHttpMessages\Formatter\RequestFormatter();
$responseFormatter = PhpMiddleware\LogHttpMessages\Formatter\ResponseFormatter();
$formatter = new PhpMiddleware\LogHttpMessages\Formatter\BothFormatter(requestFormatter, responseFormatter);
$logMiddleware = new PhpMiddleware\LogHttpMessages\LogMiddleware(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 middlewares and PSR-7 and PSR-3 implementation logger.