为什么我的日志记录在Python 3中不起作用?
问题描述:
我想在Python 3这种方式增加日志处理程序:为什么我的日志记录在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
我指定的记录等级为INFO
。为什么logging.info("my info")
不输出?
答
因为你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
如果你只是想记录到一个单一的处理程序,您可以使用['logging.basicConfig'](https://docs.python.org/3/library /logging.html#logging.basicConfig) – Holloway