gentenox / sentry-monolog-handler

为Monolog定制的Sentry处理器,用于将日志上下文数据发送到Sentry事件,并专注于易用性和优雅的语法。

v2.0.1 2022-07-06 12:49 UTC

This package is auto-updated.

Last update: 2024-09-06 17:51:32 UTC


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错误处理器接收日志上下文数据并处理特定的属性,如tagsfingerprint。这些特定属性将不会添加到日志中,仅用于向Sentry提供额外的事件信息。

$logger->error('Invalid postback received', [
    MonologFields::Tags->value => ['scope' => 'postback_validation']
    MonologFields::Fingerprint->value => ['postback_validation_fingerprint']
]);