티스토리 뷰

Studying/Web Application

Apache Commons Logging

hongkyu 2012. 10. 10. 08:20

1.  특징

1.1.       주요 기능 

Apache Commons Logging은 많은 로깅 툴킷에 대한 독립적인 경량의 로그 인터페이스이다. Apache Commons Logging은 미들웨어 및 툴 개발자에게 단순한 로깅 추상화 계층을 제공하기 때문에 사용자(애플리케이션 개발자)는 특정 로깅 구현체를 플러그인하여 사용할 수 있게 된다. Apache Commons Logging Log4j, Avalon LogKit, JDK1.4를 포함한 다른 로깅 툴에 대한 경량의 래퍼(wrapper) 구현체에 대한 로그 인터페이스를 제공한다.

 

1.2.       동작 특성

 

1)      Apache Commons Logging은 다음과 같은 기본이 되는 두 가지 추상 클래스가 있다.

     Log : 기본 Logger 인터페이스, 다양한 로깅 API를 추상화시키는 단순한 로깅 인터페이스

     LogFactory : Log 객체를 생성하는 추상 클래스, Java API 중에서 JAXP와 유사하게 Configuration 클래스를 찾아 Log의 인스턴스를 생성하는 추상 클래스

 

2)      LogFactory는 다음과 같이 Log 구현체를 찾는다. (아래 과정은 순서대로 진행되고, 제일 처음 성공한 단계 이후의 과정은 진행시키지 않는다.)

     LogFactory에 대한 Configuration 속성 중에서 org.apache.commons.logging.Log 속성을 찾는다. (commons-logging.properties 파일 설정)

     시스템 프로퍼티에서 org.apache.commons.logging.Log 속성을 찾는다

     애플리케이션 클래스 패스 안에 Log4j 로깅 시스템을 찾는다. 만약 애플리케이션의 클래스 패스에 Log4j 로깅 시스템을 찾았다면, Log4j에 관련된 래핑 클래스인 Log4JLogger를 이용한다.

     애플리케이션이 만약 JDK1.4 시스템에서 구동 중이라면, JDK 1.4과 관련된 래핑 클래스인 Jdk14Logger를 이용한다.

     위 과정 모두 실패했다면, SimpleLog 라는 디폴트로 제공되는 로깅 래핑 클래스를 사용한다


 

 

2.  예제

2.1.       log4j와 연동

 

1)     예제 조건

    log4j와 연동하도록 설정파일 (commons-logging.properties)을 작성

 

2)     commons-logging.properties

 

org.apache.commons.logging.Log = org.apache.commons.logging.impl.Log4JLogger

 

 

2.2.       로그 사용 소스

 

1)     예제 조건

    log4j를 사용하는 java 파일(LoggingTest1) apache commons logging API를 사용하도록 신규로 작성

    클래스명은 LoggingTest2 사용.

 

2)     LoggingTest2 소스

 

import org.apache.commons.logging.Log;

import org.apache.commons.logging.LogFactory;

 

public class LoggingTest2 {

      

       public static void main(String[] args) {

            

             Log loggerConsole = LogFactory.getLog("LoggingTest2");

             Log loggerFile = LogFactory.getLog("framework");

             Log loggerRolling = LogFactory.getLog("business");

            

             loggerConsole.debug("ConsoleAppender");

             loggerFile.debug("FileAppender");

             loggerRolling.debug("DailyRollingFileAppender");

       }

}

 

 

반응형

'Studying > Web Application' 카테고리의 다른 글

XML Parser 정리  (0) 2012.10.10
DB Connection 정리  (0) 2012.10.10
Log4j 정리  (0) 2012.10.10
JSP 정리  (0) 2011.04.10
[JSP] 내장 객체의 범위  (0) 2011.04.08
댓글
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
최근에 올라온 글
글 보관함
Total
Today
Yesterday