为什么我无法使用logging.info?

时间:2016-05-19 23:44:12

标签: python exception logging

例如,下面这段代码按预期工作:

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中具有相同的用法,因此我不确定为什么这些方法会产生不同的结果。

1 个答案:

答案 0 :(得分:2)

您可能需要将记录器配置为记录INFO级别,默认值仅为WARNING。

参考:docs.python.org/2/howto/logging.html#when-to-use-logging&#34;默认级别为警告......&#34;

您可能希望使用类似https://docs.python.org/2/howto/logging.html#logging-to-a-file之类的内容来执行初始记录器配置。