【问题标题】:Python logger prints line twice without configure_logging()Python 记录器在没有 configure_logging() 的情况下打印行两次
【发布时间】:2020-01-17 10:30:00
【问题描述】:

当使用 python 记录器时,我的程序开始正常记录,但在某些时候,日志输出开始输出两次行,如下所示:

DEBUG:pluginbrowser:Scanning plugs
DEBUG:pluginbrowser:Doing good stuff
....
INFO:pluginbrowser:=== doing something ===
=== doing something ===

目前我所有的 python 文件都包含该行

LOGGER = logging.getLogger(__name__)
LOGGER.setLevel(logging.DEBUG)

因此,双重消息来自 pluginbrowser.py 文件。检查这个,我发现在我的程序开始时,相同的文件输出了一些日志而没有加倍行。我试图找出它究竟发生在什么时候,但我不知何故被困在这里。

我也读过log messages appearing twice with Python Logging,但我根本没有使用configure_logging

【问题讨论】:

    标签: python-2.7 python-logging


    【解决方案1】:

    看起来你在途中的某个地方添加了一个额外的处理程序。 我会在代码中搜索 addHandler 。您还可以调试和观看 logger.root.handlers

    这就是我如何重现你的效果:

    In [1]: import logging
    
    In [2]: logging.basicConfig(level=logging.DEBUG)
    
    In [3]: logger = logging.getLogger('pluginbrowser')
    
    In [4]: logger.info('=== doing something ===')
    INFO:pluginbrowser:=== doing something ===
    
    In [5]: logging.root.addHandler(logging.StreamHandler())
    
    In [6]: logger.info('=== doing something ===')
    INFO:pluginbrowser:=== doing something ===
    === doing something ===
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-22
      • 2010-12-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-24
      相关资源
      最近更新 更多