보통사람

[Eclipse] 이클립스에 Log4j(1.x) 추가 본문

정리

[Eclipse] 이클립스에 Log4j(1.x) 추가

pej4303 2019. 8. 11. 01:54

자바를 배우면서 로그를 출력하는 방법으로 제일 먼저 배우는 것은 Sysout.out.print() 입니다. 하지만 log4j라는 것을 이용하면 내가 원하는 것만 원하는 방식으로 출력하는 것이 가능하며 실제 프로젝트를 진행하면서 주로 log4j를 사용하는 것을 보았기 때문에 이클립스에 log4j를 추가하는 방법에 대해 정리해보고자 합니다.  

  

현재 log4j는 1.x 버전과 2.x 버전으로 되어 있으며 현재 2.12.1 버전이 최신이나 1.x 버전이 추가하기 더 쉽기때문에 본글에서는 1.x 버전으로 진행하겠습니다. 나중에 시간이 나면 2.x 버전 추가하는 방법도 정리할 예정입니다.

 

  • OS : Windows 10 64bit

  • IDE : Eclipse photon

  • log4j : 1.2.17

 

1. Apache log4j 사이트 접속

 

 

Apache log4j 1.2 - Download Apache log4j 1.2

Log4j 2 is nominated for the JAX Innovation Awards! Do you like its performance, garbage-free logging, and easy and flexible configuration? Log4j 2 needs your love. Vote for Log4j 2! End of Life On August 5, 2015 the Logging Services Project Management Com

logging.apache.org

 

2. 1.2.17 버전 zip 파일 다운

 

3. 압축을 해제한 후 jar파일을 프로젝트 WEB_INF/lib 폴더에 복사

 

  • log4j-1.2.17.jar

4. log4j 설정파일 추가

# debug 레벨 이하만 나옴
log4j.rootLogger = debug, test
log4j.appender.test = org.apache.log4j.ConsoleAppender
log4j.appender.test.layout = org.apache.log4j.PatternLayout
# 출력 패턴
log4j.appender.test.layout.ConversionPattern = [%d{yyyy-MM-dd HH:mm:sss}] %5p (%c{3} - %F) %M:%L  - %m%n
  • properties 파일 방식과 xml 파일 방식이 있습니다.  본 글에서는 properties 파일 방식으로 진행하였습니다.

  • 위치는 classes 폴더 안에 들어가야 하기 때문에 resource폴더를 만들어서 그 안에 넣어주었습니다.

프로젝트 구조

 

5. log4j 사용

 

package com.codewars.java;

import org.apache.log4j.Logger;

public class LogTest {
    private static Logger logger = Logger.getLogger(LogTest.class);
    
    public static void main (String[] args) {
        // 로그레벨 : TRACE > DEBUG > INFO > WARN > ERROR > FATAL
        // 보통 debug, info, error 많이 사용함
        logger.trace("### trace : debug 보다 상세하게 표시됨");
        logger.debug("### debug : 디버깅시 사용");
        logger.info("### info : 시스템에 대한 정보를 제공해야하는 경우 사용");
        logger.warn("### warn : 에러가 발생하지 않았지만 해당 정보에 대해서 알려주어야 할 경우 사용");
        logger.error("### error : 에러가 발생한 경우 사용");
        logger.fatal("### fatal : 시스템 운영이 불가능한 경우 사용");
    }
}

 

로그 출력