해당 원글은 미디엄 블로그에서 작성한 내용을 해당 블로그에 기록하기 위해 가져옴. 원글은 2021.04.13일 작성.
개요
- 지난번 파이썬 시작하기에 이어 Log 설정, File 혹은 Path 관리하기에 대해 알아보자.
File
- 우선 Log를 File에 기록하기 위해선 File 경로나 File명을 기본적으로 설정하는 법을 알아야한다.
두 가지 모듈을 import 해보자
1
2
import os
import sys
- 현재 File 위치를 알아내어 현재 디렉토리 경로를 찾을 수 있다.
1
BASE_DIR = os.path.dirname(os.path.abspath(__file__))
- 현재 디렉토리를 이용해 log가 저장 될 디렉토리를 생성해보자.
1
2
3
output = os.path.join(BASE_DIR, 'logs')
if not os.path.isdir(output):
os.makedirs(output)
- 이런식으로 간단하게 디렉토리가 없으면 생성할 수 있다.
Log
1
import logging
- log가 저장될 디렉토리가 만들어졌으면 logging.FileHandler를 통해 log가 저장될 File을 지정할 수 있다. log level도 설정할 수 있음. 매우 간단하다 레알
1
2
3
fileName = 'python.log'
file_handler = logging.FileHandler(filename=os.path.join(output, fileName), encoding='utf-8')
file_handler.setLevel(logging.DEBUG)
- sys.stdout은 그냥 출력 하고 log level 또한 설정 가능하다.
1
2
stream_handler = logging.StreamHandler(sys.stdout)
stream_handler.setLevel(logging.INFO)
- 그리고 log format 또한 설정이 가능하다.
1
2
3
FORMAT = '%(asctime)-15s %(message)s'
logging.basicConfig(format=FORMAT,
handlers=[file_handler, stream_handler], level=logging.DEBUG)
- 이렇게 log 설정 한 뒤 한번 기록해보자.
1
2
logging.info('로깅 info')
logging.debug('logging 디버그')
이것저것 시도해 봄
- 이런식으로 log를 file로 기록해서 사용할 수 있으니 강화학습 테스트에 활용해 볼 수 있겠다.