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