1
로깅을 출력하고 싶은 기능이 있습니다. 로그 파일은 함수가 무엇을했는지 (즉, 디버깅이나 사후 처리가 아닌) 레코드로서 프로그램 출력의 일부이므로 특정 위치에 저장하려고합니다. 그 위치는 설정 파일에서로드되지만 설정 파일을 읽는 데 성공했는지 실패했는지 기록하고 싶습니다!로깅 파일에 출력 지연
그래서 구성을 읽은 후에야 로그 파일을 만들 수 있지만 프로세스를 로그 할 수있게 될 때까지 구성을 읽지 않습니다.
나중까지 파일에 기록되는 로그 문을 연기 할 수있는 방법이 있습니까? 함수의 단순화 된 버전은 아래와 같습니다 : 나중에 logfile
을 사용할 수 없으므로 분명히 실행되지 않습니다.
마치 basicConfig(..., delay=True)
인 것처럼 보일 수도 있지만 첫 번째 로깅 이벤트에 대한 지연 만 처리하는 것처럼 들립니다. 더 많은 로깅 이벤트에 대한 대답이 있습니까? 시작 임시 파일에 로그인 한
옵션 :
import logging
import json
def record(config):
logger = logging.getLogger(LOG)
logging.basicConfig(filename=logfile, level=logging.INFO)
logger.info('Start of continuous sampling')
# Load the config file
try:
config = json.load(open(config_file))
logfile = config['logfile']
logger.info('Config file found')
except IOError:
logger.critical('Config file not found')
sys.exit()
항상 입력 내용을 읽으십시오. 따라하기가 쉽지 않습니다. '지연'은 느린 로딩과 같고,'info','warn','error' 등등 처음으로 호출 할 때 작성합니다. – user1767754