2011-09-30 71 views
0

我在我所有的模块中大量使用日志记录模块。这在我的主例程中为日志记录模块创建配置时正常工作。 但是,当我想在一个交互式shell和logging.getLogger(“富”)分别测试我的模块之一是执行我的错误:单独使用模块时的日志记录问题

No handlers could be found for logger "foo"

这使得课程的意义,因为日志模块不是招”尚未配置。 当我再次在我的所有模块中调用logging.basicConfig()时,我的日志将被多次打印(python文档也称只在主线程中调用basicConfig()一次)。

那么,这是如何干净地完成? 我可以检查记录模块是否已经配置好吗?

回答

1

它在Logging module How-To中有解释。您可以创建一个帮助模块,以便随时随地执行任何日志记录:

import logging 
logging.getLogger('your_top_level_package').addHandler(logging.NullHandler()) 
+0

该死的......我以为我读过这一切。对不起,这个问题,并感谢您的答案...完美的作品。 – ifschleife