Python中logger模块的使用教程

发布时间 2023-06-02 16:12:24作者: 思念殇千寻

  参考模块:

  https://www.digitalocean.com/community/tutorials/how-to-use-logging-in-python-3

  logger是python的内置模块,用以输出代码运行过程中的运行情况,极大的方便了我们的debug过程。参考资料中列出了使用logger相比于print优越的地方:

  1. 使用print很难和代码的正常输出区分开

  2. 使用print没有办法一次性失能或移除所有的debug语句

  3. 使用print不能生成一个统一可读性好的的logger日志文件

  一个最简单的使用场景,首先用下面的代码import logging包,然后将logger等级设置为DEBUG:

import logging

logging.basicConfig(level=logging.DEBUG)

  然后在代码中需要输出debug语句的地方将print替换成logging:

logging.debug("This is for debug.")

  实际上,上面的这种用法直接但并不标准,标准的做法是定义一个logger,这样的话输入logger日志的时候就会显示定义logger的名字,更容易阅读:

logger1 = logging.getLogger("module_1")
logger2 = logging.getLogger("module_2")

logger1.debug("Module 1 debugger")
logger2.debug("Module 2 debugger")

  如果想把logging语句输出到文件,只需要在basicConfig部分再添加一个filename参数,这样结果就会输出到日志文件中:

logging.basicConfig(filename="test.log", level=logging.DEBUG)

  基本的用法就是这些,实际上logging显然不仅只有debug而是还有其他非常多的等级,如下表所示:

   默认的等级是30,调成10就会输出所有大于等于10的了。