rtheunissen/guzzle-log-middleware

Guzzle中间件,用于记录请求和响应

v2.0.0 2023-07-19 20:04 UTC

This package is auto-updated.

Last update: 2024-09-19 23:14:25 UTC


README

Author License Latest Version Build Status Scrutinizer Scrutinizer Coverage

安装

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 中间件运行。