tigerman55/sentry-delegator

Mezzio Delegator for Sentry

2.0 2020-12-29 14:21 UTC

This package is auto-updated.

Last update: 2024-09-29 05:02:30 UTC


README

这是一个为服务 Sentry 使用的 Mezzio Delegator,利用了最新的 Sentry PHP SDK。唯一需要的配置是您的 Sentry 项目 DSN。您可以可选地添加一个环境,这将自动注册到您的 expressive 应用程序中。下面是一个示例配置。

return [
  'sentry' => [
    'dsn' => '[project dsn]',
    'environment' => '[environment]',
  ],
];

安装

您可以使用 Composer 安装 SentryDelegator。

$ composer require tigerman55/sentry-delegator

配置

要将您的配置绑定到 Sentry,您需要在应用程序早期某处调用以下命令。一个选择是将此放在 index.php 中,在容器初始化之后。

(new ConfigureSentry())($container->get('config'))

高级用法

您可以通过实现 ErrorListenerInterface 来创建自己的错误监听器。我还创建了 AsyncErrorListener 以处理如 react-php 和 swoole 这样的异步应用程序的错误。您可以在您的配置中利用这个功能。

此代理器支持 Sentry 上下文。要添加上下文,只需在合适的中间件中添加以下内容即可。

Sentry\configureScope(function (Scope $scope) use ($context) : void {
    $scope->setUser([
        'email'    => $context['email'],
        'username' => $context['username'],
    ]);
});