python+unittest框架自动化测试脚本添加日志,生成logs文件并打印到控制台
添加日志主要原因是排查问题的时候,不是很方便,我们需要对程序的执行中错误的地方进行记录,以便我们更好的发现问题。
- 封装Log类,类名为Logger,在Logger类中创建记录器logger, 创建一个handler,用于写入日志文件,写到磁盘;再创建一个handler,用于输出到控制台
步骤:
- 在项目下创建一个logs文件夹,用于存储log日志文件;
- 创建logger文件,编码如下:
#coding=utf-8
# 1.导包
import logging
import logging.handlers
import os
class Logger:
loggers = None
#获取日志对象
def getLogger(self):
# 2.创建日志器对象 / 设置日志级
logger = logging.getLogger("root")
logger.setLevel(level=logging.DEBUG)
# 3.创建输出到控制台 / 文件
ls = logging.StreamHandler()#按天分割,分割为5个
#判断log文件夹是否存在,不存在即创建
path = "./logs"
if not os.path.exists(path):
os.mkdir(path)
lf = logging.handlers.TimedRotatingFileHandler(filename=r"logs/test.log",when="D",backupCount=5)
# 4.创建格式化器
fmt = '%(asctime)s %(levelname)s [%(name)s] [%(filename)s(%(funcName)s] [line:%(lineno)d] - %(message)s'