블로그는 나의 힘!
[ Programing ]/Other2010. 6. 23. 14:42
 

org.apache.log4j.Logger 로그를 실제 실행하는 클래스로서 Logger 객체에 설정된 로그 출력 레벨에 따라서 해당 레벨 범위 내에서 로그 기능을 처리한다. 일반적으로 Logger 클래스의 객체를 Logger 라고 한다.

 

Logger 들은 계층을 형성하며 부모 Logger 에 설정된 속성은 자식 Logger 에 상속된다. Logger 계층의 최상위에는 RootLogger가 존재한다. RootLogger, 반드시 존재하게 되며, 이름으로 검색이 불가능하다.

 

Logger 를 만드는 방법은 Logger 클래스의 객체를 생성하는 것으로 다음과 같은 정적 메서드를 사용하게 된다.

 

   getLogger(Class class)   

   getLogger(String name)  

   getLogger(String name, LoggerFactory factory)


 

첫 번째 메서드는 Logger.getLogger(SampleClass.class.getName())처럼 사용한다. 두 번째 메서드는 Logger 객체에 등록하는 이름을 로거 기능을 처리하는 클래스명 또는 임의의 명칭을 문자열 형으로 지정하는 것이다.

 

이 메서드들은 인수로 설정된 이름을 가진 Logger 객체를 검색하여 있다면 그 객체의 참조를 반환하고, 없다면 새롭게 Logger 객체를 생성한다.

 

 

Logger 객체 작성 후에는, 로그 레벨을 설정하여 로그 이벤트의 발생 범위를 결정한다. 이 때 설정된 로그 레벨은 행당 레벨부터 위의 레벨 까지 로그 이벤트를 적용하게 된다.
, 로그 레벨 INFO로 설정하면 INFO, WARN, ERROR, FATAL 에 적용되는 모든 로그를 처리하게 된다
단, 하위 DEBUG, TRACE의 로그 레벨의 로그는 처리하지 않는다.

 

 TRACE < DEBUG < INFO < WARN < ERROR < FATAL


 

FATAL : 가장 크리티컬한 에러가 일어 났을 때

ERROR : 일반 에러가 일어 났을 때

WARN : 에러는 아니지만 주의할 필요가 있을 때

INFO : 일반 정보를 나타낼 때

DEBUG : 일반 정보를 상세히 나타낼 때

TRACE : 일반 정보를 더욱 상세히 나타낼 때

 

특별히 로그 레벨로 ALL OFF 를 사용할 수 있는데, ALL은 모든 레벨의 로그 이벤트를 적용하며, 반대로 OFF는 모든 레벨의 로그 이벤트를 무시한다.

 

. Logger 클래스에서 제동되는 trace(), debug(), info(), warn(), error()  그리고 fatal() 을 사용해서, 원하는 로그 메시지를 전달하여 각각의 레벨 이벤트를 발생시킨다.




※ 샘플 소스 : ( Java )

import org.apache.log4j.Logger;
import org.apache.log4j.BasicConfigurator;

public class SimpleLog {
 
      // Logger 클래스의 인스턴스를 받아온다.
      static Logger logger = Logger.getLogger(SimpleLog.class);

      public SimpleLog() {
      }

      public static void main(String[] args) {

        /*
        콘솔로 로그 출력 위한 간단한 설정,
        이 설정이 없다면 경고 메세지가 출력되면서 실행이 중단된다.

        -- 경고 Message
        'log4j:WARN No appenders could be found for logger (SimpleLog).
        'log4j:WARN Please initializd the log4j system properly.
        */

        BasicConfigurator.configure();

        /*
        로그 레벨에는 아래의 5가지가 있다.
        FATAL, ERROR, WARN, INFO and DEBUG
        */

        logger.debug("Hello log4j.");
        logger.info("Hello log4j.");
        logger.warn("Hello log4j.");
        logger.error("Hello log4j.");
        logger.fatal("Hello log4j.");

    }
}



[출처]
Log4j 로 Log 찍기|작성자 헤르메스

[출처] org.apache.log4j.Logger |작성자 agblue7

'[ Programing ] > Other' 카테고리의 다른 글

2 PC 시너지(synergy) window - linux 공유 설정.  (0) 2011.01.14
SVN 명령어  (0) 2010.09.15
Kdevelop 단축키  (0) 2010.06.14
VMware에 Linux 설치하기  (0) 2010.06.01
fatal error C1010 해결 방안.  (0) 2010.04.19
Posted by Mister_Q