2014-10-24 1 views
0

나는 구현을 위해 log4j 2.0.2를 사용하기 위해 slf4j 1.7.7을 얻으려고하고있다. 내 WAR에 필요한 모든 JAR이 있고 log4j.xml이 classes 디렉토리에 드롭 된 것 같지만 webapp가 시작되면 log4j.xml을 찾을 수 없습니다. WAR를 열면 WEB-INF/classes에서 볼 수 있으므로 classpath에 있어야합니다. 내가 뭘 놓치고 있니?sl44j 1.7.7에서 log4j 2.0.2가 시작할 때 log4j.xml을 찾을 수 없습니까?

meta-inf/manifest.mf 
index.html 
... 
WEB-INF/web.xml 
WEB-INF/classes/log4j.xml 
... 
WEB-INF/lib/log4j-api-2.0.2.jar 
... 
WEB-INF/lib/slf4j-api-1.7.7.jar 
... 
WEB-INF/lib/log4j-core-2.0.2.jar 
WEB-INF/lib/log4j-slf4j-impl-2.0.2.jar 
... 

부두는 미묘는 실망 ...

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

답변

0

음을 기록, 그 stderrout.log 파일이 있습니다. log4j-core-2.0.2는 log4j.xml을 찾고 있지 않습니다. log4j2.xml을 찾고 있습니다. FAQ 페이지 http://logging.apache.org/log4j/2.x/faq.html은 굵게 표시되어 있습니다. "기본적으로 Log4j는 classpath에서 log4j2.xml (log4j.xml 아님)이라는 구성 파일을 찾습니다." 내 파일의 이름을 log4j2.xml로 변경하면 발견됩니다. 이제 나는 그것을 올바르게 만들어야합니다.

2014-10-24 10:34:53,542 ERROR Unknown object "property" of type org.apache.logging.log4j.core.config.Property is ignored. 
2014-10-24 10:34:53,545 ERROR Unknown object "logger" of type org.apache.logging.log4j.core.config.LoggerConfig is ignored. 
2014-10-24 10:34:53,546 ERROR Unknown object "root" of type org.apache.logging.log4j.core.config.LoggerConfig is ignored.