【问题标题】:event.DEBUG, doctrine.DEBUG, security.DEBUG make dev.log file hugely bigevent.DEBUG、doctrine.DEBUG、security.DEBUG 使 dev.log 文件变得非常大
【发布时间】:2017-10-12 14:55:44
【问题描述】:

我在 Symfony2 上运行一个应用程序。每当我加载页面或控制器时,dev.log 文件都会用这些行填充成千上万:

[2017-10-12 15:26:08] event.DEBUG: Notified event "kernel.response" to listener "Symfony\Bridge\Monolog\Handler\FirePHPHandler::onKernelResponse". [] []
[2017-10-12 15:26:08] event.DEBUG: Notified event "kernel.response" to listener "Sensio\Bundle\FrameworkExtraBundle\EventListener\CacheListener::onKernelResponse". [] []
[2017-10-12 15:26:08] event.DEBUG: Notified event "kernel.response" to listener "Symfony\Component\HttpKernel\EventListener\ResponseListener::onKernelResponse". [] []
[2017-10-12 15:26:08] event.DEBUG: Notified event "kernel.response" to listener "Symfony\Component\HttpKernel\EventListener\LocaleListener::onKernelResponse". [] []
[2017-10-12 15:26:08] event.DEBUG: Notified event "kernel.response" to listener "Symfony\Component\HttpKernel\Fragment\FragmentHandler::onKernelResponse". [] []
[2017-10-12 15:26:08] event.DEBUG: Notified event "kernel.response" to listener "Symfony\Component\Security\Http\RememberMe\ResponseListener::onKernelResponse". [] []
[2017-10-12 15:26:08] event.DEBUG: Notified event "kernel.response" to listener "Symfony\Component\HttpKernel\EventListener\ProfilerListener::onKernelResponse". [] []
[2017-10-12 15:26:08] event.DEBUG: Notified event "kernel.response" to listener "Symfony\Bundle\WebProfilerBundle\EventListener\WebDebugToolbarListener::onKernelResponse". [] []
[2017-10-12 15:26:08] event.DEBUG: Notified event "kernel.response" to listener "Symfony\Component\HttpKernel\EventListener\StreamedResponseListener::onKernelResponse". [] []
[2017-10-12 15:26:08] event.DEBUG: Notified event "kernel.terminate" to listener "Symfony\Bundle\SwiftmailerBundle\EventListener\EmailSenderListener::onKernelTerminate". [] []
[2017-10-12 15:26:09] event.DEBUG: Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\ProfilerListener::onKernelRequest". [] []
[2017-10-12 15:26:09] event.DEBUG: Notified event "kernel.request" to listener "Symfony\Bundle\FrameworkBundle\EventListener\SessionListener::onKernelRequest". [] []
[2017-10-12 15:26:09] event.DEBUG: Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\FragmentListener::onKernelRequest". [] []
[2017-10-12 15:26:09] event.DEBUG: Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\RouterListener::onKernelRequest". [] []
[2017-10-12 15:26:09] request.INFO: Matched route "getVersion" (parameters: "domain": "BID", "id": "7694", "_controller": "Sii\StimasBundle\Controller\UpdateFolderController::getVersion", "_route": "getVersion") [] []
[2017-10-12 15:26:09] event.DEBUG: Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\LocaleListener::onKernelRequest". [] []
[2017-10-12 15:26:09] event.DEBUG: Notified event "kernel.request" to listener "Symfony\Component\Security\Http\Firewall::onKernelRequest". [] []
[2017-10-12 15:26:09] security.DEBUG: Read SecurityContext from the session [] []
[2017-10-12 15:26:09] security.DEBUG: Reloading user from user provider. [] []
[2017-10-12 15:26:09] doctrine.DEBUG: SELECT t0.username AS username1, t0.username_canonical AS username_canonical2, t0.email AS email3, t0.email_canonical AS email_canonical4, t0.enabled AS enabled5, t0.salt AS salt6, t0
...thousands and thousands of the kind of same lines

这使得文件随着时间的推移变得非常非常大,而且非常烦人。

这是我的 config_dev.yml 文件:

imports:
    - { resource: config.yml }

framework:
    router:   { resource: "%kernel.root_dir%/config/routing_dev.yml" }
    profiler: { only_exceptions: false }

web_profiler:
    toolbar: true
    intercept_redirects: false

monolog:
    handlers:
        main:
            type:  stream
            path:  %kernel.logs_dir%/%kernel.environment%.log
            level: debug
        firephp:
            type:  firephp
            level: info
#        chromephp:
#            type:  chromephp
#            level: info

assetic:
    use_controller: true

#swiftmailer:
#    delivery_address: me@example.com

可能是什么问题以及如何解决?

【问题讨论】:

    标签: symfony debugging logging doctrine-orm symfony-2.2


    【解决方案1】:

    在您的config_dev 部分monolog 中,将debug 日志记录级别更改为更高级别,例如info 或“错误”。

    monolog:
      handlers:
        main:
            type: stream
            path: '%kernel.logs_dir%/%kernel.environment%.log'
            level: debug
            channels: ['!event']
    

    您可能还想设置fingers_crossed 来保存调试消息,但只有在发生错误时,here 才是文档。

    另一种方法是禁用特定的错误记录通道。 在channels 下添加['!event', '!doctrine', '!security'] 以相应地忽略特定渠道:“事件”、“教义”、“安全”。

    【讨论】:

    • 谢谢,我只是这样做了,但它只是摆脱了event.DEBUG。 doctrine.DEBUG、security.DEBUG 还在!
    • @kabrice 您现在使用的是什么级别?
    • 还有一个answer 展示了如何禁用特定频道,我更喜欢它。
    • 我使用level: debug。另一方面,我担心如果我禁用这些通道(安全、事件等),我可能会错过一些有用的调试消息,因为所有调试消息都不是无用的。
    • @kabrice 这样只有fingers_crossed过滤器或定期删除会有帮助。
    【解决方案2】:

    我会让调试选项保持启用状态,我会选择File Rotation:

    # app/config/config_dev.yml
    monolog:
        handlers:
            main:
                type:  rotating_file
                path:  '%kernel.logs_dir%/%kernel.environment%.log'
                level: debug
                # max number of log files to keep
                # defaults to zero, which means infinite files
                max_files: 10
    

    这是我目前使用的,完全不会打扰我,这样我可以保留调试消息以备不时之需,并保留固定数量的文件。

    或者..如果您愿意,您可以混合使用这两种解决方案。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-29
      • 1970-01-01
      • 2015-06-12
      • 2022-07-06
      • 2013-03-23
      相关资源
      最近更新 更多