rtheunissen / guzzle-log-middleware
Guzzle中间件,用于记录请求和响应
v2.0.0
2023-07-19 20:04 UTC
Requires
- php: >=7.2
- guzzlehttp/guzzle: ~6.0|^7.0
- psr/log: ^1.0|^2.0|^3.0
Requires (Dev)
- mockery/mockery: ^1.6
- phpunit/phpunit: ^9.3
Suggests
- monolog/monolog: Recommended PSR-3 logger
README
安装
composer require rtheunissen/guzzle-log-middleware
使用方法
use Concat\Http\Middleware\Logger;
记录器
您可以使用PSR-3记录器(如Monolog)或接受日志级别、消息和数组上下文的可调用对象。
$middleware = new Logger($logger);
或
$middleware = new Logger(function ($level, $message, array $context) { // Log the message });
日志级别
您可以设置一个字符串形式的日志级别或接受响应的可调用对象。如果未设置响应,则可以假设它是一个仅请求的日志,或者请求已被拒绝。如果没有设置日志级别,将使用默认日志级别,对于状态码>=400,为LogLevel::NOTICE
,否则为LogLevel::INFO
。
use Psr\Log\LogLevel; $middleware->setLogLevel(LogLevel::DEBUG);
或
$middleware->setLogLevel(function ($response) { // Return log level });
格式化器
您可以设置消息格式化为MessageFormatter或接受请求、响应以及请求被拒绝时的原因的可调用对象。
$middleware->setFormatter($formatter);
或
$middleware->setFormatter(function ($request, $response, $reason) { // Return log message });
或
$middleware = new Logger($logger, $formatter);
请求记录
只有在接收到响应时,请求才会被记录。您可以通过使用$middleware->setRequestLoggingEnabled(true)
启用请求记录,这将记录请求的发送以及接收到的响应。在这种情况下,任何$response
引用都将为null
,仅当存在请求时。
中间件
此包设计为作为Guzzle 6/7 中间件运行。