如何在Djangodebugging工具栏中使用日志logging?

我想在我的django应用程序在视图函数中的不同点输出debugging消息。 Django的debugging工具栏的文档说它使用python日志中的构build,但我找不到更多的信息。 我真的不想login到文件,而是到工具栏上的信息窗格。 这个怎么用?

您只需使用日志logging模块方法,DjDT将拦截并显示在“日志logging”面板中。

import logging logging.debug('Debug Message') if some_error: logging.error('Error Message') 

正如@ jonwd7所提到的,直接logging到根logging器通常不被推荐。 一般来说,我遵循这种模式:

 import logging logger = logging.getLogger(__name__) del logging # To prevent accidentally using it ... logger.debug("Some message") 

这使您可以更好地控制哪些日志消息执行和不显示。 不幸的是,以这种方式使用它,会阻止djangodebugging工具栏捕获任何日志消息,除非您指定特定的日志loggingconfiguration。 这是我能想到的最简单的一个:

 LOGGING = { 'version': 1, 'disable_existing_loggers': False, 'incremental': True, 'root': { 'level': 'DEBUG', }, } 

设置“incremental”和“disable_existing_loggers”都是重要的,所以你不会禁用连接到根logging器的工具栏的处理程序。 你所要做的就是将根logging器的日志级别设置为“DEBUG”。 您也可以使用“logging器”条目为特定的logging器设置级别。 只要省略“处理程序”部分,并设置“传播”:真,所以他们被捕获的DjDT处理程序。