tigerman55 / sentry-delegator
Mezzio Delegator for Sentry
2.0
2020-12-29 14:21 UTC
Requires
- php: ^7.2
- laminas/laminas-dependency-plugin: ^1.0||^2.0
- laminas/laminas-servicemanager: ^3.4
- laminas/laminas-stratigility: ^3.1
- psr/container: ^1.0
- psr/http-message: ^1.0.1
- sentry/sdk: ^3.1
Requires (Dev)
- laminas/laminas-coding-standard: 2.0.0-alpha.3
- squizlabs/php_codesniffer: ^3.4
- webimpress/coding-standard: dev-master
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'], ]); });