繁体   English   中英

如何在 python 中设置日志记录级别?

[英]How to set logging level in python?

我有以下完整的 python (3.8.5) 代码示例

import logging
L = logging.getLogger(__name__)

def main():
    L.setLevel(logging.DEBUG)
    L.warning("This is warn")
    L.info("This is info")
    L.debug("This is debug")

if __name__ == "__main__":
    main()

这应该打印出所有三个短语,但只打印第一个(用于警告)。

如何规避这个错误?

您应该将L.setLevel切换到logging.basicConfig(level=...)

例如:

def main():
    logging.basicConfig(level=logging.DEBUG)
    L.warning("This is warn")
    L.info("This is info")
    L.debug("This is debug")

您使用的方法专门为此记录器设置了日志记录级别,这意味着特定记录器在登录较低级别时实际上不会做任何事情 - 它与进程和打印的日志记录级别无关。 使用logging.basicConfig您可以配置进程的日志级别,因此即使您有多个记录器,此级别也将确定哪些日志消息来自进程。

使用logging.basicConfig

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

def main():
    L.warning("This is warn")
    L.info("This is info")
    L.debug("This is debug")

if __name__ == "__main__":
    main()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM