로그의 중요도를 구분하는 등급입니다. 개발자가 프로그램의 실행 상태를 기록할 때, 모든 기록이 다 같은 중요도를 갖지 않습니다. 로깅 레벨을 사용하면 "이 로그는 단순 정보야", "이 로그는 심각한 에러야" 와 같이 각 로그의 성격을 명확히 할 수 있습니다.
이를 통해 필요한 정보만 골라서 보거나, 운영 중인 서비스에서 심각한 문제만 빠르게 필터링하는 것이 가능해집니다.
아래 5가지 레벨이 가장 표준적으로 사용됩니다. 설정된 레벨 이상의 로그만 출력됩니다.
(예: INFO
레벨로 설정하면 DEBUG
로그는 보이지 않고, INFO
, WARNING
, ERROR
, CRITICAL
로그가 보입니다.)
레벨 (Level) | 설명 | 사용 예시 |
---|---|---|
1. DEBUG | 상세한 디버깅 정보. 개발 시에만 필요한 변수 값, 특정 로직의 시작과 끝 등 가장 자세한 내용을 기록합니다. | 변수 a의 값: 10 , for문 시작 |
2. INFO | 일반적인 정보. 프로그램이 예상대로 잘 동작하고 있음을 보여주는 정보성 메시지입니다. | 서버 시작 , 사용자 로그인 성공 , DB 연결 완료 |
3. WARNING | 경고. 현재는 문제가 없지만, 미래에 잠재적인 문제가 될 수 있는 상황을 알립니다. 프로그램은 중단되지 않습니다. | 메모리 사용량 80% 초과 , 오래된 API 버전 사용 중 |
4. ERROR | 오류. 심각한 문제로 인해 프로그램의 일부 기능이 제대로 동작하지 못하는 상황입니다. | 파일을 찾을 수 없음 , DB 쿼리 실패 , 네트워크 연결 끊김 |
5. CRITICAL | 치명적인 오류. 프로그램 전체가 중단되거나 더 이상 실행을 계속할 수 없는 매우 심각한 상태입니다. | 시스템 전체 다운 , 주요 데이터베이스 접근 불가 |
로깅 레벨은 라디오 볼륨 조절기와 같습니다.
이렇게 상황에 맞게 로그 레벨을 조절하면, 수많은 로그 속에서 원하는 정보를 효율적으로 찾아낼 수 있습니다.