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

 

posted @ 2020-12-08 13:16  lunvo  阅读(308)  评论(0编辑  收藏  举报