로그(Log)란 프로그램 개발이나 운영 시 발생하는 문제점을 추적하거나 운영 상태를 모니터링하기 위한 텍스트이다.
프로그램을 짤때 System.out.println(); 를 사용하여 로그를 확인할 수 있지만, 로깅방식을 변경하여 확인하는 방식을 추천함. 다만, DEBUG 이상으로 셋팅해놓을 경우 디스크에 로그가 많이 쌓일 수 있고, 로그가 일정 기간 내 삭제가 되도록 스케줄링이 안되어 있으면 장애가 발생할 수 있으니 이점 체크가 필요함
■ log4j2 로그 레벨
TRACE > DEBUG > INFO > WARN > ERROR > FATAL
1)FATAL : 아주 심각한 에러가 발생한 상태를 나타냄.
2)ERROR : 어떠한 요청을 처리하는 중 문제가 발생한 상태를 나타냄.
프로그램 동작에 문제가 발생했다는 것으로 즉시 문제 확인필요 (DB를 사용할 수 없는 상태, 중요 에러가 나오는 상황)
3)WARN : 프로그램의 실행에는 문제가 없지만, 향후 시스템 에러의 원인이 될 수 있는 경고성 메시지를 나타냄.
WARN에서도 2가지의 부분에선 종료가 일어남
- 명확한 문제 : 현재 데이터를 사용 불가, 캐시값 사용 등
- 잠재적 문제 : 개발 모드로 프로그램 시작, 관리자 콘솔 비밀번호가 보호되지 않고 접속 등
4)INFO : 어떠한 상태 변경과 같은 정보성 메시지를 나타냄.
5)DEBUG : 개발시 디버그 용도로 사용하는 메시지를 나타냄
6)TRACE : 디버그 레벨이 너무 광범위한 것을 해결하기 위해서 좀 더 상세한 이벤트를 나타냄
*INFO로 셋팅하면, INFO, WARN, ERROR, FATAL은 기록됨.