Samudra Gupta는 그의 책 1 에서 다음과 같이 설명합니다 .
Logger
객체는 응용 프로그램 개발자가 어떤 메시지를 기록하는 데 사용하는 주된 목적이다. Logger
응용 프로그램의 특정 인스턴스 내에서 작용하는 객체는 다음과 부모 - 자식 계층을 .
다음 구성이있는 경우 :
log4j.rootLogger=WARN, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.SimpleLayout
log4j.logger.com.me.proj2=INFO
로거 계층 구조가 다음과 같이 보일 수 있습니다. 2
Samudra Gupta는 계속해서 다음과 같이 설명합니다.
계층 구조의 맨 위에는 루트 로거가 있습니다. 루트 로거는 우리가 생각 해낼 수있는 사용자 정의 로거 계층의 범위 밖에 존재합니다. 가능한 모든 로거 계층에 대한 루트 로거로 항상 존재하며 네임 스페이스가 없습니다. 다른 모든 응용 프로그램 관련 Logger
개체는 루트 로거의 자식 개체입니다. 로거의 상위-하위 관계는 동일한 애플리케이션 내에서 작동하는 로거의 종속성을 나타냅니다. 자식 로거는 부모 로거의 속성을 트리 위로 재귀 적으로 상속 할 수 있습니다. 일반적으로 자식 로거는 부모 로거에서 다음 속성을 상속합니다.
Level
: 자식 로거에 명시적인 트리 수준이 지정되지 않은 경우 가장 가까운 부모 수준 또는 계층 구조에서 재귀 적으로 찾은 첫 번째 적절한 수준을 사용합니다.
Appender
: 로거에 첨부 된 어 펜더가없는 경우 하위 로거는 가장 가까운 상위 로거의 어 펜더 또는 트리에서 재귀 적으로 찾은 첫 번째 어 펜더를 사용합니다.
ResourceBundle
: ResourceBundles
로깅 메시지의 현지화에 사용되는 키-값 패턴 속성 파일입니다. 자식 로거는 ResourceBundle
부모 로거와 관련된 모든 것을 상속합니다 .
메모
1 Samudra Gupta, Pro Apache Log4j, Second Edition (Berkeley, CA : Apress, 2005), 24-25, ISBN13 : 978-1-59059-499-5
2 Dominic Mitchell, Logging in Java , http://happygiraffe.net/blog/2008/09/03/logging-in-java/ , 2014 년 5 월 26 일에 확인 함.