swisnl / guzzle-bugsnag-breadcrumbs-middleware
Guzzle 中间件,用于记录 Bugsnag 面包屑
Requires
- php: >=7.4
- bugsnag/bugsnag: ^3.20
- guzzlehttp/guzzle: ^7.2
Requires (Dev)
- bugsnag/bugsnag-laravel: ^2.21
- friendsofphp/php-cs-fixer: ^3.5
- phpunit/phpunit: >=9.5
This package is auto-updated.
Last update: 2024-09-22 19:33:34 UTC
README
这是一个为 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
贡献
有关详细信息,请参阅 CONTRIBUTING 和 CODE_OF_CONDUCT。
安全
如果您发现任何与安全相关的问题,请通过电子邮件 security@swis.nl 反馈,而不是使用问题跟踪器。
鸣谢
许可协议
MIT 许可协议 (MIT)。有关更多信息,请参阅 许可文件。
此软件包是 Treeware。如果您在生产环境中使用它,我们要求您 为世界购买一棵树 以感谢我们的工作。通过为 Treeware 森林做出贡献,您将为当地家庭创造就业机会并恢复野生动物栖息地。
SWIS ❤️ 开源
SWIS 是一家来自荷兰莱顿的 Web 代理机构。我们热爱与开源软件合作。