[英]Python logger prints line twice without configure_logging()
使用 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 文件。 檢查這一點,我發現在我的程序開始時,相同的文件輸出了一些日志而沒有重復行。 我試圖找出它究竟發生在哪一點,但不知何故我被困在這里。
我還閱讀了使用 Python Logging 出現兩次的日志消息,但我根本沒有使用configure_logging
。
看起來您在此過程中的某處添加了一個額外的處理程序。 我會在代碼中搜索 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 ===
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.