python使用logger的一些问题

使用python的logger日志包,遇到以下问题,日志信息每次增加1行,而且都是重复的,现象如下:
2021-03-21 11:35:30,864 - [INFO] - 2021-03-21 11:35:30,num:1
2021-03-21 11:35:34,284 - [INFO] - 2021-03-21 11:35:34,num:2
2021-03-21 11:35:34,284 - [INFO] - 2021-03-21 11:35:34,num:2
2021-03-21 11:35:37,701 - [INFO] - 2021-03-21 11:35:37,num:3
2021-03-21 11:35:37,701 - [INFO] - 2021-03-21 11:35:37,num:3
2021-03-21 11:35:37,701 - [INFO] - 2021-03-21 11:35:37,num:3
2021-03-21 11:35:41,130 - [INFO] - 2021-03-21 11:35:41,num:4
2021-03-21 11:35:41,130 - [INFO] - 2021-03-21 11:35:41,num:4
2021-03-21 11:35:41,130 - [INFO] - 2021-03-21 11:35:41,num:4
2021-03-21 11:35:41,130 - [INFO] - 2021-03-21 11:35:41,num:4
2021-03-21 11:35:44,574 - [INFO] - 2021-03-21 11:35:44,num:5
2021-03-21 11:35:44,574 - [INFO] - 2021-03-21 11:35:44,num:5
2021-03-21 11:35:44,574 - [INFO] - 2021-03-21 11:35:44,num:5
2021-03-21 11:35:44,574 - [INFO] - 2021-03-21 11:35:44,num:5
2021-03-21 11:35:44,574 - [INFO] - 2021-03-21 11:35:44,num:5
2021-03-21 11:35:47,962 - [INFO] - 2021-03-21 11:35:47,num:6
2021-03-21 11:35:47,962 - [INFO] - 2021-03-21 11:35:47,num:6
2021-03-21 11:35:47,962 - [INFO] - 2021-03-21 11:35:47,num:6
2021-03-21 11:35:47,962 - [INFO] - 2021-03-21 11:35:47,num:6
2021-03-21 11:35:47,962 - [INFO] - 2021-03-21 11:35:47,num:6
2021-03-21 11:35:47,962 - [INFO] - 2021-03-21 11:35:47,num:6

......

问题解决,梳理代码,做了一下改正:

logfile = time.strftime("%Y-%m-%d", time.localtime()) + ".log"
        while True:
            ln= logger(logfile ).log()
            ln.info("xxxxx")


改正:
        logfile = time.strftime("%Y-%m-%d", time.localtime()) + ".log"
        ln= logger(logfile ).log()
        while True:
            ln.info("xxxxx")

原因分析:

python logger的一些问题
logging的logger模块是被缓存的,如果多次获取logger,多次调用addHanlder添加Hanlder,则此logger的Handler会越来越多,而每个Handler都会打印一次日志。会发生1/2/3/4/5/6/7重复的日志记录信息等等


 

猜你喜欢

转载自blog.csdn.net/csdnhsh/article/details/115263584