log4j-로깅 방법
Logger 클래스는 로깅 활동을 처리하는 다양한 방법을 제공합니다. Logger 클래스는 새로운 Logger 인스턴스를 인스턴스화하는 것을 허용하지 않지만 Logger 객체를 얻기위한 두 가지 정적 메서드를 제공합니다.
- public static Logger getRootLogger();
- public static Logger getLogger(String name);
두 메서드 중 첫 번째는 응용 프로그램 인스턴스의 루트 로거를 반환하며 이름이 없습니다.
다른 명명 된 Logger 개체 인스턴스는 로거의 이름을 전달하여 두 번째 메서드를 통해 가져옵니다. 로거의 이름은 전달할 수있는 모든 문자열이 될 수 있습니다. 일반적으로 마지막 장에서 사용한 클래스 또는 패키지 이름이며 아래에 언급되어 있습니다.
static Logger log = Logger.getLogger(log4jExample.class.getName());
로깅 방법
명명 된 로거의 인스턴스를 얻으면 로거의 여러 방법을 사용하여 메시지를 기록 할 수 있습니다. Logger 클래스에는 로깅 정보를 인쇄하기위한 다음과 같은 메서드가 있습니다.
# | 방법 및 설명 |
---|---|
1 | public void debug(Object message)
Level.DEBUG 레벨로 메시지를 인쇄합니다. |
2 | public void error(Object message)
Level.ERROR 수준의 메시지를 인쇄합니다. |
삼 | public void fatal(Object message)
Level.FATAL 수준의 메시지를 인쇄합니다. |
4 | public void info(Object message)
Level.INFO 레벨로 메시지를 인쇄합니다. |
5 | public void warn(Object message)
Level.WARN 수준의 메시지를 인쇄합니다. |
6 | public void trace(Object message)
Level.TRACE 레벨로 메시지를 인쇄합니다. |
모든 수준은 org.apache.log4j.Level 클래스와 위에서 언급 한 메서드 중 하나를 다음과 같이 호출 할 수 있습니다.
import org.apache.log4j.Logger;
public class LogClass {
private static org.apache.log4j.Logger log = Logger.getLogger(LogClass.class);
public static void main(String[] args) {
log.trace("Trace Message!");
log.debug("Debug Message!");
log.info("Info Message!");
log.warn("Warn Message!");
log.error("Error Message!");
log.fatal("Fatal Message!");
}
}
컴파일하고 실행할 때 LogClass 프로그램에서 다음과 같은 결과를 생성합니다.
Debug Message!
Info Message!
Warn Message!
Error Message!
Fatal Message!
모든 디버그 메시지는 레벨과 함께 사용할 때 더 의미가 있습니다. 다음 장에서 레벨을 다룰 것이며, 다른 레벨의 디버깅과 함께 이러한 메소드를 사용하는 방법을 잘 이해하게 될 것입니다.