Sanggu's blog




최상단 광고 코드

 추천 사이트

 애자일 이야기 : http://agile.egloos.com
 서명덕 기자의 인터넷 : http://itviewpoint.com
 비지니스 뉴스 : http://www.ciobiz.co.kr
 MOCOMSYS : http://www.mocomsys.com
 Apache Software : http://www.apache.org
 소프트웨어 기술경력관리: http://career.sw.or.kr
 한이음 (지식경제부): http://www.hanium.or.kr
 IT 기술 뉴스: http://www.bloter.net/
 IBM 티볼리 까페: http://cafe.naver.com/tivolitool.cafe
 JAVA jar 검색 : http://www.findjar.com
 VM Ware 가상화: http://www.vmware.com

2011년 10월 11일 화요일

log4j 사용법

1. log4j 다운로드 사이트
http://logging.apache.org/log4j/1.2/download.html


위의 site ( http://logging.apache.org/log4j/1.2/download.html )에서 log4j zip 파일을 다운 받습니다.
압축을 풀면manual 및 src 등 여러가지 있으나 필요한 것은 log4j-1.2.16.jar 입니다.

2. log4j Class
아래는 log4j class를 쉽게 사용할 수 있도록 만들어 놓았습니다.
해당 class를 가지고 인스턴트 객체를 생성하여 사용하면 쉽게 사용할 수 있습니다.

LoggerObject.java

import org.apache.log4j.Layout;
import org.apache.log4j.Level;
import org.apache.log4j.Logger;
import org.apache.log4j.PatternLayout;
import org.apache.log4j.RollingFileAppender;

/**
* @author sgtae
*
*/
public class MopasLogger
{
    private static String pattern = null;
    Logger rootLogger = null;
    Layout layout = null;
    RollingFileAppender ra = null;

    public MopasLogger()
    {
        pattern = "[%d{ISO8601}] %-5r [%t] %l : %-5p %-30c - %m%n";
    }

    public void setLoggerConf(String fileName, String maxFileSize,
                                         int maxBackupIndex, String threshold) throws Exception
    {
        rootLogger = Logger.getRootLogger();
        layout = new PatternLayout(pattern);
        try
        {
            ra = new RollingFileAppender(layout, fileName);
            ra.setAppend(true);
            ra.setMaxFileSize(maxFileSize);
            ra.setMaxBackupIndex(maxBackupIndex);
           this.setThresholdLevel(ra, threshold);
           rootLogger.addAppender(ra);
        }
        catch(Exception e)
        {
             throw new Exception(e.getMessage());
        }
    }

    private void setThresholdLevel(RollingFileAppender ra, String level)
    {
        if(level.equals("OFF"))
            ra.setThreshold(Level.OFF);
        else if(level.equals("FATAL"))
            ra.setThreshold(Level.FATAL);
        else if(level.equals("ERROR"))
            ra.setThreshold(Level.ERROR);
        else if(level.equals("WARN"))
            ra.setThreshold(Level.WARN);
        else if(level.equals("INFO"))
            ra.setThreshold(Level.INFO);
        else if(level.equals("DEBUG"))
            ra.setThreshold(Level.DEBUG);
        else if(level.equals("ALL"))
            ra.setThreshold(Level.ALL);
    }
}


3. log4j 예제

Logger logger = Logger.getLogger(Class.class);
LoggerObject lo = new LoggerObject();
lo.setLogger("log.txt", "10M", 5, "DEBUG");

logger.debug("debug");
logger.info("test");
위와 같이 간단하게 만들면 log.txt 파일에 log가 계속 쌓일 것 입니다.

댓글 1개: