# coding:utf-8
importlogging
importtime
importos
# log_path是存放日志的路径
cur_path = os.path.dirname(os.path.realpath(__file__))
log_path = os.path.join(os.path.dirname(cur_path),'logs')
#如果不存在这个logs文件夹,就自动创建一个
if notos.path.exists(log_path):os.mkdir(log_path)
classLog():
def__init__(self):
#文件的命名
self.logname = os.path.join(log_path,'%s.log'%time.strftime('%Y_%m_%d'))
self.logger = logging.getLogger()
self.logger.setLevel(logging.DEBUG)
#日志输出格式
self.formatter = logging.Formatter('[%(asctime)s] - %(filename)s] - %(levelname)s: %(message)s')
def__console(self,level,message):
#创建一个FileHandler,用于写到本地
fh = logging.FileHandler(self.logname,'a',encoding='utf-8')#这个是python3的
fh.setLevel(logging.DEBUG)
fh.setFormatter(self.formatter)
self.logger.addHandler(fh)
#创建一个StreamHandler,用于输出到控制台
ch = logging.StreamHandler()
ch.setLevel(logging.DEBUG)
ch.setFormatter(self.formatter)
self.logger.addHandler(ch)
#区分日志级别
iflevel =='info':
self.logger.info(message)
eliflevel =='debug':
self.logger.debug(message)
eliflevel =='warning':
self.logger.warning(message)
eliflevel =='error':
self.logger.error(message)
#避免日志输出重复问题
self.logger.removeHandler(ch)
self.logger.removeHandler(fh)
#关闭打开的文件
fh.close()
defdebug(self,message):
self.__console('debug',message)
definfo(self,message):
self.__console('info',message)
defwarning(self,message):
self.__console('warning',message)
deferror(self,message):
self.__console('error',message)
if__name__ =="__main__":
log = Log()
log.info("----------自动化测试开始----------")
log.info("登录成功...")
log.info('输入手势密码...')
log.warning("-----------自动化测试结束----------")
领取专属 10元无门槛券
私享最新 技术干货