python log 重复问题
问题
python中日志重复打印问题记录
排查
取要区分重复打印的日志格式是否完全一致
完全一致
- 考虑是否添加了多个handlers,可通过 logger.handlers查看,注意对同一个log模块,import调用路径不一致,可能会产生多个handlers,import尽可能保持同一个调用路径
不一致
- 是否使用了多个log模块, 比如使用了自定义log模块,同时又使用了系统 logging模块(import logging; logging.info("xx")). 默认logging模块使用的是RootLogger(WARNING)
- 对于自定义的logger,可以设置logger.propagate = False, 避免受其他logger(比如RootLogger)影响,重复打印
- 强制删除默认的RootLoggerlogging.getLogger().handlers.clear()