로그 레벨

1. FATAL (치명적 오류)

애플리케이션이 더 이상 실행될 수 없는 심각한 오류

  • 시스템이 즉시 종료될 정도로 중요한 문제
  • 반드시 즉각적인 조치가 필요

예시

  • 중요한 설정 정보가 누락됨
  • 데이터베이스 연결이 끊어져 필수 기능 수행 불가
  • 디스크 공간 부족으로 시스템 중단
  • 해킹 시도 감지

2. ERROR (오류)

특정 기능이 작동하지 않지만, 전체 시스템은 계속 실행 가능

  • 긴급 대응 필요하지만, 시스템 전체가 멈추는 것은 아님
  • 일부 기능이 비정상적이거나 실패했을 때 기록됨

예시

  • API 요청이 실패하여 서비스에 영향
  • 네트워크 연결 실패 (자동 복구가 안 되는 경우)
  • JSON 데이터를 읽는 중 오류 발생

3. WARN (경고)

예상치 못한 상황이지만, 시스템이 정상적으로 동작함

  • 즉각적인 오류는 아니지만, 조치가 필요할 가능성이 높음
  • 시스템이 정상적으로 동작하더라도 미래에 문제로 발전할 수 있음

예시

  • CPU, 메모리 사용량이 위험 수준 근접
  • 로그인 실패 횟수가 비정상적으로 많음 (보안 위험)
  • 오래된 설정값 사용 중

4. INFO (정보)

시스템의 정상적인 동작을 기록하는 로그

  • 문제 해결보다는 시스템의 중요한 상태 변화 기록
  • 일반적으로 프로덕션 환경에서 기본적으로 활성화됨

예시

  • 서비스 시작 및 종료 기록
  • 작업이 정상적으로 완료됨 (예: 파일 업로드 성공)
  • 주기적인 상태 점검 결과

5. DEBUG (디버그)

개발자가 문제 해결을 위해 사용하는 상세한 로그

  • 개발 및 테스트 환경에서만 사용
  • 많은 양의 데이터를 기록하기 때문에 운영 환경에서는 비활성화하는 것이 일반적

예시

  • 데이터베이스 쿼리 내용 확인
  • API 요청 및 응답 정보
  • 설정값 및 실행 시간 기록

6. TRACE (추적)

코드 실행 경로를 상세하게 추적하는 로그

  • 디버깅보다 더 세밀한 로그로 코드가 어떻게 실행되는지 확인
  • 보통 성능 분석이나 복잡한 문제 해결 시 사용
  • 운영 환경에서는 사용하지 않음 (너무 많은 데이터 생성)

예시

  • 함수가 호출될 때 입력값 및 반환값 기록
  • 반복문 내에서 처리되는 데이터 추적
  • 알고리즘의 동작 과정 확인

정리

로그 레벨 설명 예시
FATAL 시스템이 멈춰야 할 정도로 치명적인 문제 발생 데이터베이스가 완전히 다운됨
ERROR 기능이 실패했지만 시스템은 계속 작동 가능 외부 API 호출 실패, 네트워크 오류
WARN 이상 징후가 있지만 큰 문제는 아님 CPU 사용량 급증, 보안 위협 가능성
INFO 시스템의 정상적인 상태 변화 기록 서비스 시작/종료, 작업 완료 메시지
DEBUG 개발자가 문제 해결을 위해 추가적인 정보를 보고 싶을 때 API 요청/응답 상세 내용, SQL 쿼리 실행 결과
TRACE 코드 실행 과정을 매우 상세히 추적할 때 함수 호출 과정, 알고리즘 수행 과정

 

 

운영 환경(production): INFO, WARN, ERROR, FATAL
개발 환경(development): DEBUG, TRACE 포함 모든 로그

+ Recent posts