log4j 설정 예제

위의 간결한 XML 형식 외에도 Log4j를 사용하면 XML 스키마를 사용하여 유효성을 검사할 수 있는 보다 „정상적인” XML 방식으로 구성을 지정할 수 있습니다. 이는 아래와 같이 위의 친숙한 요소 이름을 개체 유형으로 대체하여 수행됩니다. 예를 들어 콘솔앱렌더가 콘솔이라는 요소를 사용하여 configuerd되는 대신 „콘솔”을 포함하는 형식 특성을 가진 부록 요소로 구성됩니다. 기본적으로 Log4j는 루트 로거를 Level.ERROR에 할당합니다. Log4j는 일부 구성 요소에서 사용할 JSR 223 스크립팅 언어를 지원합니다. JSR 223 스크립팅 엔진에 대한 지원을 제공하는 모든 언어를 사용할 수 있습니다. 언어 및 바인딩 목록은 스크립팅 엔진 웹 사이트에서 찾을 수 있습니다. 그러나 JavaScript, 그루비 및 Beanshell과 같은 일부 언어는 JSR 223 스크립팅 프레임워크를 직접 지원하며 해당 언어의 항아리만 설치해야 합니다. 참고 : 로그 :Log4perl ::부속기 -<new()도 log::Dispatch ::* 생성자가 백그라운드에서 호출 된 min_level 인수를 처리합니다. 이는 Log:log:log4perl에서 샷을 호출하고 언제 무엇을 기록할지 결정하기 때문에 Log::Dispatch 개체가 전송하는 모든 것을 맹목적으로 기록하기를 원하기 때문입니다(디버그는 가장 낮은 설정입니다). 버전 2.4에서 Log4j는 이제 속성 파일을 통해 구성을 지원합니다.

속성 구문은 Log4j 1에 사용된 구문과 동일하지 않습니다. XML 및 JSON 구성과 마찬가지로 속성 구성은 플러그인에 대한 플러그인 및 특성측면에서 구성을 정의합니다. Log:Log4perl은 원래 Java 구현에서 사용되는 Log4j 구성 파일을 이해하도록 설계되었습니다. 형식 설명을 [2]에서 반복하는 대신 [2]에서 파생된 세 가지 예제를 나열하여 작동 방식을 보여 줍니다. 이는 로거 com.foo.Bar와 연결된 부속자가 콘솔에 첫 번째 인스턴스를 기록하는 데 처음 사용되기 때문입니다. 다음으로, com.foo.Bar의 부모, 이 경우 루트 로거는 참조 됩니다. 그런 다음 이벤트가 해당 부록으로 전달되며, 콘솔에도 기록되어 두 번째 인스턴스가 생성됩니다. 이를 첨가성이라고 합니다. 가산도는 매우 편리한 기능일 수 있지만(부속기 참조를 구성할 필요가 없는 첫 번째 이전 예제에서와 같이) 대부분의 경우 이 동작은 바람직하지 않은 것으로 간주되므로 additivity 특성을 설정하여 비활성화할 수 있습니다. 로거false: 앞서 설명한 대로 Log4j는 먼저 구성 파일에서 자신을 구성하려고 시도합니다. 기본값과 동일한 구성: 이벤트가 가산도가 false로 설정된 로거에 도달하면 추가도 설정에 관계없이 상위 로거에 이벤트가 전달되지 않습니다.

예: $logger->is_warn()은 로거의 범주에서 파생된 로거의 현재 수준(또는 로거의 부모 수준 설정 중 하나가 없는 경우)이 $WARN, $ERROR 또는 $FATAL 경우 true를 반환합니다. Log4j 2.10부터는 일관된 명명 체계를 따르도록 모든 시스템 속성 이름이 정규화되었습니다. 이전 속성 이름은 이전 버전과의 호환성을 위해 계속 지원되지만 새 스타일을 사용하도록 구성을 업데이트하는 것이 좋습니다.