簡體   English   中英

Python 記錄器在沒有 configure_logging() 的情況下打印兩次行

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM