2010-02-12 3 views
5

log4j.xml 파일을 구성하여 여러 appender가 동일한 레이아웃을 공유하도록하는 방법이 있습니까? 레이아웃 매개 변수를 각각의 애펜더에 복사했지만, 패턴이 바뀌면 여러 곳에서 업데이트하기가 쉽지 않습니다.java log4j.xml 레이아웃을 공유하는 다중 appenders

덕분에, 제프

+0

몇 개의 애펜더가 있습니까? 당신이 너무 많아서 그들을 유지하는 것이 고통이라면, 당신은 틀린 방식으로 일을 진행할 것입니다. – skaffman

+0

지금 나는 2를 가지고있다. 콘솔 appender와 파일 appender. 나는 로그 메시지를 둘 다 똑같이 보길 선호하며 둘 다 동일한 레이아웃 패턴을가집니다. 내가 통합 할 수 있어야하는 것 같아 ... –

답변

3

는 log4j.properties 대신의 log4j.xml의를 사용하여 고려 적이 있습니까? 속성 버전은 값에 대한 변수 대체를 허용합니다.

log4j.properties 파일 (someProp=value)에서 고유 한 속성을 만들고 나중에 ${someProp}을 사용하여 값을 얻을 수 있습니다.

log4j.xml 파일에서도이 값을 가질 수 있지만 변수는 시스템 변수 (-DsomeProp=value)로 정의되어야하고 log4j.xml에서 다시 ${someProp}을 사용해야합니다. 이 버전은 log4j.properties에서와 같이 매개 변수를 사용하는 동일한 위치에 선언 된 매개 변수를 가지고 있지 않기 때문에 조금 엉망입니다.

+0

나는 log4j.properties로 그걸 줄 것이다. 나는 그것이 속성을 지원한다고 당신이 맞다고 생각하지만 어떤 이유로 XML 형식이 더 마음에 든다. 감사. –

관련 문제