我基于symfony2.x和symfony 3.x开展两个不同的项目。 我想设置两个项目,向我发送一个关键错误的电子邮件,但只记录错误级错误。
以下设置适用于symfony 2.8,但不适用于symfony3。
monolog:
handlers:
main_critical:
type: fingers_crossed
action_level: error
excluded_404:
- ^/
handler: grouped_critical
grouped_critical:
type: group
members: [streamed_critical, buffered_critical]
streamed_critical:
type: stream
path: "%kernel.logs_dir%/%kernel.environment%_critical.log"
level: critical
buffered_critical:
type: buffer
handler: swift_critical
swift_critical:
type: swift_mailer
from_email: "%error_mail_sender%"
to_email: "%critical_error_mail_recipients%"
subject: Critical error occurred!
level: critical
main_error:
type: fingers_crossed
action_level: error
handler: grouped_error
grouped_error:
type: group
members: [streamed_error]
streamed_error:
type: stream
path: "%log_file_path%"
level: error
错误是
致命错误:未捕获错误:最大功能嵌套级别为' 256'到达,流产!在第7行的/var/www/statistic/vendor/symfony/symfony/src/Symfony/Component/Debug/Exception/FatalErrorException.php
我不确定这个设置有什么问题,因为它适用于symfony 2.8但不适用于3.x.
但是,当我删除以下块时,它适用于symfony 3项目。但它会在没有设置的情况下通过电子邮件记录关键错误。
main_error:
type: fingers_crossed
action_level: error
handler: grouped_error
grouped_error:
type: group
members: [streamed_error]
streamed_error:
type: stream
path: "%log_file_path%"
level: error
有什么想法吗?
答案 0 :(得分:0)
我认为这是xdebug的一个问题,请尝试添加到你的php.ini或你的php配置文件中:
xdebug.max_nesting_level = 1000