swisnl / guzzle-sentry-breadcrumbs-middleware
Guzzle 中间件,用于记录 Sentry 面包屑
Requires
- php: >=7.4
- guzzlehttp/guzzle: ^7.2
- php-http/guzzle7-adapter: ^1.0
- sentry/sentry: ^3.21|^4.9
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.5
- illuminate/support: >=6.0
- phpunit/phpunit: >=9.5
- sentry/sentry-laravel: ^3.7|^4.8
This package is auto-updated.
Last update: 2024-09-19 08:50:58 UTC
README
这是一个 Guzzle 7 的 中间件,它为所有请求留下 Sentry 面包屑。
⚠️ 请确保您没有将敏感信息记录到 Sentry,并且正确配置此中间件以擦除机密信息。⚠️
安装
通过 Composer
composer require swisnl/guzzle-sentry-breadcrumbs-middleware
用法
use GuzzleHttp\Client as Guzzle; use GuzzleHttp\HandlerStack; use Swis\Guzzle\Sentry\BreadcrumbMiddleware; $stack = HandlerStack::create(); $stack->push(new BreadcrumbMiddleware()); $client = new Guzzle(['handler' => $stack]);
现在,当您发送请求时,将记录以下元数据的 Sentry 面包屑
- 方法
- URI
- 状态码
- 响应体(摘要),在客户端或服务器异常的情况下(状态码 >= 400)
- 持续时间
配置
您可以使用构造函数参数配置中间件
$category
面包屑的分类。
$message
面包屑的消息。
$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 是荷兰莱顿的一家网络机构。我们喜欢与开源软件合作。