我有一个使用Log4j2的应用程序,到目前为止我没有任何问题。今天早上,我添加了第三方库,而第三方库又使用logback进行日志记录。
现在我看到了这个错误:
Error loading configuration Cause: org.apache.logging.slf4j.Log4jLoggerFactory cannot be cast to ch.qos.logback.classic.LoggerContext
如何解决此错误?
我的应用具有以下依赖关系:
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.4.1</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.4.1</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
<version>2.4.1</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-jcl</artifactId>
<version>2.4.1</version>
</dependency>
第三方库使用以下内容:
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.4</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-ext</artifactId>
<version>1.7.4</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.0.12</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
<version>1.0.12</version>
</dependency>
是否可以同时配置log4j2和logback? 如何修复配置?
答案 0 :(得分:2)
Logbook使用SLF4J作为其API。你不能同时拥有Log4j-slf4j-impl和Logback jar。如果您不想使用Logback,那么您需要为第三方库声明依赖项,您需要为logback-classic和logback-core添加排除项。