拦截所有日志消息

时间:2012-05-31 05:09:50

标签: python logging

我正在使用一个应用程序,其中几乎每个模块和每个类都会发出logging条消息。

我需要一种方法来捕获这些消息中的每一条消息,而无需通过.addHandler()将处理程序显式附加到每个日志记录实例(这就是我现在正在做的事情)。

有没有办法立即将处理程序附加到每个日志记录实例?

2 个答案:

答案 0 :(得分:3)

logging使用记录器层次结构。向根记录器添加处理程序,它也将从子记录器接收记录的消息。

要使用logging.getLogger()来访问根记录器。

答案 1 :(得分:1)

为了将所有内容记录到标准输出,您可以使用方法logging.basicConfig来初始化日志记录配置:

logging.basicConfig(level=logging.DEBUG, stream=sys.stdout)