import logging as log logger = log.getLogger('logger') logger.addHandler(log.StreamHandler()) logger.setLevel(log.INFO) log.info('') logger.info('test logger')
test logger INFO:logger:test logger
平时使用 logger 完全没问题,现在碰到一个直接 root 输出的第三方库才发现有这问题
1
sylecn 2016-09-19 19:34:04 +08:00 2
代码格式乱掉了,基本没法看。重新排版一下吧。
一般输出两次是配置问题,在子 logger 配置中,如果不希望上游的 logger 继续收到并处理该日志,需要设置 propagate=0. 根 logger 是空字符串"", 子 logger 就是 "a.b.c"这种。一般第三方库都会用子 logger 。但是你没有点名,所以不能确定。如果真的是用的 root logger ,那除非是配置了两个 console 类型的 handler ,才会输出两次。 |