2012-12-11 1 views
7

Java EE 5 웹 앱이 있습니다. WebSphere 7에 EAR 파일로 배포하고 있습니다.WebSphere 7에서 log4j.configuration 시스템 변수를 설정하는 방법은 무엇입니까?

나는 다시 빌드하고 EAR 파일을 다시 배포 할 필요없이 필요할 때 나는 내용을 기록 조정할 수 있도록 내 log4j 구성은 EAR 파일에 외부되고 싶어요.

제 생각에는 log4j.configuration이라는"시스템 변수"를 설정하여 log4j.properties 파일의 위치를 ​​지정할 수 있습니다. (예 log4j.configuration의 = c :를. /log4j.properties)

내 질문은을, I은 WebSphere 7 관리 콘솔에서이 시스템 변수를 설정하는 방법?

것은 내가 Environment > WebSphere Variables이 볼 주위에 찾아하지만 전체 서버에 대한 변수를 설정 될 권리 때문이 보이지 않는다. 내 응용 프로그램 EAR 파일에 대해 시스템 변수를 설정하려고한다고 생각합니다.

어떤 도움이나 제안에 감사드립니다!

답변

9

log4j.configuration 속성은 자바 가상 머신 시스템 속성입니다. 응용 프로그램 서버의 일반 JVM 인수 목록 끝에이 특성을 추가하여이 특성을로드 할 수 있습니다. 이것은 다음을 탐색하여 WebSphere 콘솔에서 수행됩니다 :이 페이지의 하단에

-Dlog4j.configuration=file:C:/log4j.properties

클릭 Apply 및 : 일반 JVM 인수에서

Servers > Application servers > [app server name] > Process definition > Java Virtual Machine

, 다음을 추가 변경 사항을 저장하십시오. 이렇게하려면 응용 프로그램 서버를 다시 시작해야 적용됩니다.

+1

감사합니다, 그러나 이것은 하나의 log4j.configuration가 올바른 서버의 모든 앱에 있다는 뜻인가? 내 특정 응용 프로그램에 대해 하나의 구성 파일을 가질 수 있다고 생각했을 것입니다. 그게 가능하니? –

+0

당신은 정확합니다; 이것은 모든 곳에서 적용됩니다. 애플리케이션 레벨의 Log4J 설정을 원한다면, 각 애플리케이션 내에'log4j.properties' 파일을 패키징하고'log4j.configuration' 시스템 속성을 제거해야합니다. – Isaac

1

당신은 또한 응용 프로그램에 대한 공유 라이브러리를 사용하고 거기의 log4j.xml을 넣을 수 있습니다.

관련 문제