记一次奇怪的bug——logging不能打印日志

刚开始的时候,logging打印的好好的,但是突然有一天开始,logging不输出任何等级的日志信息了,一开始我还以为是我设置成了ERROR等级,所以没输出。但是后来发现,我设置的等级是INFO,并不是ERROR,于是我开始找问题。
通过debug,我发现我明明已经basicConfig了,但是logging的等级还是WARNING,这就很奇怪了。
在这里插入图片描述
由于我还是菜鸟程序猿,刚接触logging不久,我就想到了我最开始使用logging时候的疑问,为什么basicConfig可以不在程序入口的main中设置,可以在其他地方设置,并且不会影响使用。于是我脑补了一种可能性,会不会因为我虽然在其他地方设置的,但是这个设置是程序一开始被读到的,于是后面的所有logging都沿用了这个basicConfig的内容。接着,我在这个启发下,开始从main开始debug,发现确实是存在这个问题,在我还没basicConifg之前,我就已经使用了logging.info,而且这个info并没有被打印,这就更加证实了我的判断。于是我把代码调整了一下,使得basicConfig会在所有logging.info之前被使用,紧接着我发现,问题解决了,日志又可以正常被打印了。

猜你喜欢

转载自blog.csdn.net/qq1261275789/article/details/123120417
今日推荐