Python Logging으로 두 번 나타나는 로그 메시지

| | | | | | | | |

Python 로깅을 사용하고 있는데 어떤 이유에서인지 모든 메시지가 두 번 나타납니다.

로깅을 구성하는 모듈이 있습니다.

# BUG : 로깅 메시지를 두 번 출력합니다. 이유는 확실하지 않습니다. 전파 설정이 아닙니다. def configure_logging(self, logging_file): self.logger = logging.getLogger("my_logger") self.logger.setLevel(logging.DEBUG ) self.logger.propagate = 0 # 로그 라인의 형식 formatter = logging.Formatter("%(asctime)s - %(name)s - %(levelname)s - %(message)s") # 콘솔 로깅 ch 설정 = logging.StreamHandler() ch.setLevel(logging.DEBUG) ch.setFormatter(formatter) self.logger.addHandler(ch) # 설정 파일 로깅도 fh = logging.FileHandler(LOG_FILENAME) fh.setLevel(logging.DEBUG) fh.setFormatter(formatter) self.logger.addHandler(fh) 

나중에 이 메서드를 호출하여 로깅을 구성합니다.

if __name__ == "__main__": tom = Boy() tom.configure_logging(LOG_FILENAME) tom.buy_ham() 

그런 다음, buy_ham 모듈에서 다음을 호출합니다.

self.logger.info("%s에 성공적으로 쓸 수 있음" % 경로) 

그리고 어떤 이유로 모든 메시지가 두 번 나타납니다. 스트림 핸들러 중 하나를 주석 처리했지만 여전히 동일합니다. 약간 이상한 것, 이것이 왜 일어나는지 확실하지 않습니다 ... lol. 내가 명백한 것을 놓쳤다고 가정하면.

건배, 빅터