前言:
在软件测试的日常工作中,日志是个非常重要的模块
对于测试来说,日志的作用主要有以下四点:
1.调试程序
2.了解系统程序运行的情况是否正常
3.系统城西运行故障分析和问题定位
4.用来做用户行为分析和数据统计
因此在编写自动化测试脚本和搭建自动化测试框架时,最好加上日志的收集功能,可以通过日志来定位问题。
正文
相关概念
在自定义日志之前,我们需要了解如下信息:
- 日志收集器
可以理解为用于收集日志信息的容器; - 日志级别(Level):
常见的日志级别有:debug、info、warning、error以及critical - 输出渠道(Handle):
控制台输出:StreamHandle
将日志信息保存在文件中:FileHandle - 日志格式(Format):
一般包含如下信息:日志时间-日志名称-日志级别名称-文件名称-行号-日志信息等
示例
1 # 4、设置日志的输出格式
2 fmt = "%(asctime)s %(name)s %(levelname)s %(filename)s-%(lineno)d:%(message)s"
3 formatter = logging.Formatter(fmt)
在python-logging模块中,默认的是root日志收集器,默认的输出级别为:WARNING
自定义日志的操作流程
- 导入logging模块:import logging
- 创建日志收集器:logger = logging.getLogger(“日志收集器的name”)
- 设置日志收集器的日志级别:logger.setLevel(logging.INFO) #设置收集器的级别为INFO
- 给日志收集器创建输出渠道(根据第一部分的内容知:日志输出渠道包含控制台输出和文件输出):下面以控制台输出为例进行介绍,文件输出与之类似
4.1 创建日志的输出渠道:handle1 = logging.StreamHandle()
4.2 可以单独设置日志输出渠道的级别:handle1.setLevel(logging.ERROR) 此步骤可选
【特殊说明】
4.3 在未设置日志输出渠道的日志级别时,默认使用日志收集器设置的Level
4.4 若需单独设置日志输出渠道的日志级别,则它的日志级别需高于日志收集器级别,否则设置无效。 - 设置日志输出的内容格式
1 # 设置日志的输出格式
2 fmt = "%(asc