我想使用python的StreamHandler日志处理程序。 我试过的是
import logging
import sys
mylogger = logging.getLogger("mylogger")
h1 = logging.StreamHandler(stream=sys.stdout)
h1.setLevel(logging.DEBUG)
mylogger.addHandler(h1)
# now trying to log with the created logger
mylogger.debug("abcd") # <no output>
mylogger.info("abcd") # <no output>
mylogger.warn("abcd") # abcd
我遗漏了什么吗?或者做错了什么? 为什么STDOUT上没有信息和调试级日志?
您必须设置记录器的级别,而不仅仅是处理程序的级别:
下面是一个很好的日志工作流程图,您可以在其中看到日志记录器和处理程序检查日志级别:
http://docs.python.org/2/howto/logging.html#logging-flow
默认的
logLevel
是WARNING
,因此即使您将处理程序的级别设置为DEBUG
,消息也无法通过,因为您的记录器会抑制它(默认情况下也是WARNING
)。顺便说一下,您可以使用
Formatter
进行一些基本格式化:会给你输出
相关问题 更多 >
编程相关推荐