the-toster / http-message-logger
将PSR MessageInterface实例记录到LoggerInterface
0.0.4
2021-12-10 08:54 UTC
Requires
- php: ^7.4|^8.0
- ext-json: *
- psr/http-message: ^1.0
- psr/log: *
Requires (Dev)
- guzzlehttp/psr7: ^1.7
- phpunit/phpunit: ^9.5
- vimeo/psalm: ^4.3
This package is auto-updated.
Last update: 2024-09-10 15:01:36 UTC
README
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
即可 :)