如何使用python日志框架使用回溯在警告或信息级别记录异常?

Mor*_*ler 53 python logging exception

使用这样的东西:

try:
   # Something...
except Exception as excep:
   logger = logging.getLogger("component")
   logger.warning("something raised an exception: " + excep)
   logger.info("something raised an exception: " + excep)
Run Code Online (Sandbox Code Playgroud)

我宁愿没有错误级别的原因在我的特殊情况下它不是一个错误.

Dou*_*der 75

日志记录文档:

有三个关键字参数kwargs被检查:exc_info,stack_info,和extra.

如果exc_info不评估为false,则会将异常信息添加到日志消息中.如果提供了异常元组(以返回的格式sys.exc_info())或异常实例,则使用它; 否则,sys.exc_info()调用以获取异常信息.

所以:

logger.warning("something raised an exception:", exc_info=True)
Run Code Online (Sandbox Code Playgroud)


小智 6

这是一个有效的(python 2.6.5)。

logger.critical("caught exception, traceback =", exc_info=True)
Run Code Online (Sandbox Code Playgroud)