为什么我的日志记录在Python 3中不起作用?

时间:2017-10-28 11:09:21

标签: python python-3.x logging

我试图以这种方式在Python 3中添加日志记录处理程序:

$ python3
Python 3.5.2 (default, Sep 14 2017, 22:51:06) 
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import logging
>>> 
>>> logger = logging.getLogger()
>>> handler = logging.StreamHandler()
>>> handler.setLevel(logging.INFO)
>>> logger.addHandler(handler)
>>> 
>>> logging.info("my info")
>>> logging.warning("my warning")
my warning

我将loglevel指定为INFO。为什么logging.info("my info")什么都没输出?

2 个答案:

答案 0 :(得分:6)

因为您need也设置logger杠杆。

import logging

logger = logging.getLogger()
# here
logger.setLevel(logging.INFO)
handler = logging.StreamHandler()
handler.setLevel(logging.INFO)
logger.addHandler(handler)

输出:

>>> logging.info("my info")
my info
>>> logging.warning("my warning")
my warning

答案 1 :(得分:2)

记录器具有级别和处理程序。 default level会发出警告,因此您的信息会被忽略。

要让您的示例正常运行,请添加logger.setLevel(logging.INFO)