sjs / hermod
v0.2.1
2024-08-17 15:57 UTC
Requires
- guzzlehttp/guzzle: ^7.0
- neos/flow: ^8.0
This package is not auto-updated.
Last update: 2024-09-29 11:50:58 UTC
README
Hermod
为 Neos 简化配置的 Grafana Loki 日志记录和异常处理
📦 Packagist • 快速开始 • 功能
快速开始
重要
本包预配置了 Neos Flow 的 systemLogger
、securityLogger
以及 exceptionHandler
。
只需添加以下环境变量即可
LOKI_URI
:您的 Loki 实例的 URLLOKI_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