我在很长一段时间内都在努力配合monolog配置,并希望你能帮助我。
我希望我的应用程序能够记录
1)从通知向上发生的事情
2)但是如果出现错误,则所有可用日志(或者如果可能的话仅用于向上信息所有日志)。
这就是我可能会如何工作:从 fingers_crossed 和流收集日志,对它们进行重复数据删除并将它们发送到syslog
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
您是否有人看到我的错误,或者对哪些处理程序可以合并哪些合并更深入了解?
目前我只看到错误日志行。
答案 0 :(得分:0)
您可以尝试使用组处理程序。
# 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
GroupHandler :此处理程序将其他处理程序分组。每一条记录 receive将发送给它配置的所有处理程序。