이상 로깅 모듈을 구성하는 것은 더 많은 기본 포맷을 갖도록 쉽게이다Python 2.3 로깅 메시지의 형식을 구성하는 방법은 무엇입니까? 파이썬 2.4
logging.basicConfig (레벨 = opts.LOGLEVEL 형식 = "% (메시지)들")
하지만 Python 2.3을 지원해야하는 응용 프로그램의 경우 Py2.4에서 로깅 API가 정밀 검사 되었기 때문에 더 어려워 보입니다. 특히, basicConfig는 인수를 취하지 않습니다.
try:
logging.basicConfig(level=opts.LOGLEVEL, format="%(message)s")
except:
logging.getLogger().setLevel(opts.LOGLEVEL)
h = logging.StreamHandler()
h.setFormatter(logging.Formatter("%(message)s"))
logging.getLogger().addHandler(h)
을하지만 Py2.3, 예를 들어,이 루트 로거를 호출하십시오 Py2.3 설명서의 유일한 예에 변화를 시도,이 얻을 나는 (위의 블록 "제외") Py2.3의 루트 로거의 기존 핸들러의 형식을 수정할 수있는 방법을 찾을 수 없습니다
Foo
INFO:root:Foo
:
logging.info("Foo")
는 중복 출력을 제공 따라서 중복 출력을 생성하는 "addHandler"호출이 발생합니다. 이 중복없이 루트 로거의 형식을 설정하는 방법이 있습니까? 감사!
'logging.getLogger(). handler '에는 무엇이 있습니까? 거기에 2 개의 핸들러가있는 것 같습니다. –
Thanks Denis ... 정확히 내가 찾고 있던 것이지만, 문서에서'help()'함수를 통해)'handlers' 멤버를 찾지 못했습니다. 이를 통해 기존 핸들러를 수정할지 아니면 새 핸들러를 추가할지 여부를 선택할 수 있습니다. – andybuckley