log4j-로깅 수준
그만큼 org.apache.log4j.Level수준. 또한 하위 클래스를 지정하여 사용자 지정 수준을 정의 할 수도 있습니다.Level 수업.
수평 | 기술 |
---|---|
모두 | 사용자 지정 수준을 포함한 모든 수준. |
디버그 | 애플리케이션을 디버그하는 데 가장 유용한 세분화 된 정보 이벤트를 지정합니다. |
정보 | 대략적인 수준에서 응용 프로그램의 진행 상황을 강조하는 정보 메시지를 지정합니다. |
경고 | 잠재적으로 유해한 상황을 지정합니다. |
오류 | 애플리케이션이 계속 실행되도록 허용 할 수있는 오류 이벤트를 지정합니다. |
치명적인 | 응용 프로그램을 중단 할 수있는 매우 심각한 오류 이벤트를 지정합니다. |
떨어져서 | 가능한 가장 높은 순위이며 로깅을 해제하기위한 것입니다. |
자취 | DEBUG보다 더 세분화 된 정보 이벤트를 지정합니다. |
레벨은 어떻게 작동합니까?
레벨의 로그 요청 p 레벨이있는 로거에서 q 이다 enabledp> = q 인 경우. 이 규칙은 log4j의 핵심입니다. 레벨이 정렬되어 있다고 가정합니다. 표준 레벨의 경우 ALL <DEBUG <INFO <WARN <ERROR <FATAL <OFF가 있습니다.
다음 예제는 모든 DEBUG 및 INFO 메시지를 필터링하는 방법을 보여줍니다. 이 프로그램은 로거 메소드 setLevel (Level.X)을 사용하여 원하는 로깅 수준을 설정합니다.
이 예는 Debug 및 Info를 제외한 모든 메시지를 인쇄합니다.
import org.apache.log4j.*;
public class LogClass {
private static org.apache.log4j.Logger log = Logger.getLogger(LogClass.class);
public static void main(String[] args) {
log.setLevel(Level.WARN);
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 프로그램에서 다음과 같은 결과를 생성합니다.
Warn Message!
Error Message!
Fatal Message!
구성 파일을 사용하여 레벨 설정
log4j는 디버깅 수준을 변경하려는 경우 소스 코드를 변경하지 않아도되는 구성 파일 기반 수준 설정을 제공합니다.
다음은 우리가 사용했던 것과 동일한 작업을 수행하는 예제 구성 파일입니다. log.setLevel(Level.WARN) 위의 예에서 메서드.
# Define the root logger with appender file
log = /usr/home/log4j
log4j.rootLogger = WARN, FILE
# Define the file appender
log4j.appender.FILE=org.apache.log4j.FileAppender
log4j.appender.FILE.File=${log}/log.out
# Define the layout for file appender
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.conversionPattern=%m%n
이제 다음 프로그램을 사용하겠습니다.
import org.apache.log4j.*;
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!");
}
}
이제 위의 프로그램을 컴파일하고 실행하면 다음과 같은 결과가 나타납니다. /usr/home/log4j/log.out 파일-
Warn Message!
Error Message!
Fatal Message!