Python

写日志的handler处理

2017-09-12  本文已影响32人  一木之夏

目的:分析重复写日志的原因

1.查看logger的源码可以看出来参数handlers是个空列表

2.查看addHandler和removeHandler的源码,均会改变handlers这个变量的值

3.所以如果调用addHandler方法后没有removeHandler的话,handlers列表中的handler会越来越多,重复写日志的次数会越来越多

解决方法:

方法1: 增加handler后,使用完后需要移除handler

addHandler(handler)

...

removeHandler(handler)

方法2:通过if判断一直使用最初增加的handler

if not handlers:

    addHandler(handler)

上一篇下一篇

猜你喜欢

热点阅读