2017-10-28 30 views
1

我想在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")不輸出?

+0

如果你只是想記錄到一個單一的處理程序,您可以使用['logging.basicConfig'](https://docs.python.org/3/library /logging.html#logging.basicConfig) – Holloway

回答

4

因爲你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 
2

記錄儀有水平以及處理程序。 default level被警告,因此您的信息被忽略。

爲了讓您的範例工作,請包括logger.setLevel(logging.INFO)

相關問題