PSR-15 middleware for log PSR-7 HTTP messages using PSR-3 logger
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
src
test
.gitignore
.travis.yml
LICENSE
README.md
composer.json
phpunit.xml

README.md

log-http-messages middleware Build Status

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.

Installation

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);

It's just works with any modern php framework and logger!

Middleware tested on:

Middleware should works with:

And any other modern framework supported PSR-15 middlewares and PSR-7 and PSR-3 implementation logger.