簡體   English   中英

如何設置 Python 日志級別?

[英]How do I set the Python log level?

運行這個

import logging

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

logger.warning("warning")
logger.info("info")
logger.debug("debug")

只打印“警告”。 我希望它打印所有三個消息。 我究竟做錯了什么?

我知道這應該是世界上最基本的事情,但它讓我難住了,Python 文檔在這一點上令人困惑。

你從來沒有調用logging.basicConfig() (或類似的東西)來建立任何處理程序。 因此,對logger.warning調用會為您調用它,這會將日志記錄級別重置為logging.WARNING (從技術上講,文檔只提到了模塊級函數logging.warning等。為您調用logging.basicConfig ,所以我不知道這個解釋是否完全正確。但是調用basicConfig確實可以解決問題。)

import logging

logging.basicConfig()
logger = logging.getLogger(__name__)
logger.setLevel(logging.DEBUG)

logger.warning("warning")
logger.info("info")
logger.debug("debug")

我在詢問后幾乎立即就想到了這一點。

import logging

logging.getLogger(__name__)
logging.basicConfig(level=logging.DEBUG)

logging.warning("warning")
logging.info("info")
logging.debug("debug")

該文檔令人困惑,因為它跳到了記錄器自定義的細節中,而沒有將最低限度的模塊級示例放在前面。 希望這篇文章可以幫助糾正這個問題。

這與Set logging levels本質上是相同的問題,但我沒有回答,因為它比那里的要小一些。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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