Symfony生产日志

时间:2018-03-04 07:33:18

标签: php symfony monolog

在Symfony 3中,无论如何我可以将所有错误写入生产日志,而无需设置调试模式?错误包括http 500错误或应用程序错误或由于错误标志在生产时设置为false而被静音的php错误。

生产的当前日志配置是

monolog:
    handlers:
        main:
            type: stream
            path: "%kernel.logs_dir%/%kernel.environment%.log"
            level: info
            channels: [!request, !event, !translation, !kernel, !security, !php, !snc_redis]
       php:
            type: stream
            path: "%kernel.logs_dir%/%kernel.environment%_php.log"
            level: warning
            channels: [php]

1 个答案:

答案 0 :(得分:1)

您可以使用默认的制作设置(取自monolog-bundle recipe):

monolog:
    handlers:
        main:
            type: fingers_crossed
            action_level: error
            handler: nested
            excluded_404s:
                # regex: exclude all 404 errors from the logs
                - ^/
        nested:
            type: stream
            path: "%kernel.logs_dir%/%kernel.environment%.log"
            level: debug

此配置发生的情况是Monolog在请求期间缓冲所有消息,但仅在出现错误时将其写入日志。这样,您就不会一直使用嘈杂的调试和信息消息“充斥”您的日志。只有在请求期间出现错误时,才会获得完整的日志信息。