wieni/ wmsentry

用于将错误发送到Sentry的Drupal 9模块。

维护者

详细信息

github.com/wieni/wmsentry

源代码

问题

安装次数: 17,207

依赖者: 0

建议者: 0

安全: 0

星标: 0

关注者: 8

分支: 1

开放问题: 5

类型:drupal-module

2.1.0 2023-09-12 15:15 UTC

README

Latest Stable Version Total Downloads License

用于将错误发送到Sentry的Drupal 9模块。

为什么?

  • 我们使用Sentry来监控我们的网站并跟踪错误
  • 我们没有找到现有的(稳定)模块,该模块使用Sentry SDK的v2版本将Sentry与Drupal集成。

安装

此模块需要PHP 8.0或更高版本,并使用Sentry PHP包(sentry/sentry),该包不依赖于任何特定的发送HTTP消息的库。相反,它使用Httplug让用户选择他们想要的任何PSR-7实现和HTTP客户端。

如果您只想快速开始,应运行以下命令

composer require wieni/wmsentry nyholm/psr7 php-http/guzzle6-adapter

有关更多信息,请参阅sentry/sentry-php存储库README中的安装部分。

它是如何工作的?

配置

启用后,您可以通过位于/admin/config/development/logging/sentry的设置表单配置模块。

要更改模块的配置,用户需要administer wmsentry settings权限。

要动态设置环境、发布或其他配置值,您可以在settings.php中覆盖配置

$config['wmsentry.settings'] = [
    'dsn' => $_ENV['SENTRY_DSN'],
    'environment' => $_SERVER['APP_ENV'],
];

事件

Drupal\wmsentry\WmsentryEvents::BEFORE_BREADCRUMB

在将面包屑添加到作用域之前调用此函数。如果函数没有返回任何内容,则面包屑将被丢弃。回调函数通常获取一个名为“提示”的第二个参数,该参数包含创建面包屑的原始对象,以便进一步自定义面包屑的外观。

Drupal\wmsentry\WmsentryEvents::BEFORE_SEND

此函数可以返回修改后的事件对象或什么都不返回以跳过报告事件。例如,在发送之前手动删除PII可以用于此目的。

Drupal\wmsentry\WmsentryEvents::SCOPE_ALTER

在将作用域添加到捕获的事件之前调用此函数。作用域包含应隐式与Sentry事件一起发送的数据。它可以包含上下文数据、额外参数、级别覆盖、指纹等。

Drupal\wmsentry\WmsentryEvents::OPTIONS_ALTER

在创建带有选项对象的客户端之前调用此函数。选项对象是Sentry客户端的配置容器。

通过HTTP端点设置发布ID

此模块提供了一个HTTP端点,可以用于设置Sentry发布ID而无需登录。这在通过API创建新的Sentry发布时非常有用,例如在CI管道中。

端点是/sentry/set-release,其安全性与core/rebuild.php脚本相同(参见文档)。发布ID可以通过release查询参数传递。以下是一个示例调用

/sentry/set-release?release=exampleproject@62d50f53&timestamp=1614934032&token=XXE6H4wwVC6x5I6QnTPFTj-hSksNfgUpndv9X-3lC7Y

变更日志

此项目的所有重大更改都将记录在CHANGELOG文件中。

安全

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

许可证

遵循MIT许可证发布。更多信息请参阅LICENSE文件。