对于测试来讲,日志的重要性就不言而喻了。有些同学提交BUG的时候,虽然写了不少测试步骤,但是你描述的再多,不如一张日志截图好用。还有些同学分不清前后端的问题,甚至程序偷偷优化代码提交了一个BUG也没告诉你,如果你习惯测试的时候查看日志,很多问题都变的简单起来。
程序打印的日志有很多,对于Python来讲主要分为5个等级。
logging,python的官方库,打印日志用的,无需安装,使用时直接调
日志的五个等级(DEBUG/INFO/WARNING/ERROR/CRITICAL)
DEBUG (logging.debug)
调试日志信息:调试模式下的日志,只给程序员看的日志
INFO (logging.info)
重要日志信息:程序正常运行的时候输出的日志
WARN/WARNING (logging.warning)
警告日志信息:警告信息,当前程序还可以运行,后面有可能出现问题
ERROR (logging.error)
错误日志信息:程序执行过程中的错误信息
CRITICAL (logging.critical)
致命日志信息:发生严重错误,阻塞流程,程序可能无法继续运行
先来执行一个脚本执行结果:
日志收集器:
log = logging.getLogger() # 获取日志收集器,默认为root。
默认收集等级为WARNING。上面的执行结果只输出了3条,是因为等级高于WARNING的日志才会输出,WARNING为默认等级。
日志级别大小关系为:DEBUG < INFO < WARNING < ERROR < CRITICAL
如果要输出全部的日志,我们可以修改默认等级
logging.basicConfig(level=logging.DEBUG)
logging.basicConfig 用法和参数详解
我们游戏中看到的日志文件大部分包括几个特性,打印时间、打印内容、打印行号、指定日志文件名。我们可以通过设置 basicConfig()的 format 参数来定义日志的基本格式,看一下下面的例子。
根据以下参数自行解读为什么会有这样的输出。
日志记录的步骤
- 创建 logger
- 创建 handler
- 定义 formatter
- 给 handler 添加 formatter
- 给 logger 添加 handler