繁体   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