如何在运行时为支持exc_info
密钥修补日志记录?
示例:
log.exception(e, exc_info = 1)
返回错误:
TypeError: exception() got an unexpected keyword argument 'exc_info'
这是在Python 2.6.6
中答案 0 :(得分:0)
使用追溯 https://docs.python.org/2/library/traceback.html
Traceback将打印异常并显示代码导致异常的堆栈跟踪
import traceback
_traceback = traceback.format_exc()
print _traceback
log.exception(_traceback)
答案 1 :(得分:0)
exception
方法是不接受exc_info
的单一方法,因为它是从需要记录异常的异常子句中调用的(即exc_info
隐式设置)。如果您希望将exc_info
设置为False
具有相同的效果,请使用记录器的error
方法而不是exception
方法。来自the documentation:
Logger.error(msg,* args,** kwargs)
在此记录器上记录级别为ERROR的消息。参数解释为debug()。
...
Logger.exception(msg,* args,** kwargs)
在此记录器上记录级别为ERROR的消息。参数被解释为debug()。异常信息将添加到日志消息中。只应从异常处理程序调用此方法。