0
로깅 설정 파일을 한 번만 읽고 파이썬 프로젝트의 모든 모듈에 대해 로거를 한 번만 활성화/비활성화합니다. 나는 다음과 같은 방법을 시도했다. 1. @staticmethod 사용하기. 2. Singelton 패턴을 사용했다. 파이썬 프로젝트 전체에 대해 한 번만 초기화하거나 로깅을 설정하는 더 좋은 방법은 무엇입니까?Python 설치 로깅 구성을 한 번만
#Log.py
import logging.config
class Monitor(object):
fileName = path.join(path.split(path.dirname(path.abspath(__file__)))[0], "logging.config")
logging.config.fileConfig(fileName)
logger = logging.getLogger('root')
logger.disabled = True/False #set from some other config file
@staticmethod
def Log(logMessage):
Monitor.logger.info(logMessage)
#Log1.py
class Monitor(object):
# Here will be the instance stored.
__instance = None
def __init__(self):
if Monitor.__instance != None:
raise Exception("This class is a singleton!")
else:
Monitor.__instance = self
self.fileName = path.join(path.split(path.dirname(path.abspath(__file__)))[0], "logging.config")
logging.config.fileConfig(self.fileName)
logger = logging.getLogger('root')
logger.disabled = True/False #set via some config file
@staticmethod
def Log(logMessage):
if Monitor.__instance == None:
Monitor.__instance = Monitor()
Monitor.logger.info(logMessage)
else:
Monitor.logger.info(logMessage)