monolog处理程序的组合似乎不起作用

时间:2017-06-30 12:37:17

标签: symfony monolog

我在很长一段时间内都在努力配合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

您是否有人看到我的错误,或者对哪些处理程序可以合并哪些合并更深入了解?

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

1 个答案:

答案 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将发送给它配置的所有处理程序。