swisnl/guzzle-bugsnag-breadcrumbs-middleware

Guzzle 中间件,用于记录 Bugsnag 面包屑

1.1.0 2022-01-24 11:21 UTC

This package is auto-updated.

Last update: 2024-09-22 19:33:34 UTC


README

Latest Version on Packagist Software License Buy us a tree Build Status Coverage Status Quality Score Total Downloads Made by SWIS

这是一个为 Guzzle 7 设计的中间件,它会为所有请求记录 Bugsnag 面包屑

⚠️ 请确保您不会将敏感信息记录到 Bugsnag,并且正确配置此中间件以红字(隐藏)秘密。⚠️

安装

通过 Composer

composer require swisnl/guzzle-bugsnag-breadcrumbs-middleware

使用方法

use Bugsnag\Client as Bugsnag;
use GuzzleHttp\Client as Guzzle;
use GuzzleHttp\HandlerStack;
use Swis\Guzzle\Bugsnag\BreadcrumbMiddleware;

$bugsnag = Bugsnag::make();

$stack = HandlerStack::create();
$stack->push(new BreadcrumbMiddleware($bugsnag));
$client = new Guzzle(['handler' => $stack]);

现在当您发送请求时,将使用以下元数据记录一个 Bugsnag 面包屑:

  • 方法
  • uri
  • 状态码
  • 响应体(摘要),在客户端或服务器异常的情况下(状态码 >= 400)
  • 持续时间

Laravel

如果您使用 Laravel,可以直接使用 Bugsnag 门面创建中间件: BreadcrumbMiddleware::fromFacade()

配置

您可以使用构造函数参数配置中间件

$bugsnag

您的(预配置的)Bugsnag 客户端。

$name

面包屑的名称。

$redactedStrings

应从元数据中过滤的密钥字符串列表,例如 API 密钥。

$truncateBodyAt

响应体摘要的长度,在客户端或服务器异常的情况下添加到面包屑中。使用 null 禁用记录响应/请求体。

默认情况下,它不会记录请求体,并且仅在客户端或服务器异常的情况下记录响应体(状态码 >= 400)。如果您想更改此行为,您可以提供自己的 GuzzleHttp\BodySummarizerInterface 实现。例如,您可以使用默认的 GuzzleHttp\BodySummarizer 来记录所有请求和响应体。请注意不要记录敏感信息!

变更日志

有关最近更改的更多信息,请参阅 CHANGELOG

测试

composer test

贡献

有关详细信息,请参阅 CONTRIBUTINGCODE_OF_CONDUCT

安全

如果您发现任何与安全相关的问题,请通过电子邮件 security@swis.nl 反馈,而不是使用问题跟踪器。

鸣谢

许可协议

MIT 许可协议 (MIT)。有关更多信息,请参阅 许可文件

此软件包是 Treeware。如果您在生产环境中使用它,我们要求您 为世界购买一棵树 以感谢我们的工作。通过为 Treeware 森林做出贡献,您将为当地家庭创造就业机会并恢复野生动物栖息地。

SWIS ❤️ 开源

SWIS 是一家来自荷兰莱顿的 Web 代理机构。我们热爱与开源软件合作。