2017-10-28 4 views
1

는 파이썬 3 이런 방식으로 로깅 처리기를 추가하려고 :로깅이 파이썬 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)을 포함하십시오.

관련 문제