在我的应用程序中有几个地方我将异常作为业务逻辑的一部分抛出,但我不需要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
答案 0 :(得分:0)
正如您在ExceptionListener
中所看到的,AccessDeniedException
不应记录为正常异常,而应记录为DEBUG级别的特殊消息。
如果您在生产日志文件中看到这些消息,则应检查为Monolog配置的最低级别。我建议设置它注意。