IT 대장간
[파이썬] 로그 남기기 본문
1. 로그 레벨
import logging
logging.basicConfig(level=logging.DEBUG, format= "%(asctime)s [%(levelname)s] %(message)s")
logging.basicConfig(level=logging.WARNING, format= "%(asctime)s [%(levelname)s] %(message)s")
logging.debug("개발 단계 오류 , level : 1")
logging.info("사용자 접근 가능한 오류, level 2")
logging.warning("경고 , level : 3")
logging.error("에러 발생, level : 4")
logging.critical("심각한 오류, level :5")
1) logging.basicConfig (level = 값) 에서 출력되는 로그의 수준을 정할 수 있다. DEBUG로 지정할 경우 DEBUG(1) 수준 이상의 레벨은 모두 출력


2. 로그 출력 (+파일생성)
#터미널과 파일에 함께 로그 남기기
import logging
from datetime import datetime
Logformat = logging.Formatter("%(asctime)s [%(levelname)s] %(message)s") #시간, 로그레벨, 메세지 형태로 로그 작성
logger = logging.getLogger()
#로그 레벨 설정
logger.setLevel(logging.DEBUG) # 로그 레벨 : DEBUG 이상 출력
#스트림(터미널 출력)
streamHandler = logging.StreamHandler() #Stream에서 로그 출력을 하는 핸들러 생성
streamHandler.setFormatter(Logformat) #위에서 선언한 로그 포맷으로 설정
logger.addHandler(streamHandler) # 핸들러 추가
#파일
filename = datetime.now().strftime("mylogfile_%Y%m%d%H%M%S.log") #저장되는 파일 이름 지정 : mylogfile_20210301142044.log
fileHandler = logging.FileHandler(filename, encoding="utf-8") # 파일형식 로그 핸들러 생성
fileHandler.setFormatter(Logformat) #위에서 선언한 로그 포맷으로 설정
logger.addHandler(fileHandler) # 핸들러 추가
logger.debug("로그 테스트")
코드를 실행해보면??
: VSCODE의 터미널을 통해 로그 메세지가 출력되고, 파일이 자동적으로 생성되어 남는다.


'Programing > Python' 카테고리의 다른 글
| [파이썬] 업무 자동화 5.웹페이지 & 셀레늄 (2) | 2021.03.18 |
|---|---|
| [파이썬] 업무자동화 2.이미지 기반 (0) | 2021.03.15 |
| [파이썬] 업무자동화 1. 마우스 이동 (1) | 2021.03.15 |
| 게임만들기 - [2] 캐릭터 이동, 프레임, 충돌처리 (0) | 2021.02.25 |
| 게임만들기 - [1] 화면 프레임, 캐릭터, 배경 (2) | 2021.02.25 |