Skip to content

Java Log4J #
Find similar titles

Structured data

Category
Programming

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 보다 더 상세한 정보를 출력
0.0.1_20140628_0