1.每次执行脚本时输出重复log,原因是导入的库也引入了log模块
执行脚本,导入红色区域的库也引入自定义log模块
如下为executeExcel的脚本:
总结:多次导入log模块,使得输出的log重复
解决方法:
#coding=utf8 import logging,os def getlog(loggername='debug',filename = 'data.log'): logger = logging.getLogger(loggername) #解决log重复问题,使用log时判断是否存在hander,如果存在返回已存在的hander #方法2:传入不同的loggername if not logger.handlers: logger.setLevel(logging.DEBUG) stream_handler = logging.StreamHandler() formatter = logging.Formatter('[%(asctime)s]:[%(filename)s]:%(name)s:%(levelname)s: %(message)s') stream_handler.setFormatter(formatter) # 将log输入文件 logdir = os.path.dirname(__file__) filename = '%s/%s' % (logdir,filename) file_handler = logging.FileHandler(filename) file_handler.setFormatter(formatter) logger.addHandler(stream_handler) logger.addHandler(file_handler) return logger log = getlog() log.info('hello') log.error('error') log.warning('warning')