UI自动化-日志
Python自动化测试中,日志输出功能是不能缺少的一部分。
一、控制台输出日志
1 def get_logger(): 2 try: 3 if not os.path.exists('./Logs'): 4 os.makedirs('./Logs') 5 except Exception as e: 6 pring(e) 7 FORMAT = '%(asctime)s - %(name)s - %(levelname)s - %(message)s' 8 logging.basicConfig(level=logging.INFO, format=FORMAT, datefmt='%Y-%m-%d %H:%M:%S') 9 return logging
二、日志输出到文件
1 def get_logger(): 2 try: 3 if not os.path.exists('./Logs'): 4 os.makedirs('./Logs') 5 except Exception as e: 6 pring(e) 7 FORMAT = '%(asctime)s - %(name)s - %(levelname)s - %(message)s' 8 logging.basicConfig(level=logging.INFO, format=FORMAT, datefmt='%Y-%m-%d %H:%M:%S', filename='./Logs/test.log', 9 filemode='w') 10 return logging
三、日志控制台输出+输出到文件
1 def uilog(logger_name=time.strtime('test-'+'%Y%m%d%H%M%S.log', time.localtime(time.time()))): 2 # 创建一个logger 3 logger = logging.getLogger(logger_name) 4 logger.setLevel(logging.INFO) 5 6 if not os.path.exists('../Logs'): 7 os.mkdir('../Logs') 8 log_file_path = os.path.join('../Logs', logger_name) 9 10 # 创建一个handler写入所有日志 11 fh = logging.FileHandler(log_file_path) 12 fh.setLevel(logging.INFO) 13 # 创建一个handler写入错误日志 14 eh = logging.FileHandler(log_file_path) 15 eh.setLevel(logging.ERROR) 16 # 创建一个handler输出到控制台 17 ch = logging.StreamHandler() 18 ch.setLevel(logging.INFO) 19 # 定义日志输出格式:以"时间-日志器名称-日志级别-日志内容"的形式显示 20 log_formatter = logging.Formatter("%(asctime)s - %(levelname)s - %(message)s", "%Y-%m-%d %H:%M:%S") 21 # 将定义好的输出形式添加到handler 22 fh.setFormatter(log_formatter) 23 ch.setFormatter(log_formatter) 24 eh.setFormatter(log_formatter) 25 # 给logger添加handler 26 logger.addHandler(fh) 27 logger.addHandler(eh) 28 logger.addHandler(ch) 29 30 return logger