고유 한 로거와 인스턴스를 자체로 처리하는 코드 조각을 만들고 있습니다.파이썬 2 로거는 기본 로거 사용 후 줄을 반복합니다.
로깅 모듈을 직접 사용하는 라이브러리를 추가하여 로거를 망가 뜨립니다. - 원본 로거는 기본 로거가 전혀 인쇄하지 않는 동안 각 행을 다른 형식으로 두 번 인쇄하기 시작합니다.
제안 사항? MCVE :
이import sys
import logging
log = logging.getLogger('foo')
log.addHandler(logging.StreamHandler(sys.stdout))
log.setLevel(logging.DEBUG)
log.info("works once")
logging.info("Isn't printed")
log.info("printed twice with different format")
출력 : 그것은 또한 기본 로거처럼 보일 나던
works once
printed twice with different format
INFO:foo:printed twice with different format
어떻게 든 내 로거 인스턴스에 추가 핸들러를 추가합니다
> print log.handlers
[<logging.StreamHandler object at 0x7f5d14314990>]
나는 변경할 수 없습니다 모듈을 포함 시켰습니다 ...
가능한 경우 사용하는 라이브러리에서 버그 보고서를여십시오. 라이브러리는 로깅 요구에 루트 로거를 사용하지 않아야합니다. 직면 한 것과 같은 문제가 발생할 것입니다. 라이브러리는 자체 로거 ('getLogger()')를 생성하고 거기에'NullHandler'를 첨부해야합니다. – m1keil