我在为单日志配置而苦苦挣扎了很长一段时间,希望你能帮助我。
我希望我的应用程序记录
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
组处理程序:此处理程序对其他处理程序进行分组。每条记录 收到的将发送到配置它的所有处理程序。