赞
踩
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
提示:这里可以添加本文要记录的大概内容:
实际上,很多同学都是使用python来做自动化测试,在很多情况下需要查看脚本运行的Log,根据Log来做问题分析。我们希望将脚本的log输出到控制台,同时也希望将脚本写入到文件中。下面简单介绍一下将log输出到控制台,并且将log写入到以当前时间命名的文件中。
提示:以下是本篇文章正文内容,下面案例可供参考
1、python有一个logging模块,我们可以使用它来规范log的输出。首先,需要下载logging模块,在命令行输入pip install logging进行安装:
pip install logging
代码如下(示例):
import logging
创建一个logger对象,设置记录Log的等级。代码如下(示例):
logger = logging.getLogger()
logger.setLevel(logging.INFO)
示例中设置记录的log等级为info,也可以修改为debug、warning、error、critical,根据自己的需求进行设置。
引入datetime,获取当前时间,用于对写入文件命名,并设置导出log文件的日志等级
代码如下(示例):
now = datetime.datetime.now().strftime("%Y-%m-%d_%H-%M-%S")
fileinfo = logging.FileHandler(f"AutoTest_log_{now}.log")
fileinfo.setLevel(logging.INFO)
创建一个handler,来把记录的log输出到控制台。代码如下(示例):
controlshow = logging.StreamHandler()
controlshow.setLevel(logging.INFO)
这里设置的日志格式为时间+日志级别+日志信息。代码如下(示例):
formatter = logging.Formatter("%(asctime)s - %(levelname)s: %(message)s")
fileinfo.setFormatter(formatter)
controlshow.setFormatter(formatter)
代码如下(示例):
logger.addHandler(fileinfo)
logger.addHandler(controlshow)
这里可以根据个人需要进行设置,例如:
logger.info(“这是第一条log”)
logger.warning(“这是第二条log”)
logger.error(“这是第三条log”)
完整代码如下:
import logging logger = logging.getLogger() logger.setLevel(logging.INFO) #设置将日志输出到文件中,并且定义文件内容 now = datetime.datetime.now().strftime("%Y-%m-%d_%H-%M-%S") fileinfo = logging.FileHandler(f"AutoTest_log_{now}.log") fileinfo.setLevel(logging.INFO) #设置将日志输出到控制台 controlshow = logging.StreamHandler() controlshow.setLevel(logging.INFO) #设置日志的格式 formatter = logging.Formatter("%(asctime)s - %(levelname)s: %(message)s") fileinfo.setFormatter(formatter) controlshow.setFormatter(formatter) logger.addHandler(fileinfo) logger.addHandler(controlshow) #例子 logger.info(“这是第一条log”) logger.warning(“这是第二条log”) logger.error(“这是第三条log”)
本文介绍了python使用logging模块来规范脚本log的输出,实现将脚本log输出到控制台,并且将log写入以当前时间命名的log文件中。本文仅用于记录本人在实际编写脚本中的过程,如有侵权联系删除。如有什么地方有错误,欢迎不吝赐教。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。