# logging 모듈: 프로그램 실행 기록 관리 logging 모듈은 파이썬 프로그램 실행 중 발생하는 다양한 이벤트를 기록하고 관리하는 데 사용되는 표준 라이브러리입니다. 디버깅, 모니터링, 문제 해결 등 프로그램 개발 및 운영에 있어 필수적인 역할을 합니다. * 디버깅: 프로그램의 특정 부분에서 문제가 발생할 때, 로그를 통해 문제 발생 지점과 원인을 파악할 수 있습니다. * 모니터링: 프로그램의 실행 상태를 실시간으로 확인하여 성능 저하나 오류 발생 여부를 감지할 수 있습니다. * 로그 분석: 수집된 로그 데이터를 분석하여 프로그램의 성능을 개선하고, 사용자 행태를 파악할 수 있습니다. ```python 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: 심각한 오류 발생 시 출력되는 메시지 ## 포맷터 ```python formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') logger.setFormatter(formatter) ``` ## 로그 출력 설정 * 콘솔 출력: StreamHandler를 사용하여 콘솔에 로그를 출력합니다. * 파일 출력: FileHandler를 사용하여 로그를 파일에 저장합니다. * 네트워크 전송: SocketHandler를 사용하여 네트워크를 통해 로그를 전송합니다.