【发布时间】:2016-05-19 23:44:12
【问题描述】:
例如,下面这段代码按预期工作:
import logging
import sys
def infologAllUncaught(exc_type, exc_value, exc_traceback):
logging.error("Uncaught exception", exc_info=(exc_type, exc_value, exc_traceback))
sys.excepthook = infologAllUncaught
raise Exception("WOAH THERE!")
返回:
ERROR:root:Uncaught exception
Traceback (most recent call last):
File "C:\dev\proj\cedu_ui\product\trunk\test\tools\genie\genie\logging_test2.py", line 9, in <module>
raise Exception("WOAH THERE!")
Exception: WOAH THERE!
但是,这段代码什么也没返回。
import logging
import sys
def infologAllUncaught(exc_type, exc_value, exc_traceback):
logging.info("Uncaught exception", exc_info=(exc_type, exc_value, exc_traceback))
sys.excepthook = infologAllUncaught
raise Exception("WOAH THERE!")
似乎除了 logging.exception 之外的所有日志记录方法在 API 中都有相同的用法,所以我不确定为什么它们会产生不同的结果。
【问题讨论】:
-
您的根记录器是否配置为在信息级别记录?
-
Ref docs.python.org/2/howto/logging.html#when-to-use-logging "默认级别为 WARNING ..."