Eclipse Log4E 플러그인을 사용하려면 먼저 Log4J 가 필요하다
1. Log4J 등록 및 log4j.properties 설정
Log4J 다운로드 : http://logging.apache.org/log4j/1.2/download.html
현재 최신버전은 apache-log4j-1.2.15.zip 을 다운로드 받아 압축을 푼 후
apache-log4j-1.2.15.jar 파일을 사용할 프로젝트에 등록하면 된다
1) Log4J 라이브러리 등록
방법1) 생성한 프로젝트에만 적용할 경우
프로젝트에 lib 디렉토리를 생성후 apache-log4j-1.2.15.jar 를 넣고 classpath 에 추가
==> 생성한 프로젝트(Log4jEx01이라는 프로젝트 임) 선택 후 오른쪽 마우스를 클릭
하여 properties 의 Java Build Path 를 선택후 lib 디렉토리 밑에 jar 파일을
선택하면 프로젝트에서 사용할 수 있도록 등록된 아래와 같은 화면을 확인 할 수 있다
방법2) 이클립스에서 생성하는 모든 프로젝트에 log4j 를 사용하려면 이크립스에서 라이브러리를 등록
==> 이클립스에서 windows --> preperence --> Java --> Build Path --> User Libraries
선택 후 New 버튼 클릭해서 새로운 User Library 를 생성
==> 등록된 User Libraries 를 선택 후 jar 파일을 등록
==> log4j-1.2.15.jar 파일을 선택 후 OK 버튼을 클릭하면 이클립스의 .meta 파일에 lo4j의
라이브러리가 등록된다
==> 생성한 프로젝트(Log4jEx01이라는 프로젝트 임) 선택 후 오른쪽 마우스를 클릭하여
properties 의 Java Build Path 를 선택후 Libraries 선택 후 Add Library 를 선택하여
위에서 추가한 User Library 를 선택한다.
==> 프로젝트에 log4j 라이브러리를 사용하도록 준비된 상태를 아래와 같이 확인
[TIP] jre/lib/ext 에 넣고 써도 되긴 하지만, appender 관련 경고메시지가 뜬다고 하니 위와 같이 유저라이브러리처럼 필요할 때 마다 삽입하는것도 괜찮을 듯하다
다음은 Log4j.properties 생성 및 설정을 확인해 보자
log4j 의 설정파일은 log4j.properties, log4.xml, java source 로 하는 방법이 있으니
properties 가 가장 사용하기 쉽고 직관적이라... 이를 많이 활용하는 편이다
2) log4j.properties 생성 및 패스설정
이클립스의 File --> New --> File을 선택하고 파일이름을 log4j.properties 로 생성한다
파일생성 후 설정정보를 다음과 같다. 일반적으로 로그는 console 과 logfile 로 쌓는다
(log4j 는 메시지를 콘솔,텍스트파일, html파일, xml 파일, 이메일등으로 전송가능하다.)
# Log4j Setting file
# priority = DEBUG < INFO < WARN < ERROR < FATAL
log4j.rootLogger = DEBUG, console, dailyfile
# log level and appender
#log4j.logger.com.mudchobo=DEBUG, console, dailyfile
#log4j.logger.com.mudchobo.LoggerTest2=DEBUG, console
log4j.appender.console.Threshold = INFO
log4j.appender.console = org.apache.log4j.ConsoleAppender
log4j.appender.console.layout = org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=[%d][%-5p](%F:%L) - %m%n
log4j.appender.dailyfile.Threshold = DEBUG
log4j.appender.dailyfile=org.apache.log4j.DailyRollingFileAppender
log4j.appender.dailyfile.File=./log/logfile.log
log4j.appender.dailyfile.DatePattern='.'yyyy-MM-dd
log4j.appender.dailyfile.layout=org.apache.log4j.PatternLayout
log4j.appender.dailyfile.layout.ConversionPattern=[%d][%-5p](%F:%L) - %m%n
위 설정에 대한 정보는 별도로 Log4j 설정정보를 통해 공부하기를 바란다
생성한 log4j.properties 패스를 설정한다.
[방법1] 디폴트 패기지 생성
생성한 properties 파일은 프로젝트의 디폴트 패키지에 넣으면 별도의 패스설정 없이 프로그램이
수행시 자동으로 연결되지만, 프로젝트에 따라서 이런 properties 파일은 별도의 디렉토리에 관리할 수 도 있다. 이럴경우 properties 파일이 들어간 디렉토리를 디폴트 패키지로 만들어 주면 된다.
아래의 경우는 conf 디렉토리를 새로 만들고 거기에 log4j.properties 파일을 두고 conf 디렉토리를
디폴트 패키지로 설정한 예이다.
[방법2] PropertyConfigurator 로 패스설정
메인소스 에서 아래의 코드를 추가한다
import! org.apache.log4j.PropertyConfigurator;
PropertyConfigurator.configure(log4j.properties");
[TIP] 위와 같이 프로그램에서 인지하는 디렉토리에 properties 파일을 두지 않으면 다음과 같은
에러가 발생한다.
log4j:WARN No appenders could be found for logger (com.sunsuk.HelloWorld).
log4j:WARN Please initialize the log4j system properly.
2. 이클립스에 Log4E 이클립스 플러그인 설치
그런뒤에 이제는 이클립스 플러그인 중 Log4E 를 이용하여 Log4j 를 사용해 보도록 한다
(Log4E 플러그인은 이클립스의 업데이트 메뉴를 이용하여 다운받는다. Pro버전은 45일간 무료이나, Pro버전이 아닌것을 사용해도 무방하다고 함)
Log4E 다운로드 url = http://log4e.jayefem.de/update
설치 완료 후 이클립스가 재 시작되면 설치가 완료 된 것이다
설치가 되었는 확인해 본다
3. Log4E 사용하기
먼저 단순하게 Hello World 를 찍어내는 클래스를 만든다
이 소스에서 Lob4J 를 이용하려면 우선 마우스를 아무곳에 가져다 대고 오른쪽 버튼을 클릭하여 그곳에서 Log4E --> Declare Logger 를 선택하면 Logger 가 자동으로 선언된다
이렇게 logger 가 생성됩니다.
다시 여기서 마우스 오른쪽 클릭 후 Lob4E --> Log This Class 를 선택하게 되면 클래스의 처음과 마지막에 로깅문이 추가된다.
선택에 따라 메소드에만 혹은 커서가 위치한 곳에만 로깅문이 삽입이 가능하다
(debug 문이 if(logger.isDebugEnabled()) 문 안쪽에 위치하기 않기를 원한다면 Log4E 옵션의 profile->Statements 부분의 Embed isDebugEnabled() statements 부분의 체크를 해제)
이제 System.out 문을 이용하여 디버그 하였던 구문들을 전부 로깅문으로 바꾸보도록 하자
마우스 오른쪽 버튼을 눌러서 Log4E -> Substitute System.out's For This Class 를 선택하자
System.out.println 구문이 logger.debug 로 바뀐것을 확인 할 수 있다
(if문이 제거된 것은 위에 쓴것처럼 옵션을 조정하면 됨)
[출처] 이클립스에서 Log4E 플러그인 사용하기|작성자 모카빵