没有记录的symfony2异常

时间:2014-06-01 14:37:49

标签: symfony monolog

在我的应用程序中有几个地方我将异常作为业务逻辑的一部分抛出,但我不需要Symfony2来生成和记录异常。

例如,当用户尝试暂时无法执行操作时,我会调用$ this-> createAccessDeniedException()并显示一条很好的错误消息。这不是应用程序故障,我不需要记录。大多数情况下,这是向用户发出的一条消息:“稍后再试,或者在您完成其他步骤之后再次尝试”。

我可以教它不记录某些案例,或者我是否严重使用例外情况,如果是这样,我该怎么做呢?

更新:我的配置:

monolog:
    handlers:
        main:
            type:         fingers_crossed
            action_level: error
            handler:      grouped
        grouped:
            type:       group
            members:    [streamed, buffered]
        streamed:
            type:       stream
            path:       %kernel.logs_dir%/%kernel.environment%.log
            level:      debug
        buffered:
            type:       buffer
            handler:    swift
        swift:
            type:       swift_mailer
            from_email: xxx@xxx.xxx
            to_email:   xxx@xxx.xxx
            subject:    "Error"
            level:      info

1 个答案:

答案 0 :(得分:0)

正如您在ExceptionListener中所看到的,AccessDeniedException不应记录为正常异常,而应记录为DEBUG级别的特殊消息。

如果您在生产日志文件中看到这些消息,则应检查为Monolog配置的最低级别。我建议设置它注意。