Log4j WebSphere 에서 Log4j 사용하기

황제낙엽 2011.04.15 14:58 조회 수 : 52

sitelink1 http://muimi.com/j/jakarta/commons/logging/ 
sitelink2  
sitelink3  
extra_vars4  
extra_vars5  
extra_vars6  

1. 링크의 내용

 

이미 개발된 Application 의 경우에도 쉽게 변경 가능한 방법일거란 생각이 든다.

common-logging 을 사용하지 않고 직접 Log4j를 이용하는 방법이다.

 

public class HogeLogFactory {

    public static Log getLog(Class clazz){
        
        Logger real = Logger.getLogger(clazz);
        Log4JLogger logger = new Log4JLogger(real);
        return logger;
    }
}
위와 같이 Log4JLogger 인스턴스를 직접 생성하여 반환하는 코드를 작성하고 로깅을 하면 되겠다.

 

 

 

2. 위 내용으로 작성한 클래스

 

import org.apache.commons.logging.Log;
import org.apache.commons.logging.impl.Log4JLogger;

public class LogFactory {

    /**
     * Websphere(WAS5.0) 등에서 디폴트로 commons-logging 을 이용할 수 없으므로
     * Log4JLogger 를 commons-logging 을 통하지 않고 직접 취한다.
     * @param clazz
     * @return
     */
    public static Log getLog(Class clazz) {

        Log log = null;
        
        try {
            
            Class.forName("org.apache.log4j.Logger");
            log = new Log4JLogger(org.apache.log4j.Logger.getLogger(clazz));
            
        } catch (ClassNotFoundException ex) {
            log = org.apache.commons.logging.LogFactory.getLog(clazz);
        }
        
        return log;
    }
}