로그 레벨은 총 5가지
notset < debug < info < warning < error < critical (로그 레벨 순)
import logging
from logging.handlers import TimedRotatingFileHandler
from datetime import datetime
import os
log_dir = './logs'
# 폴더가 없다면 폴더 생성
if not os.path.exists(log_dir):
os.mkdir(log_dir)
logFormatter = logging.Formatter("%(asctime)s [%(levelname)s] %(message)s")
logger = logging.getLogger()# 로그레벨
logger.setLevel(logging.DEBUG)
# 콘솔 출력
streamHandler = logging.StreamHandler()
streamHandler.setFormatter(logFormatter)
# 콘솔 출력 로그레벨 변경
# streamHandler.setLevel(logging.CRITICAL)
logger.addHandler(streamHandler)
# 파일 출력
filename = log_dir+'/log.log'
fileHandler = TimedRotatingFileHandler(filename=filename, when='midnight', interval=1, encoding='utf-8')
fileHandler.setFormatter(logFormatter)
# 자정이 지나면 전일 파일은 log.log.년월일로 변경
fileHandler.suffix = '%Y%m%d'
# 파일 출력 로그레벨 변경
# fileHandler.setLevel(logging.ERROR)
logger.addHandler(fileHandler)
- 다른 파일에서 로그 사용 (위 파일 이름이 log_process.py)
from log_process import logging
logging.debug("debug 로그")
logging.info("info 로그")
logging.warning("warning 로그")
logging.error("error 로그")
logging.critical("critical 로그")
'Python > ETC' 카테고리의 다른 글
[python] 파이썬 문자열 함수 (String Methods) (0) | 2021.05.16 |
---|---|
[python] 파이썬 내장함수 (Built-in Functions) (0) | 2021.05.14 |
[python] 부모 폴더, 형제 폴더, 자식 폴더 내 패키지 import (0) | 2021.05.12 |
[python] 간단한 정규식 표현 (0) | 2021.05.12 |
[python] VSCODE에서 Django 개발 시 pylint 에러 (0) | 2021.04.23 |