Django:在记录格式化程序中使exc_info可选

时间:2015-02-03 18:11:50

标签: python django

我在Django中使用以下格式化程序来记录警告& django.request模块中的错误:

'format': '%(levelname)s: %(message)s\n %(exc_info)s'  

如果没有发生异常,则会打印None。当格式化程序中没有异常时,是否可以跳过exc_info

这是日志记录调用:

logger.error('', exc_info=True)

1 个答案:

答案 0 :(得分:1)

您无需在日志记录格式配置中明确包含%(exc_info)s:在记录异常时,将自动添加回溯和相关内容。

引用logging module的文档:

  

kwargs中有两个被检查的关键字参数:exc_info,如果它没有评估为false,会将异常信息添加到日志消息。如果提供了异常元组(以sys.exc_info()返回的格式),则使用它;否则,调用sys.exc_info()以获取异常信息。

(强调我的。)

另外,请注意LogRecord attributes部分:

  

exc_info |您不应该自己格式化。