log4j2 종속성이 있지만 jars가 존재하고 spring core jar에서 commons-logging을 제외 시켰지만 로깅을 찾을 수 없다는 오류 메시지가 나타납니다. 아직 뭔가 잘못 됐고 무엇을 몰라? 여기 Log4j2 스프링을 사용할 때 찾을 수 없습니까?
오류입니다 :SEVERE: A child container failed during start
java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/orderlybilling]]
at java.util.concurrent.FutureTask.report(FutureTask.java:122)
at java.util.concurrent.FutureTask.get(FutureTask.java:188)
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1123)
at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:800)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:724)
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/orderlybilling]]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
... 6 more
Caused by: java.lang.NoClassDefFoundError: Lorg/apache/commons/logging/Log;
그리고 이것은 당신이에 org/apache/commons/logging/Log
및 교량을 확장 평민 로깅에 사용하려는 commons logging bridge가 pom.xml 파일
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>4.1.2.RELEASE</version>
<exclusions>
<exclusion>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>4.1.2.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>4.1.2.RELEASE</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.1</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.1</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.7</version>
</dependency>
모든 Spring 종속성에서 "commons-logging"을 제외해야합니다. 그리고 왜 log4j와 slf4j를 모두 가지고 있습니까? –
@BeshoyFayez 그렇습니다. slf4j가 neede가 아니라는 것을 깨달았습니다. 내가 말했듯이 - sping에서 모든 commons loggin은 제외하지만 똑같은 것을 stoy하십시오 –
@BeshoyFayez slf4j와 log4j는 상호 배타적이지 않습니다. ** slf4j는 모든 코드에서 참조하는 로깅 외관 일뿐입니다. , 그리고 log4j는 실제 로깅 구현 공급자입니다. – gerrytan