原文链接 https://blog.csdn.net/tionsu/article/details/79583004
用Python的logging模块记录日志时,遇到了重复记录日志的问题,第一条记录写一次,第二条记录写两次。。。网上搜索到了原因与解决方案:
原因:没有移除handler
解决:在日志记录完之后removeHandler
以下代码均是其他作者写的
修改前示例代码:
import logging
def log(message):
logger = logging.getLogger('testlog')
streamhandler = logging.StreamHandler()
streamhandler.setLevel(logging.ERROR)
formatter = logging.Formatter('%(asctime)s - %(levelname)s - %(name)s - %(message)s')
streamhandler.setFormatter(formatter)
logger.addHandler(streamhandler)
logger.error(message)
if __name__ == '__main__':
log('hi')
log('hi too')
log('hi three')
修改前输出结果:
2016-07-08 09:17:29,740 - ERROR - testlog - hi
2016-07-