2009-08-10 3 views
2

커스텀 log4j 애 펜더를 작성 중이며, (데이터베이스) 애 퍼처가 실패 할 경우를 대비하여 다른 구성된 애플릿을 대체 시스템으로 사용하고 싶습니다.log4j 애 퍼런 터 간의 종속성

어떻게 appenders의 건설 순서를 보장 할 수 있습니까? 내 appender의 activateOptions() 메소드가 다른 appender에 액세스하려고 시도했지만 아직 작성/등록되지 않았기 때문에 실패합니다.

답변

1

두 번째 appender 구성 옵션을 사용자 정의 appender 구성으로 이동/복사 한 다음 두 번째 appender를 사용자 정의 appender 내부에서 직접 작성하는 것이 좋습니다.

+0

와우, 당신의 대답은 다른 질문을위한 것 같습니다. 예, 저는 appenders가 신비하지 않다는 것을 압니다. 네, config가 setters/getters에 매핑되어 있다는 것을 알고 있습니다. (그리고 저는 C#의 속성 BTW가 없습니다.) 다른 로거 간의 종속성에 대해 설명합니다. 당신의 대답은 어떻게 관련이 있습니까? – ripper234

+0

스트라이크 - _loggers_가 아닌 다른 _appenders_ 간의 종속성. – ripper234

+0

수정 됨. 나는 그것이 내 텍스트를 읽기가 약간 어려웠다 고 생각한다. –

0

원하는 작업을 수행 할 방법이 없다는 것을 알게되면 "기본"appender 내부에서 "fallback"appender를 log4j에 남겨 두지 않고 구성하고 구성 할 수 있습니다. 아주 좋은 해결책은 아니지만, appenders간에 의존성을 추가하는 방법을 알지 못합니다.

1

XML에서 구성 파일을 사용하는 경우 XML 파일의 appender 선언 순서가 중요하다는 사실을 활용할 수 있습니다. 먼저 선언 된 appender가 먼저 구성됩니다. .properties 형식의 구성 파일을 사용하는 경우 구성 순서는 로거 a.k.a. 범주에서 참조하는 순서에 따라 다릅니다. 먼저 참조되는 appender가 먼저 구성됩니다.

로그백, log4j의 후속 기능에 대해서는 잘 설명되어 있습니다.

관련 문제