2016-11-03 2 views
1

Weblogic 12c에 EAR 응용 프로그램을 배포하고 있습니다. log4j2를 구성하고 웹 프로젝트의 web.xml에 다음을 넣으려고하면 (파일이 응용 프로그램에서 선택되지 않음) 작동하지 않습니다. 내가 웹 로직 시작 스크립트 (-Dlog4j.configurationFile=path/to/log4j2.xml)에서 log4j2.xml 파일의 경로를 언급하는 경우Log4j2 Weblogic에서 파일 위치를 가져 오지 않았습니다. 12c

<context-param> 
<param-name>log4jConfiguration</param-name> 
<param-value>file:///webapps/apps/appName/log4j2.xml</param-value> 
</context-param> 

내가 오류를

ERROR StatusLogger No log4j2 configuration file found. Using default configuration: logging only errors to the console. 

을 얻을, 그것은 log4j에 파일을 선택합니다. <context-param> 설정을 작동 시키려면 어떻게합니까? Eclipse (STS)에서 weblogic을 실행하고 있습니다.

답변

0

그냥 다시 확인하십시오 : classpath에 log4j-web 의존성을 추가 했습니까? 이를 사용하지 않으면 컨텍스트 매개 변수가 작동하지 않습니다.

또한 지정된 file: 경로는 웹 컨텍스트 루트와 관련하여 해결됩니다. 본질적으로 결과를 반환합니다 ServletContext.getResource(path).

시스템 속성 -Dorg.apache.logging.log4j.simplelog.StatusLogger.level=TRACE을 설정하면 어떤 문제가 있는지 알 수 있습니다. 그러면 내부 Log4j2 로깅이 콘솔에 인쇄됩니다.

+0

log4j-web 의존성이 있습니다. -Dlog4j.configurationFile 매개 변수를 사용하도록 구성을 변경했습니다. 컨텍스트 루트와 관련하여 "파일"경로가 해결 될 것이라고 말한 부분을 이해하지 못했습니다. 다른 프로젝트 (바람둥이에) 어디 드라이브에있는 모든 위치를 언급하고 내 log4j 파일을 선택합니다. – user1187958

+0

나는 web.xml에서 설정 한 contex-value의 값을 의미했다 : 당신은 ' file : ///webapps/apps/appName/log4j2.xml'를 언급했다. 이 경로는 웹 응용 프로그램 루트를 기준으로 해석됩니다. –

+1

이것은 좋은 정보입니다. 컨텍스트 루트와 관련이 있는지 몰랐습니다. 아마 그게 내 설정이 집어 들지 않는 이유입니다. 내 설정 파일을 가져 오지 못한 이유를 설명하는대로 대답을 수락합니다. – user1187958

관련 문제