如何高效使用Pytest的日志模块进行测试?
- 内容介绍
- 文章标签
- 相关推荐
本文共计518个文字,预计阅读时间需要3分钟。
一、为什么要在自动化框架上增加日志模块?- 记录程序运行信息- 方便定位问题- 提高调试效率
二、Python日志模块logging- DEBUG:详细调试信息- INFO:一般信息- WARNING:警告信息- ERROR:错误信息
示例代码(直接输出):pythonimport logging
logging.basicConfig(level=logging.DEBUG)logging.debug(这是DEBUG级别的日志)logging.info(这是INFO级别的日志)logging.warning(这是WARNING级别的日志)logging.error(这是ERROR级别的日志)
一、为啥要在自动化框架上增加日志模块
·记录程序运行信息
·方便定位问题
二、python日志模块logging
·DEBUG
·INFO
·WARNING
·ERROR
废话不罗嗦,直接上代码(直接百度敲的OKO)
#!/usr/bin/env python# -*- coding: UTF-8 -*-
"""
@Project :Pytest
@File :log_util.py
@IDE :PyCharm
@Author :zhou
@Date :2022/8/7 19:15
"""
import logging
import os
import time
root_path = os.path.dirname(os.path.dirname(os.path.realpath(__file__)))
print(root_path)
log_path = os.path.join(root_path,"log")
print(log_path)
class Logger:
def __init__(self):
# 定义日志位置和文件名
self.logname = os.path.join(log_path, "{}.log".format(time.strftime("%Y%m%d")))
# 定义一个日志容器
self.logger = logging.getLogger("log")
# 设置日志打印的级别
self.logger.setLevel(logging.DEBUG)
# 创建日志输入的格式
self.formater = logging.Formatter(
'[%(asctime)s][%(filename)s %(lineno)d[%(levelname)s]:%(message)s]'
)
# 创建日志处理器,用来存放日志文件
self.filelogger = logging.FileHandler(self.logname, mode='a', encoding="utf-8")
# 创建日志处理器,在控制台打印
self.console = logging.StreamHandler()
# 设置控制台打印日志界别
self.console.setLevel(logging.DEBUG)
# 文件存放日志级别
self.filelogger.setLevel(logging.DEBUG)
# 文件存放日志格式
self.filelogger.setFormatter(self.formater)
# 控制台打印日志格式
self.console.setFormatter(self.formater)
# 将日志输出渠道添加到日志收集器中
self.logger.addHandler(self.filelogger)
self.logger.addHandler(self.console)
logger = Logger().logger
if __name__ == '__main__':
logger.debug("我打印debug日志")
本文共计518个文字,预计阅读时间需要3分钟。
一、为什么要在自动化框架上增加日志模块?- 记录程序运行信息- 方便定位问题- 提高调试效率
二、Python日志模块logging- DEBUG:详细调试信息- INFO:一般信息- WARNING:警告信息- ERROR:错误信息
示例代码(直接输出):pythonimport logging
logging.basicConfig(level=logging.DEBUG)logging.debug(这是DEBUG级别的日志)logging.info(这是INFO级别的日志)logging.warning(这是WARNING级别的日志)logging.error(这是ERROR级别的日志)
一、为啥要在自动化框架上增加日志模块
·记录程序运行信息
·方便定位问题
二、python日志模块logging
·DEBUG
·INFO
·WARNING
·ERROR
废话不罗嗦,直接上代码(直接百度敲的OKO)
#!/usr/bin/env python# -*- coding: UTF-8 -*-
"""
@Project :Pytest
@File :log_util.py
@IDE :PyCharm
@Author :zhou
@Date :2022/8/7 19:15
"""
import logging
import os
import time
root_path = os.path.dirname(os.path.dirname(os.path.realpath(__file__)))
print(root_path)
log_path = os.path.join(root_path,"log")
print(log_path)
class Logger:
def __init__(self):
# 定义日志位置和文件名
self.logname = os.path.join(log_path, "{}.log".format(time.strftime("%Y%m%d")))
# 定义一个日志容器
self.logger = logging.getLogger("log")
# 设置日志打印的级别
self.logger.setLevel(logging.DEBUG)
# 创建日志输入的格式
self.formater = logging.Formatter(
'[%(asctime)s][%(filename)s %(lineno)d[%(levelname)s]:%(message)s]'
)
# 创建日志处理器,用来存放日志文件
self.filelogger = logging.FileHandler(self.logname, mode='a', encoding="utf-8")
# 创建日志处理器,在控制台打印
self.console = logging.StreamHandler()
# 设置控制台打印日志界别
self.console.setLevel(logging.DEBUG)
# 文件存放日志级别
self.filelogger.setLevel(logging.DEBUG)
# 文件存放日志格式
self.filelogger.setFormatter(self.formater)
# 控制台打印日志格式
self.console.setFormatter(self.formater)
# 将日志输出渠道添加到日志收集器中
self.logger.addHandler(self.filelogger)
self.logger.addHandler(self.console)
logger = Logger().logger
if __name__ == '__main__':
logger.debug("我打印debug日志")

