gentenox / sentry-monolog-handler
为Monolog定制的Sentry处理器,用于将日志上下文数据发送到Sentry事件,并专注于易用性和优雅的语法。
v2.0.1
2022-07-06 12:49 UTC
Requires
- php: >=8.1
- sentry/sentry-symfony: >=4.2
- symfony/monolog-bundle: >=3.8
README
为Monolog定制的Sentry处理器,用于将日志上下文数据发送到Sentry事件,并带有额外的事件信息,同时注重易用性和优雅的语法。
安装
使用Composer安装
您可以使用Composer包管理器安装此包。您可以在项目根目录中运行以下命令进行安装:
composer require gentenox/sentry-monolog-handler
将monolog处理器配置添加到config/packages/monolog.yaml
monolog: handlers: sentry: type: service id: monolog_context_handler
在services.yaml中添加新服务
monolog_context_handler: class: SentryMonologHandler\MonologContextHandler arguments: $hub: '@Sentry\State\HubInterface' $level: !php/const Monolog\Logger::ERROR
基本用法
以下示例使用了实现Psr\Log\LoggerInterface
的Monolog logger
记录带上下文数据的错误
在此示例中,sentry错误处理器接收日志上下文数据并将其作为sentry 事件上下文数据发送到Sentry
$logger->error('Cannot find existing order for user', [ 'user_id' => $user->getId() ]);
使用特定的Sentry属性记录
在此示例中,sentry错误处理器接收日志上下文数据并处理特定的属性,如tags
和fingerprint
。这些特定属性将不会添加到日志中,仅用于向Sentry提供额外的事件信息。
$logger->error('Invalid postback received', [ MonologFields::Tags->value => ['scope' => 'postback_validation'] MonologFields::Fingerprint->value => ['postback_validation_fingerprint'] ]);