2025-01-23T11:02:27
This commit is contained in:
@@ -1,2 +1,47 @@
|
||||
# 로깅
|
||||
# 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를 사용하여 네트워크를 통해 로그를 전송합니다.
|
||||
|
||||
Reference in New Issue
Block a user