티스토리 뷰

728x90

로그 레벨(Log Level)은 애플리케이션이 실행되는 동안 기록되는 로그의 중요도나 심각도를 구분하는 기준입니다. 이를 통해 어떤 종류의 이벤트를 기록할지 결정하고, 나중에 로그 파일을 분석할 때 발생한 문제의 원인을 찾거나 애플리케이션의 동작 상태를 확인할 수 있습니다. 각 로그 레벨은 특정한 종류의 메시지를 의미하며, 중요도에 따라 다섯 가지로 나눌 수 있습니다.

주요 로그 레벨

  1. DEBUG:
    • 의미: 디버깅 목적으로 사용되며, 개발 중에 발생하는 상세한 정보를 기록합니다. 실행 흐름이나 변수 값 등을 추적할 때 유용합니다.
    • 사용 예시: 함수 호출 시 파라미터 값이나 로직의 세부 단계.
    • 언제 사용?: 개발 중에 애플리케이션의 상태를 세밀하게 추적할 때 사용합니다.
  2. INFO:
    • 의미: 일반적인 정보를 기록하며, 애플리케이션의 정상적인 동작을 나타냅니다. 주로 중요한 이벤트나 작업이 성공적으로 완료되었음을 알리는 로그입니다.
    • 사용 예시: 서버가 시작되었거나, 사용자 로그인 성공 등의 정보.
    • 언제 사용?: 시스템 상태나 중요한 정보의 흐름을 모니터링할 때 사용합니다.
  3. WARNING:
    • 의미: 주의가 필요한 상황이나 문제가 발생할 수 있는 이벤트를 기록합니다. 애플리케이션은 계속 동작하지만, 잠재적으로 문제를 일으킬 수 있는 상황을 나타냅니다.
    • 사용 예시: API 호출 실패 시 재시도, 용량이 거의 다 찬 디스크 경고 등.
    • 언제 사용?: 문제는 아니지만, 주의 깊게 살펴볼 필요가 있는 상황에서 사용합니다.
  4. ERROR:
    • 의미: 오류가 발생했지만, 애플리케이션이 계속 동작할 수 있는 문제를 기록합니다. 문제를 해결하지 않으면 기능이 제대로 동작하지 않을 수 있습니다.
    • 사용 예시: 데이터베이스 연결 실패, 파일을 읽지 못하는 경우.
    • 언제 사용?: 시스템이 특정 요청을 처리하는 데 실패했을 때 사용합니다.
  5. CRITICAL:
    • 의미: 치명적인 오류가 발생하여 애플리케이션이 계속해서 동작할 수 없거나 심각한 문제가 발생했을 때 기록합니다. 즉각적인 조치가 필요합니다.
    • 사용 예시: 시스템 충돌, 메모리 부족, 데이터 손실.
    • 언제 사용?: 애플리케이션이나 시스템 전체에 중대한 영향을 미치는 오류가 발생했을 때 사용합니다.

로그 레벨의 설정과 사용

로그 레벨은 기록할 로그의 중요도에 따라 결정되며, 각각의 로그 레벨에 맞는 메시지만 기록되도록 설정할 수 있습니다. 예를 들어, 로그 레벨이 WARNING으로 설정된 경우, DEBUG와 INFO 수준의 로그는 기록되지 않고, WARNING 이상의 로그만 기록됩니다.

로그 레벨 예시 코드 (Python의 logging 모듈)

import logging

# 로그 레벨 설정 (INFO 이상만 기록)
logging.basicConfig(level=logging.INFO)

# 각 로그 레벨별 메시지
logging.debug("이것은 디버그 메시지입니다.")  # 기록되지 않음
logging.info("정보: 애플리케이션이 정상적으로 시작되었습니다.")  # 기록됨
logging.warning("경고: API 호출이 실패했습니다. 재시도합니다.")  # 기록됨
logging.error("오류: 파일을 찾을 수 없습니다.")  # 기록됨
logging.critical("치명적 오류: 시스템이 곧 종료됩니다.")  # 기록됨

이 코드는 로그 레벨을 INFO로 설정했기 때문에 DEBUG 메시지는 기록되지 않으며, INFO 이상의 로그만 기록됩니다.

정리

  • DEBUG: 개발 및 디버깅을 위한 상세한 로그.
  • INFO: 애플리케이션의 정상 동작을 기록하는 일반 로그.
  • WARNING: 문제를 일으킬 수 있는 상황.
  • ERROR: 실패한 요청이나 처리 중 발생한 오류.
  • CRITICAL: 치명적인 문제로, 즉각적인 조치가 필요한 상황.

이러한 로그 레벨을 적절하게 사용하면 애플리케이션의 동작 상태를 효율적으로 모니터링하고, 발생한 문제를 신속히 해결할 수 있습니다.

728x90