-
Spring-3[log4j]Spring 2021. 6. 11. 11:13
log4j ?
자바기반의 로깅 유틸리티로 Apache에서 만든 오픈소스 라이브러리이다. 옵션 설정을 통해서 선택적으로 로그를 남기거나 특정 파일에 로그를 생성하는 등 다양한 이점을 가지고 있다. 한번 설정을 해놓으면 개발할 때 편하다. sql문이 뭐가 실행되는지, 어떤 값이 담겨 오는지 알 수 있다.
log4j.xml log4j 구성요소
- Logger : 출력할 메세지를 Appender에 전달한다.
- Appender : 전달된 로그를 어디에 출력할 지 결정한다. (콘솔 출력, 파일 기록, DB 저장 등등)
- Layout : 로그를 어떤 형식으로 출력할 지 결정한다.
log4j 레벨(높은레벨 -> 낮은레벨 순서)
- FATAL : 아주 심각한 에러가 발생한 상태를 나타낸다.
- ERROR : 어떠한 요청을 처리하는 중 문제가 발생한 상태를 나타낸다.
- WARN : 프로그램의 실행에는 문제가 없지만, 향후 시스템이 에러의 원인이 될 수 있는 경고성 메세지를 나타낸다.
- INFO : 어떠한 상태변경과 같은 정보성 메시지를 나타낸다.
- DEBUG : 개발시 디버그 용도로 사용하는 메시지를 나타낸다.
- TRACE : 디버그 레빌이 너무 광범위한것을 해결하기 위해서 좀 더 상세한 이벤트를 나타낸다.
출력 레벨 설정에 따라 레벨 이상의 로그가 출력된다 ex) WARN 설정이면 ERROR, FATAL 까지 모두 출력
layout은 로그를 출력하는 형태를 만들 수 있다. PatternLayout을 이용하는게 가장 적합하다. 로그의 출력 형태, Layout을 자신이 원하는 형식으로 바꿀 수 있다.
ConversionPattern의 value 패턴
- %m : 로그내용 출력
- %p : debug, info, warn, error 등의 priority 출력
- %r : 어플리케이션 시작 후 이벤트가 발생하는 시점까지의 경과시간
- %c : pakage 출력
- %C : 클래스명 출력
- %d : 이벤트 발생 날짜 출력
- %M : 로깅이 발생한 method 이름 출력
- %F : 로깅이 발생한 프로그램 파일명 출력
- %l : 로깅이 발생한 caller 정보 출력
- %L : 로깅이 발생한 caller 라인수 출력
'Spring' 카테고리의 다른 글
reCAPTCHA v2 (0) 2021.06.26 @RequestBody / @ResponseBody (0) 2021.06.22 HttpSession (0) 2021.06.20 Spring-4[Filter, AOP, Interceptor] (0) 2021.06.12 Spring-1 (0) 2021.06.08