응용 프로그램의 중요한 비즈니스 기능 중 하나가 더 이상 작동하지 않는 상태에 진입했을 때 혹은 전체 프로그램이 비즈니스 기능을 수행하지 않을 때 알려주는 로그 수준이다. 데이터베이스와 같은 중요한 저장소에 연결할 수 없는 경우 이에 해당된다.
응용 프로그램이 하나 이상의 기능이 제대로 작동하지 않아, 일부 기능이 올바르지 않게 작동하지 않을 때 사용한다.
EX) DB를 사용할 수 없는 상태, 중요 에러가 나오는 상황
예기치 않은 일이 발생했음을 나타내는 로그 레벨이지만, 응용 프로그램이 실패했다는 것을 의미하지는 않는다. 예기치 않은 상황에서 사용하지만 기능은 예상대로 작동할 때(에러가 날 수 있는 잠재적 가능성이 있는 경우)이다.
하지만 WARN에서도 서비스 종료가 나타날 수 있다. 아래의 경우가 예시이다.
- 명확한 문제 : 현재 데이터를 사용 불가, 캐시값 사용 등
- 잠재적 문제 : 개발 모드로 프로그램 시작, 관리자 콘솔 비밀번호가 보호되지 않고 접속 등
문제가 발생했음을 나타내는 표준 로그 레벨이다. 정보성 로그이며, 요구사하엥 따라 시스템 동작을 보여줄 때 사용한다. 서비스 시작이나 중지 등이 이에 해당한다.
개발자가 기록할 가치가 있는 정보를 남기기 위해 사용하는 레벨. 문제 진단 및 문제 해결을 할 때 도움이 되는 정보이다. 이 외에도 모든 것이 올바르게 실행되고 있는지 확인하기 위해 테스트 환경에서 프로그램을 실행할 때 사용된다.
코드를 추적하고 기능의 부분을 찾을 때 사용하는 정보이다. Dev 환경에서 버그를 해결하기위해 사용하며, 최종 프로덕션이나 커밋에 포함되면 안된다고 한다.
1. 개발 시, slf4j API를 사용하여 로깅 코드를 작성한다.
2. 배포 시, 바인딩 된 구현체가 실제 로깅 코드를 수행한다.
logback은 로깅 프레임워크 중 하나로, slf4j의 구현체 라이브러리이다.
logback-core
logback-classic
logback-access
*Servlet Container 와 통합되어 Tomcat 및 jetty 등 Servket 컨테이너에 HTTP Access 로그 기능을 제공합니다.