UI自动化学习笔记- 日志相关操作
- 2021 年 8 月 4 日
- 笔记
- 测试基础必备技能 - Selenium测试框架
一、日志相关
1、日志
概念:日志就是用于记录系统运行时的信息,对一个事件的记录,也称log
1.1 日志的作用
- 调试程序
- 了解系统程序运行的情况,是否正常
- 系统程序运行故障分析与问题定位
- 用来做用户行为分析和数据统计
1.2 日志级别
级别:指日志信息的优先级、重要性、严重程度
常见的日志级别
日志级别 描述 DEBUG 调试级别,打印非诚详细的日志信息,通畅用于对代码的调试 INFO 信息级别,打印一般的日志信息,突出强调程序的运行过程 WARNING 警告级别,打印警告日志信息,表明会出现潜在错误的情形,一般不影响软件的正常使用 ERROR 错误级别,打印错误异常信息,该级别的错误可能会导致系统的一些功能无法正常使用 CRITICAL 严重级别错误,一个严重的错误,这表明系统可能无法继续运行 说明
- 上面列表中的日志级别是从上到下一次升高,即:DEBUG< INFO<WARNING<ERROR<CRITICAL
- 当程序指定一个日志级别后,程序会记录所有日志级别大于或等于指定日志级别的日志信息,而不是仅仅记录指定级别的日志信息
- 一般建议只使用前四个级别
2、logging模块
2.1 基本用法
import logging
loging.debug(‘这是一条调试信息’)
logging.info(‘这是一条普通信息’)
logging.warning(‘这是一条警告信息’)
logging.error(‘这是一条错误信息’)
logging.critical(‘这是一条严重错误信息’)
2.2 设置日志级别
logging.basicConfig(logging.DEBUG)
2.3 设置日志格式
默认的日志的格式为:
日志级别:Logger名称:日志内容
自定义日志格式:
logging.basicConfig(format = “%(levelname)s : %(message)s”)
2.4 将日志信息输出到文件中
默认情况下Python的logging模块将日志打印到了标准输出中(控制台)
将日志信息输出到文件中:
logging.basicConfig(filename=’a.log’)
3、日志的高级用法
3.1、logging 日志模块四大组件
组件名称 类名 功能描述 日志器 Logger 提供了程序使用日志的入口 处理器 Hander 将logger创建的日志记录发送到合适的目的输出 格式器 Formatter 决定日志记录的最终输出格式 过滤器 Filter 提供了更细粒度的控制工具来决定输出哪条日志记录,丢弃哪条日志记录
3.2、模块关系
日志器:提供了,记录日志的入口
处理器:政治将日志器内容发送到控制台或文件或网络,都是处理器干的;每个日志器都可以添加多个不同的处理器
格式器:处理器可以设置不同的格式,就需要使用格式器
过滤器:处理器需要过滤日志信息,就需要设置过滤器
3.3、Logger类
Logger对象任务:
- 向程序暴露记录日志的方法
- 基于日志级别或Filter对象觉得要对那些日志进行后续处理
- 将日志消息传送给所有感兴趣的日志handles
如何创建Logger对象
logger = logging.getLogger()
logger = logging.getLogger("myLogger")
logging.getLogger()方法有一个可选参数name, 改参数表示将要返回的日志器的名称标识,如果不提供该参数,则返回root日志对象。若以相同的name参数值多次调用getLogger()方法,将会返回指向同一个logger对象的引用
Logger常用的方法
方法 | 描述 |
---|---|
logger.debug() 、logger.info()、logger.warming()、logger.error()、logger.critical() | 打印日志 |
logger.setLevel() | 设置日志器将会处理的日志消息的最低严重级别 |
logger.addHandler() | 为该logger对象添加一个handler对象 |
logger.addFilter() | 为该logger对象添加一个filter对象 |