Log4j 给出关于 slf4j LoggerContext 的 ClassCastException

Log4j giving ClassCastException about slf4j LoggerContext

我已经在我的 Java 应用程序中配置了 log4j,我得到了这个

exception : java.lang.ClassCastException: 
  org.apache.logging.slf4j.SLF4JLoggerContext cannot be cast to 
  org.apache.logging.log4j.core.LoggerContext.

删除 log4j-slf4j-impl-2.2.jarlog4j-to-slf4j-2.2.jar 后我已经尝试过,但没有成功。

试试这个('standard' 使用记录器的方法):

在你的class中:

private final static Logger logger = LoggerFactory.getLogger(YourClass.class);

在你的方法中:

if(logger.isInfoEnabled()) {
        logger.info("your log message");
 }

以及 Maven 依赖项 (pom.xml):

<dependency>
 <groupId>org.slf4j</groupId>
 <artifactId>slf4j-api</artifactId>
 <version>1.7.12</version>
</dependency>       

<dependency>
 <groupId>org.slf4j</groupId>
 <artifactId>jcl-over-slf4j</artifactId>
 <version>1.7.12</version>
</dependency>

<dependency>
 <groupId>log4j</groupId>
 <artifactId>log4j</artifactId>
 <version>1.2.17</version>
</dependency>

您可以通过以下步骤解决此错误:

  1. 包括slf4j-api.jar,log4j-api.jar,slf4j-log4j.jar

  1. 使用 slf4j 的记录器。