单日志处理程序的组合似乎不起作用



我在为单日志配置而苦苦挣扎了很长一段时间,希望你能帮助我。

我希望我的应用程序记录

1(从通知向上

2(但在出现错误的情况下,所有可用的日志(或者如果可能的话,仅针对所有日志向上的信息(。

这就是我的工作方式:从fingers_crossed中收集日志,删除重复数据并将它们发送到系统日志

handlers:
filter_for_errors:
type: fingers_crossed
action_level: error
handler: unique
standard:
type: stream
level:  notice
handler:  unique
formatter: monolog.formatter.session_request
unique:
type: deduplication
handler:  log2Syslog
log2Syslog:
type: syslog
facility: local5
ident: shop
formatter: monolog.formatter.session_request
level:  info

你们中的一个人是否看到了我的错误,或者对哪些处理程序可以组合和哪些不能有更深入的了解?

目前我只看到错误日志行。

您可以尝试使用处理程序。

# app/config/config_prod.yml
monolog:
handlers:
main:
type:         fingers_crossed
action_level: critical
handler:      grouped
grouped:
type:    group
members: [streamed, deduplicated]
streamed:
type:  stream
path:  '%kernel.logs_dir%/%kernel.environment%.log'
level: debug
deduplicated:
type:    deduplication
handler: swift
swift:
type:       swift_mailer
from_email: 'error@example.com'
to_email:   'error@example.com'
subject:    'An Error Occurred! %%message%%'
level:      debug
formatter:  monolog.formatter.html
content_type: text/html

更多信息在这里: http://symfony.com/doc/current/logging/monolog_email.html

https://github.com/Seldaek/monolog/blob/master/doc/02-handlers-formatters-processors.md

处理程序:此处理程序对其他处理程序进行分组。每条记录 收到的将发送到配置它的所有处理程序。

最新更新