파이썬으로 로그인하는 방법에 대해 많이 쓰여졌지만 여러 프로젝트에서 로깅을 정렬하는 것에 대해 포괄적 인 내용을 찾지 못했습니다. 예를 들어 사람들이 Github에 공개 된 프로젝트를 재사용한다고 가정하는 것은 무리가 아닙니다 (그것이 바로 그 이유입니다). 모든 프로젝트가 로깅을 필요로한다고 생각합니다. 특히 개발중인 프로젝트입니다. 제 질문은 가능한 한 로깅을 어떻게 사용합니까?여러 프로젝트에서 파이썬 로깅
최근 주 패키지의 __init__.py
에있는 구성 파일을로드하는 팬이되었습니다.
import logging.config
import sys
from traceback import print_exception
fileconf = "logging.conf"
try:
logging.config.fileConfig(fileconf)
except:
print "Could not use %s for configuration because:" % (fileconf,)
print_exception(*sys.exc_info())
다음 각 모듈은
logger.py
, 전용 로깅 모듈에서 로거를 얻을 것이다 :
import logging
def get_logger(name):
logger = logging.getLogger(name)
return logger
불행하게도 나는 여러 프로젝트에 대한 간단한 확장이 표시되지 않습니다. 표준과 동일한 구성 파일을 사용할 수 있기를 원합니다.
그렇다면 수퍼 프로젝트의 로깅 구성을 쉽게 사용할 수있는 프로젝트를 어떻게 만들 수 있습니까? 아마도 로깅이 이미 구성되어 있는지 확인하는 것일까 요?
모듈 수준에서 로거를 사용하지 않으려는 이유를 알고 있지만 클래스 수준이나 각 로그 문에서 로거를 가져 오는 것이 좋습니다. –
이 경우 구성이로드되기 전에 로거가 나타날 위험이 있습니다 (설정에서 disable_existing_loggers를 False로 설정하지 않은 경우). 모듈 수준에서 로거를 얻는 것과의 무역이 실제로 보이지 않습니다. 클래스 init 또는 메소드에서 로거를 가져 오는 꽤 값싼 작업. 위의 게시물에서 좋은 방법을 확인하십시오. – sirfz