写自动化测试的时候,都要用的日志模块:
import logging
if __name__ == '__main__':
logging.basicConfig(level=logging.DEBUG,#日志级别设置format='%(asctime)s %(filename)s [line:%(lineno)d %(levelname)s %(message)s')
# datefmt='%a,%d %b %Y %H:%M:%S',
# filename='mylog.log',
# filemode='w')
# format是日志输出的格式:%(lineno)d为日志的行号,%(levelname)s为日志的等级,%(message)s日志信息# filemode即为日志的读写操作,和excle一样
logging.debug(u'这是debug级别日志记录')
logging.info(u'这是信息级别日志记录')
logging.warning(u'这是警告级别日子记录')
结果:
2019-05-11 18:08:12,554 BasePage.py [line:221 DEBUG 这是debug级别日志记录
2019-05-11 18:08:12,554 BasePage.py [line:222 INFO 这是信息级别日志记录
2019-05-11 18:08:12,555 BasePage.py [line:223 WARNING 这是警告级别日子记录
----------------------------------------------------------------
import logging
import os
import time
class LogGen():
def __init__(self,logger):
self.logger=logging.getLogger(logger)
self.logger.setLevel(logging.INFO)
#存放路径
lt=time.strftime('%Y%m%d%H%M',time.localtime(time.time()))
logname=os.path.dirname(os.path.abspath('.'))+'\\logs\\'+lt+'.log'
file=logging.FileHandler(logname)
file.setLevel(logging.INFO)
#可以在终端print出来
consoleh=logging.StreamHandler()
consoleh.setLevel(logging.INFO)
#写入数据,设置格式
formatter=logging.Formatter('%(asctime)s - %(name)s -%(levelname)s - %(lineno)s -%(message)s')
file.setFormatter(formatter)
consoleh.setFormatter(formatter)
self.logger.addHandler(file)
self.logger.addHandler(consoleh)
# logger.info('hello,first test')
def getlog(self):
return self.logger
image.png
PS:觉得这篇文章有用的朋友,多多点赞打赏哦~!
网友评论