Symfony3 Monolog用于电子邮件和文件记录的设置

时间:2018-06-11 14:14:29

标签: symfony symfony-3.3 symfony-2.8 php-7.1 monolog

我基于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

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我认为这是xdebug的一个问题,请尝试添加到你的php.ini或你的php配置文件中:

xdebug.max_nesting_level = 1000