sjs/hermod

安装: 2

依赖: 0

建议者: 0

安全性: 0

星标: 0

关注者: 1

分支: 0

开放问题: 0

类型:neos-package

v0.2.1 2024-08-17 15:57 UTC

This package is not auto-updated.

Last update: 2024-09-29 11:50:58 UTC


README

Hermod

为 Neos 简化配置的 Grafana Loki 日志记录和异常处理

📦 Packagist快速开始功能

快速开始

重要

本包预配置了 Neos Flow 的 systemLoggersecurityLogger 以及 exceptionHandler

只需添加以下环境变量即可

  • LOKI_URI:您的 Loki 实例的 URL
  • LOKI_USER:用户名
  • LOKI_TOKEN:访问令牌

功能

日志后端

缓冲日志后端。

类: SJS\Hermod\Log\Backend\LokiBackend

选项

示例

配置/Settings.Neos.Flow.yaml

Neos:
  Flow:
    log:
      psr3:
        'Neos\Flow\Log\PsrLoggerFactory':
          systemLogger:
            default:
              class: SJS\Hermod\Log\Backend\LokiBackend
              options:
                severityThreshold: "%LOG_DEBUG%"
                url: "%env:LOKI_URI%"
                user: "%env:LOKI_USER%"
                token: "%env:LOKI_TOKEN%"
                maxBufferSize: 300
                labels:
                  target: systemLogger

异常处理

生产类SJS\Hermod\Handler\ProductionExceptionHandler

调试类SJS\Hermod\Handler\DebugExceptionHandler

选项

异常处理分为两部分。异常处理器使用异常服务将数据发送到 Hermod。

异常服务
异常处理器

示例

配置/Settings.SJS.Hermod.yaml

SJS:
  Hermod:
    exceptionService:
      url: "%env:LOKI_URI%"
      user: "%env:LOKI_USER%"
      token: "%env:LOKI_TOKEN%"
      fallbackFile: "%FLOW_PATH_DATA%Logs/loki.log.exceptionService.jsonl"
      labels:
        target: exception

配置/Settings.Neos.Flow.yaml

Neos:
  Flow:
    error:
      exceptionHandler:
        className: SJS\Hermod\Handler\ProductionExceptionHandler

        defaultRenderingOptions:
          lokiIgnoreException: false

        renderingGroups:
          authenticationRequiredExceptions:
            matchingStatusCodes: [401]
            options:
              lokiIgnoreException: true

          accessDeniedExceptions:
            matchingStatusCodes: [403]
            options:
              lokiIgnoreException: true

注意

异常处理基于 Networkteam.SentryClient