2011-05-11 7 views
1

현재 JBoss 6에서 로깅을 구성하고 다른 대안을보고 있습니다. 내 요구 사항은 다음과 같습니다.JBoss 6 AS에 로그 구성 다시로드

1) 응용 프로그램을 다시 배포하지 않고도 로그 구성을 자동으로 다시로드 할 수 있습니다.

2) 각 로그 수준마다 하나씩 다중 로그 파일. 예 : 하나의 myApp-error.log는 만 기록합니다. 오류 메시지, 디버그 메시지 등을 기록하는 myApp-debug.log 이것은 각 파일에 대해 설정된 각 appenders/handlers에 대해 최소 및 최대 수준을 설정할 수 있음을 의미합니다 .

이제 JBoss 6 AS와 함께 제공되는 jboss-logging.xml 파일을 사용할 수 있다는 것을 알고 있습니다. JBoss의 핫 배포 기능 (이 파일은 deploy 디렉토리에 있음)을 활용하므로이 파일을 사용하여 자동으로 다시로드됩니다.

그러나 로그를 구성하여 각 핸들러에 최대 레벨을 설정할 수는 없습니다. 최소 수준을 설정할 수 있지만 이는 예를 들어 내 디버그 파일은 위의 모든 수준의 디버그를 얻습니다. 내가 원하는 건 아니야.

다른 옵션은 외부 구성 파일을 사용합니다. 예 : log4j.xml. 이는 시스템 속성을 here으로 설정하여 수행 할 수 있습니다. org.apache.log4j.varia.LevelRangeFilter 필터를 사용하여 최대 및 최소 로그 수준을 제한 할 수 있기 때문에 좋습니다. 그러나 이로 인해 응용 프로그램을 재배포하지 않고 로깅 구성을 자동으로 다시로드 할 수 없습니다.

JBoss 6 AS를 사용하여 두 가지 요구 사항을 모두 얻을 수 있습니까? 예를 들어, 로깅 시스템을 제공하거나 외부 시스템을 사용할 수 있습니까?

답변

1

1) 당신은 정기적으로 변경 log4j.xml 파일을 검사 할 수 있으며이 변경 될 경우,보다 log4j에에 org.apache.log4j.xml.DOMConfigurator.configure ("< 경로를 호출해야
자동 장전 : 소개 .xml> ").

+0

심지어 Log4J의 기능입니다. DOMConfigurator.configureAndWatch ("", 20 * 1000) 메소드가 있습니다.이 메소드는 구성 파일에서 변경 사항을 확인하고 자동으로 다시로드합니다. –