log4j
📝 log4j란?
정의
log4j는 Java 애플리케이션에서 로그를 남기기 위한 로깅 라이브러리이다. 애플리케이션 실행 중 발생하는 상태, 오류, 흐름을 기록하는 데 사용한다.
🎯 사용하는 이유
- 실행 흐름을 기록한다.
- 오류 원인을 추적한다.
- 운영 환경에서 상태를 확인한다.
- 장애 발생 시 로그를 기반으로 분석한다.
포인트
로그는 단순 출력이 아니라 운영과 장애 분석을 위한 기록이다.
🧱 주요 개념
- Logger: 로그를 남기는 주체
- Appender: 로그를 출력하는 대상
- Layout: 로그 출력 형식
- Level: 로그 중요도
🔍 로그 레벨
- TRACE
- DEBUG
- INFO
- WARN
- ERROR
- FATAL
[!important] 주의 로그 레벨을 너무 낮게 두면 불필요한 로그가 너무 많이 쌓이고, 너무 높게 두면 중요한 단서를 놓칠 수 있다.
🔄 log4j와 log4j2
- log4j는 오래된 Java 로깅 라이브러리이다.
- 실무에서는 보통
log4j2또는SLF4J와 함께 사용한다. - 기능과 성능 측면에서
log4j2가 더 많이 언급된다.
정리
현재는
log4j단독보다 log4j2와의 관계를 같이 이해하는 것이 더 중요하다.
🛠️ 기본 설정 예시
log4j.rootLogger=INFO, console, file
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c - %m%n
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=logs/app.log
log4j.appender.file.MaxFileSize=10MB
log4j.appender.file.MaxBackupIndex=7
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c - %m%n
⚠️ 주의할 점
- 로그 레벨과 출력 대상은 운영 환경에 맞게 조정한다.
- 민감한 정보는 로그에 남기지 않는다.
- 로그 파일이 너무 커지지 않도록 롤링 정책을 함께 둔다.
- 오래된 프로젝트는
log4j와log4j2를 혼동하지 않도록 주의한다.
🧾 정리
log4j는 Java 로깅의 기본 개념을 이해하는 데 중요한 라이브러리다. 실무에서는 로그 레벨, 출력 형식, 롤링 정책을 함께 관리하는 것이 핵심이다.
댓글남기기