禁用所有子日志记录器
我有一个在运行的Python脚本,它使用了logging
这个功能,顶层的记录器设置得很简单:
logging.basicConfig(level=logging.DEBUG)
然后这个脚本还引入了很多其他的内容,这些内容也在使用logging
,结果就是我收到了一大堆输出,因为这些其他的脚本也在以DEBUG
级别记录信息。我希望只从我的顶层记录器那里获取logging
的输出,而不想看到任何来自模块的子记录器的信息。
有没有办法可以关闭所有的子记录器,而不需要一个个手动命名和配置它们呢?
1 个回答
-1
为了更好地管理你的日志,不要把根日志记录器作为默认的日志记录工具。根日志记录器主要用来管理处理器,这样所有的子日志记录器就能继承根日志记录器添加的处理器。你可以把根日志记录器的级别保持在WARNING
(这是默认设置)。在所有模块中,使用下面的方式获取一个日志记录器来进行日志记录。
logger = logging.getLogger(__name__)
在你的if __name__ == '__main__'
这部分代码中,针对你想要设置不同于WARNING
级别的特定日志记录器,调整它们的级别。