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;
}
}