[python] 로그 남기기(logging)

woojjn·2022년 1월 23일
0

python 기초

목록 보기
8/10

로그를 남길 때

  • 프로그램이 실행되는 동안 일어나는 정보 기록
  • 유저의 접근, Exception, 특정 함수 사용 기록
  • Console 화면에 출력, 파일에 남기기, DB에 남기기
  • 기록된 로그를 분석하여 의미있는 결과를 도출할 가능성이 있을 때
  • 실행 시점에 남겨야 의미가 있는 기록

프로그램 진행 상황에 따라 다른 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("망함.")

실제 프로그램을 실행할 땐 여러 설정이 필요

  • 데이터 파일 위치
  • 파일 저장 장소
  • operation type 등

configparser

  • 프로그램 실행 설정을 file에 저장
  • section, key, value 형태로 설정된 파일

argparser

  • console 창에서 프로그램 실행시 setting 정보를 저장
  • Command-Line Option이라고 부름

0개의 댓글