the-toster/http-message-logger

将PSR MessageInterface实例记录到LoggerInterface

0.0.4 2021-12-10 08:54 UTC

This package is auto-updated.

Last update: 2024-09-10 15:01:36 UTC


README

Build Status Psalm coverage

HTTP消息记录器

composer require the-toster/http-message-logger 

用于调试API的小型记录器。
你可以这样使用它

use HttpMessageLogger\LoggerFactory;
/** @var \Psr\Log\LoggerInterface $psrLogger */
$logger = LoggerFactory::default($psrLogger, 'Prefix for log message');

/** @var \Psr\Http\Message\RequestInterface $request */
$logger->logRequest($request); 

// ... doing stuff, calculating response 

/** @var \Psr\Http\Message\ResponseInterface $response */
$logger->logResponse($response, $request); 

它将完整地输出 $request$response 到你的 $psrLogger,并使用相应的请求哈希进行标记。

此外,你可以使用自己的格式化器和可选的默认日志级别来实例化它

use HttpMessageLogger\Logger;
use HttpMessageLogger\Formatter\DefaultFormatter;
// ...

/** @var \Psr\Log\LoggerInterface $psrLogger */
$logger = new Logger($psrLogger, new DefaultFormatter('Prefix for log message'), $logLevel);

在记录响应时,你也可以省略 request,并且可以传递日志级别

$logger->logResponse($response);
$logger->logResponse($response, $request, 'info');

要自定义日志格式,只需实现你自己的 HttpMessageLogger\Formatter\FormatterInterface 即可 :)