프로그램 진행 상황에 따라 다른 level의 log 출력
debug > info > warning > error > critical
debug: 개발시 처리 기록을 남겨야하는 로그 정보
- call_A() 함수로 변수 A를 호출함
- 변수 A를 B로 변경함
info: 처리가 진행되는 동안의 정보를 알림
- 서버 시작
- 서버 종료
- 사용자 A가 프로그램에 접속
warning: 입력된 정보를 처리할 수 있으나 의도치 않은 정보가 들어왔을 때 알림
- str 입력이 아닌 int가 입력
- 함수에 argument로 이차원 리스트를 기대했으며 일차원 리스트가 들어옴
error: 잘못된 처리로 인해 실행은 되지 않으나, 프로그램은 동작할 때 알림
- 파일에 기록을 해야하나 파일이 없음
- 외부서비스와의 연결 불가
critical: 잘못된 처리로 인해 데이터 손실 및 프로그램이 동작하지 않을 때 알림
- 잘못된 접근으로 해당 파일 삭제
- 사용자에 의한 강제 종료
import logging
logger = logging.getLogger("main") # Logger 선언
stream_hander = logging.StreamHandler() # Logger의 output 방법 선언
logger.addHandler(stream_hander) # Logger의 output 등록
logger.setLevel(logging.DEBUG)
logging.debug("버그를 잡자!")
logging.info("이런 정보를 가지고 있습니다.")
logging.warning("조심하자!")
logging.error("오류 발생")
logging.critical("망함.")
실제 프로그램을 실행할 땐 여러 설정이 필요
configparser
argparser