로 이벤트를 기록 logging.info
하면 Python 터미널에 표시되지 않습니다.
import logging
logging.info('I am info') # no output
반대로 logging.warn
do로 기록 된 이벤트 는 터미널에 나타납니다.
import logging
logging.warn('I am warning') # outputs "I am warning"
logging.info
콘솔에 인쇄 할 수있는 환경 수준 변경이 있습니까? 각 Python 파일을 변경하지 않으려 고합니다.
답변
루트 로거는 항상 경고 수준으로 기본 설정됩니다. 전화 해보세요
logging.getLogger().setLevel(logging.INFO)
그리고 당신은 괜찮을 것입니다.
답변
@ztyx가 기본 로거 수준이 경고라고 말했듯이. 더 낮은 수준으로 설정해야합니다
logging.basicConfig 를 사용 하고 로거 수준을 설정 하여 수행 할 수 있습니다 .
logging.basicConfig(level=logging.DEBUG)
답변
위의 솔루션은 저에게 효과적이지 않았지만 여기 의 코드는 다음과 같이 작동했습니다 .
# set up logging to file
logging.basicConfig(level=logging.DEBUG,
format='%(asctime)s %(name)-12s %(levelname)-8s %(message)s',
datefmt='%m-%d %H:%M',
filename='/temp/myapp.log',
filemode='w')
# define a Handler which writes INFO messages or higher to the sys.stderr
console = logging.StreamHandler()
console.setLevel(logging.INFO)
# add the handler to the root logger
logging.getLogger('').addHandler(console)
(가독성을 위해 코드의 일부를 생략했습니다)