在编写自动化测试过程中,很多时候需要打印出一些信息或者返回值来检查是否跟自己预期的一致。于是单独写了个日志类来使用,非常方便哈
# coding:utf-8
import logging
import os.path
import time
class Logger(object):
def __init__(self, logger):
"""
定义保存日志的文件路径,日志级别,以及调用文件
将日志存入指定文件中
将日志输出到控制台中
:param logger:
"""
# 1、创建一个logger
self.logger = logging.getLogger(logger) # 返回一个logger实例
self.logger.setLevel(logging.DEBUG) # 设置logger级别为debug
# 2、创建一个handler,用于写入日志文件
rq = time.strftime('%Y%m%d%H%M',time.localtime(time.time()))
log_path = os.path.dirname(os.getcwd()) + '/logs/'
log_name = log_path + rq + '.log'
fh = logging.FileHandler(log_name, mode='w')
fh.setLevel(logging.INFO)
# 3、再创建yig handler,用于输出到控制台
ch = logging.StreamHandler()
ch.setLevel(logging.INFO)
# 4、定义handler的输出格式
formatter = logging.Formatter('%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s : %(message)s')
fh.setFormatter(formatter)
ch.setFormatter(formatter)
# 5、将logger添加到handler里面
self.logger.addHandler(fh)
self.logger.addHandler(ch)
def getlog(self):
return self.logger