2.1 KiB
2.1 KiB
logging 모듈: 프로그램 실행 기록 관리
logging 모듈은 파이썬 프로그램 실행 중 발생하는 다양한 이벤트를 기록하고 관리하는 데 사용되는 표준 라이브러리입니다. 디버깅, 모니터링, 문제 해결 등 프로그램 개발 및 운영에 있어 필수적인 역할을 합니다.
- 디버깅: 프로그램의 특정 부분에서 문제가 발생할 때, 로그를 통해 문제 발생 지점과 원인을 파악할 수 있습니다.
- 모니터링: 프로그램의 실행 상태를 실시간으로 확인하여 성능 저하나 오류 발생 여부를 감지할 수 있습니다.
- 로그 분석: 수집된 로그 데이터를 분석하여 프로그램의 성능을 개선하고, 사용자 행태를 파악할 수 있습니다.
import logging
# 로거 생성
logger = logging.getLogger(__name__)
logger.setLevel(logging.DEBUG)
# 콘솔 출력 설정
stream_handler = logging.StreamHandler()
logger.addHandler(stream_handler)
# 로그 메시지 출력
logger.debug("디버그 메시지")
logger.info("정보 메시지")
logger.warning("경고 메시지")
logger.error("오류 메시지")
주요 구성 요소
- Logger: 로그를 생성하고 관리하는 객체입니다.
- Handler: 로그 메시지를 어디로 보낼지를 결정합니다. (예: 콘솔, 파일, 네트워크)
- Formatter: 로그 메시지의 형식을 지정합니다.
- Filter: 로그 메시지를 필터링하여 특정 조건에 맞는 메시지만 출력합니다.
로그 레벨
- DEBUG: 디버깅에 유용한 상세한 정보
- INFO: 일반적인 정보
- WARNING: 경고 메시지
- ERROR: 오류 발생 시 출력되는 메시지
- CRITICAL: 심각한 오류 발생 시 출력되는 메시지
포맷터
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
logger.setFormatter(formatter)
로그 출력 설정
- 콘솔 출력: StreamHandler를 사용하여 콘솔에 로그를 출력합니다.
- 파일 출력: FileHandler를 사용하여 로그를 파일에 저장합니다.
- 네트워크 전송: SocketHandler를 사용하여 네트워크를 통해 로그를 전송합니다.