我的程序中设置了一个简单的记录器。
if __name__ == "__main__":
# Logger setup
logger = logging.getLogger(__name__)
logger.setLevel(logging.DEBUG)
formatter = logging.Formatter('%(levelname)s:%(name)s:%(message)s')
file_handler= logging.FileHandler('debug.log')
file_handler.setFormatter(formatter)
logger.addHandler(file_handler)
<some code to call other methods>
logger.removeHandler(file_handler)
del logger, file_handler
现在在其他方法中(总共5个)我将信息写入日志文件中。
def func1(args):
logger.info("*" * 80 + "\n")
logger.info("Starting test for '{}'\n".format(args))
但是当我检查debug.log文件时,它有重复的条目,如:
*
信息:主要:
INFO:主要:
INFO:主要:信息:主要:************************************ ****************************
信息:主要:
INFO:主要:
INFO:主要:
信息:主要:开始测试
*
我尝试过设置logger.propagate = True / False,但这没有帮助。谁能帮助我理解这里发生了什么?
编辑:所有其他功能与主
位于同一文件中