1. Log4j 정의
Log4j - Log for Java
프로그램을 작성하는 도중에 로그를 남기기 위해 사용되는 자바 기반 로깅 유틸리티이다.
디버그용 도구로 주로 사용된다.
logging.apache.org/log4j/2.x/index.html
Log4j – Apache Log4j 2
2. Log4j 특징
- 최근 버전에 의하면 높은 등급에서 낮은 등급으로의 6개 로그 레벨을 가지고 있다. 설정 파일에 대상별(자바에서는 패키지)로 레벨을 지정이 가능하고 그 등급 이상의 로그만 저장하는 방식이다.
- FATAL
- ERROR
- WARN
- INFO
- DEBUG
- TRACE
3. Log4j 활용
이제까지는 테스트를 System.out.println()으로 테스트를 진행했다. 하지만 자원낭비가 심하기 때문에 log를 확인한다.
-> 확인하는 목적이 프로그램에 영향을 최소화 시켜 주어야 한다. 해서 로그메시지를 스택에 담아놓고 여유가 생기면 그때 처리를 하게 함
위 디팬던시를 추가하고 실행하면 아래와 같은 오류가 생긴다.
-> 리소스 폴더에 properties 파일을 추가한다.
# 첫번째는 출력 내용
# 두번째는 출력 대상
# 세번째는 출력 포멧패턴(어떤 방식으로 출력을 할 지)
# Set root logger level to DEBUG and its only appender to A1.
log4j.rootLogger=DEBUG, A1
# A1 is set to be a ConsoleAppender.
log4j.appender.A1=org.apache.log4j.ConsoleAppender
# A1 uses PatternLayout.
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n
위 코드를 log4j.properties 에 복붙
- Print pattern
그리고 서버를 다시 돌린다.
그럼 기존과 다르게 logging 메시지가 출력된다. 그리고 지금의 출력 레벨은 debug이다.
- Print level
TRACE < DEBUG < INFO < WARN < ERROR < FATAL
→ 개발을 할때에는 디버그 모드로 보다가 실제 서비스를 할떄에는 주의 또는 에러 이상으로 하면서 log를 본다.
'Programming > Spring' 카테고리의 다른 글
[Spring] Ajax 활용하여 로그인 처리 (JSON데이터, 로그인 Session 관리) (1) | 2021.03.18 |
---|---|
[Spring MVC] @ModelAttribute 어노테이션 개념 정리 (0) | 2020.12.24 |
[Spring MVC] <spring:message> 태그로 저장된 문자열 출력 (0) | 2020.12.23 |
[Spring] Apache Commons File upload & download (이미지 업로드 및 다운로드 예제) (0) | 2020.11.10 |
[Spring Test] JUnit Test (JUnit을 활용한 Test 예제) (0) | 2020.11.09 |