我有以下简单的测试脚本:
import logging
import sys
logger = logging.getLogger(__name__)
handler = logging.StreamHandler(sys.stdout)
handler.setLevel(logging.INFO)
handler.setFormatter(logging.Formatter('%(name)s - %(levelname)s - %(message)s'$
logger.addHandler(handler)
logger.info('Hello World!')
logger.warning('Bad!')
我在命令行中使用python test.py
运行此脚本。我得到:
__main__ - WARNING - Bad!
当我期望得到的时候:
__main__ - WARNING - Bad!
__main__ - INFO - Hello World!
例如我希望info
和warning
日志消息都可以打印到控制台窗口,但是只有warning
消息可以。怎么会来?
答案 0 :(得分:2)
这应该起作用吗?
import logging
import sys
logger = logging.getLogger(__name__)
logger.setLevel(logging.INFO)
handler = logging.StreamHandler(sys.stdout)
handler.setFormatter(logging.Formatter('%(name)s - %(levelname)s - %(message)s'))
logger.addHandler(handler)
logger.info('Hello World!')
logger.warning('Bad!')
您应该在setLevel
对象上设置logger
。
谢谢
答案 1 :(得分:1)