Skip to content

php-middleware/log-http-messages

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

log-http-messages middleware Build Status

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

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

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

Middleware tested on:

Middleware should works with:

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