[python] logging 모듈 사용하기
- 간단하게 로깅 사용하기
import logging
logging.basicConfig(format='[%(levelname)s] %(asctime)s %(message)s',filename='/var/log/data.log',datefmt='%m/%d/%Y %I:%M:%S %p',filemode='w', level=logging.warning)
logging.warning('warning log ')
- 출력과 로깅 동시에 사용하기
import logging
import logging.handlers
# logger 인스턴스 생성 및 로그 레벨 설정
logger = logging.getLogger(__name__)
logger.setLevel(logging.warning)
# formmater 생성
formatter = logging.Formatter('[%(levelname)s] %(asctime)s %(message)s' ,datefmt='%m/%d/%Y %I:%M:%S %p')
# fileHandler와 StreamHandler를 생성 , 파일 사이즈 조정
fileHandler = logging.FileHandler('/var/log/data.log')
streamHandler = logging.StreamHandler()
# +@ python 자체 파일 사이즈 제어
#file_max_bytes = 10 * 1024 * 1024 * 1024
#fileHandler = logging.handlers.RotatingFileHandler(filename='/var/log/data.log', maxBytes=file_max_bytes, backupCount=10)
# Fommater 할당
fileHandler.setFormatter(formatter)
streamHandler.setFormatter(formatter)
logger.addHandler(fileHandler)
logger.addHandler(streamHandler)
# Test
logger.debug("debug log ")
logger.info("info log ")
logger.warning("warning log ")
logger.error("error log ")
logger.critical("critical log ")
참고:
https://docs.python.org/ko/3/howto/logging.html