Java
Log4J
#
Find similar titles
-
최초 작성자
jskim-intern@insilicogen.com
- 최근 업데이트
Structured data
- Category
- Programming
Table of Contents
Log4J란 #
Log4J란 Log for Java(Apache Open Source Log Library)의 준말이며 자바기반 로깅 유틸리티로 디버깅용 도구로 주로 사용되고 있다.
- 로그를 남기는 가장 쉬운 방법은 System.out.println("로그 메시지")이지만 프로그램 개발 완료 후 불필요한 로그를 삭제해야 하며 성능 저하 요인이 될 수 있다.
- 로깅은 애플리케이션 문제 발생 시 개발자에게 자세한 상황을 파악할 수 있도록 해주며 테스트 시 유용하게 사용될 수 있다.
Log4J 라이브러리는 멀티스레드 환경에서도 성능에 전혀 영향을 미치지 않으면서 안전하게 로그를 기록할 수 있는 환경을 제공한다.
Log4J특징 #
Console, File, Database, TCP 원격 서버에 로그를 출력할 수 있다. 낮은 등급에서 높은 등급으로의 6단계 로그 레벨 별로 출력 가능하다.
- TRACE, DEBUG, INFO, WARN, ERROR, FATAL
- 로그 환경설정 파일에 대상 별(자바 패키지)로 로그 레벨 설정이 가능하고, 설정한 레벨 이상의 로그만 저장하는 방식이다.
Log4J 핵심 구성 요소 #
Logger #
Log4J의 핵심 구성 요소로 6개의 로그 레벨을 가지고 있으며 로그 출력 여보는 로그 레벨에 따라 결정된다.
- 출력하고자 하는 로그 메시지를 Appender에게 전달한다.
Appender #
Appender는 Logger로부터 전달된 로그 메시지를 출력한다.
- 1개의 Logger에 여러 개의 Appender를 설정할 수 있다.
- Appender 인터페이스를 구현한다.
- Appender 인터페이스를 구현한 ConsoleAppender, FileAppender, Daily RollingFileAppender, DBAppender 등을 기본 제공한다.
Layout #
로그 메시지를 어떤 형식으로 출력할 것이지 결정한다.
Log4J 로그 레벨 #
로그 레벨 | 설명 |
---|---|
FATAL | 애플리케이션을 중지해야 할 가장 심각한 에러가 발생 했을 때 출력 |
ERROR | 오류가 발생했지만, 애플리케이션은 계속 실행할 수 있을 때 출력 |
WARN | 잠재적인 위험(에러)를 안고 있는 상태일 때 출력(경고) |
INFO | 애플리케이션의 주요 실행 정보 출력 |
DEBUG | 애플리케이션의 내부 실행 상황을 추적하기 위해 상세 정보 출력 |
TRACE | DEBUG 보다 더 상세한 정보를 출력 |