Log4j는 자바기반 로깅 유틸리티이다. 디버그용 도구로 주로 사용되고 있다. 높은 등급에서 낮은 등급으로의 6개 로그 레벨을 가지고 있다. 설정 파일에 대상별(자바에서는 패키지)로 레벨을 지정이 가능하고 그 등급 이상의 로그만 저장하는 방식이다. apache진영에서 나온 오픈소스로 로그 메시지를 콘솔이나 텍스트 파일 혹은 xml 파일로 전송이 가능하다.
로그레벨
DEBUG < INFO < WARN < ERROR < FATAL
로그는 위와 같이 중요도 순으로 생각할 수 있고, 각 해당하는 상태는 다음과 같다.
FATAL : 애플리케이션을 중지해야 할 심각한 오류
ERROR : 어떠한 요청을 처리하는 중 문제가 발생
WARN : 잠재적인 위험을 안고 있는 상태(경고)
INFO : 어떠한 상태변경과 같은 정보성 메시지를 나타냄
DEBUG : 개발시 디버그 용도로 사용하는 상세정보 추적
TRACE : 디버그 레벨이 너무 광범위한 것을 해결하기 위해서 좀 더 상세한 이벤트를 추적
Layout 표현식
%r= 어프리케이션이 싲가되어 로깅이벤트가 발생하는 시점까지의 경과 시간을 밀리세컨드로 출력한다.
%c = logger가 a,b,c 처럼 되어 있다면 %c(2) 는 b, c가 출력 한다.
%n = 플랫폼 종속적인 개행문자가 출력(\r\n 또는 \n) 한다.
%m = 로그 내용을 출력한다.
%p = debug, info, warn, error, fatal 등의 우선순위를 출력한다.
%d = 로깅 이벤트가 일어난 날짜를 출력한다. (프로그램 실행 속도를 느리게 함)
%C = 호출자의 클래스명 출력한다.
%I = 로깅이 발생한 caller의 정보를 출력한다.
%L = 로깅이 발생한 caller의 라인수 출력한다.
%x = 로깅이 발생한 thread 와 관련된 NDC(nested diagnositic context)를 출력한다.
%X = 로깅이 발생한 threaㅇ 와 관련된 MDC(mapped diagnostic context) 를 출력한다.
%M = 로깅이 발생한 method 이름을 출력한다.
%F = 로깅이 발생한 프로그램 파일명을 출력한다.
%t = 로그 이벤트가 발생한 thread의 이름을 출력한다.
'프로그램 > JAVA, Spring' 카테고리의 다른 글
Lombok란? (0) | 2021.07.13 |
---|---|
JUnit란? (0) | 2021.07.12 |
Servlet란? (0) | 2021.07.07 |
PuTTY 한글깨짐 오류 (0) | 2021.07.02 |
PuTTY란? (0) | 2021.07.01 |
댓글