반응형
logging의 초급 용법:
# # -*- coding:utf-8 -*-
import logging
# 기본 로그 출력 수준은 warning입니다
# baseConfig( )를 사용하여 로그 출력 수준 지정
print("this is print log")
import logging
# 출력 형식 및 공용 정보 추가
logging.basicConfig(format="%(asctime)s|%(levelname)s|%(filename)s:%(lineno)s|%(message)s",
datefmt="%Y-%m-%d %H:%M:%S", level=logging.DEBUG)
logging.basicConfig(filename='demo.log', filemode='w', level=logging.DEBUG)
logging.debug("This is debug log1")
logging.info("This is info log")
logging.warning("This is warning log")
logging.error("This is error log")
logging.critical("This is critical log")
logging의 고급 사용법:
# # -*- coding:utf-8 -*-
import logging
# 고급 용법
# 기록기
logger = logging.getLogger('name') # logger 가져오기, name 스스로 설정
logger.setLevel(logging.DEBUG) #레벨 설정
# 프로세서 핸들러, 즉 콘솔 핸들러
consoleHandler = logging.StreamHandler()
consoleHandler.setLevel(logging.DEBUG)
# handler에 로그 수준을 지정하지 않았습니다. logger의 수준을 사용할 것입니다.
# 파일 handler, 로그 내용은 filename.log 파일에 저장되며 루트/filename.log와 같은 경로도 지정할 수 있습니다.
fileHandler = logging.FileHandler(filename='filename.log')
fileHandler.setLevel(logging.INFO)
# formatter 형식
formatter = logging.Formatter("%(asctime)s|%(levelname)-8s|%(filename)10s:%(lineno)4s|%(message)s") # - 오른쪽 정렬, 없음 - 왼쪽 정렬, %(keys)s 고정 형식
# 프로세서 포맷
consoleHandler.setFormatter(formatter)
fileHandler.setFormatter(formatter)
# 레코더는 프로세서를 설정해야 합니다.
logger.addHandler(consoleHandler)
logger.addHandler(fileHandler)
# 필터 정의
flt = logging.Filter("cn.cccb")
# 연관 필터
# # logger.addFilter(flt)
fileHandler.addFilter(flt)
# 로그 출력 코드
logger.debug("This is debug log1")
logger.info("This is info log")
logger.warning("This is warning log")
logger.error("This is error log")
logger.critical("This is critical log")
반응형
'개발 꿀팁 > PYTHON' 카테고리의 다른 글
Pytorch이상 처리 (1) | 2022.11.28 |
---|---|
Python 파일 이름에서 숫자 읽기 (0) | 2022.11.28 |
Python 폴더 이동 (0) | 2022.11.28 |
Python_ 객체 지향 (0) | 2022.11.25 |
파이썬 섭씨도와 화씨도의 변환 (0) | 2022.11.25 |