在log4j2迁移期间,Cassandra依赖性会发生变化

时间:2017-11-22 06:41:45

标签: jar cassandra log4j2

我正在将我的应用程序从log4j迁移到log4j2。为此,我用log4j2替换了log4j的jar文件,并更新了相应的API调用以使用新的jar。

我们还有cassandra noSQL db,其中slf4j-log4j12-1.7.6.jar作为依赖项,而后者又使用log4j API。我需要用一个与log4j2兼容的新jar替换slf4j-log4j12-1.7.6.jar。有人可以建议使用正确的罐子吗?

我在构建cassandra组件时遇到异常。

无法实例化SLF4J LoggerFactory 报告的例外情况: java.lang.NoClassDefFoundError:org / apache / log4j / Level

atg.slf4j.LoggerFactory.bind(LoggerFactory.java:150)atg.slf4j.LoggerFactory.performInitialization(LoggerFactory.java:124)org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:412)org .slf4j.LoggerFactory.getLogger(LoggerFactory.java:357)

2 个答案:

答案 0 :(得分:2)

NoClassDefFound错误表明SLF4J正在寻找Log4j 1.x.你需要用Log4j 2的log4j-slf4j-impl jar替换slf4j-log4j12 jar。

答案 1 :(得分:0)

现在通过添加log4j-to-slf4j-2.9.1.jar并删除slf4j-log4j12-1.7.6.jar来解决此问题。

以下链接有帮助。

https://logging.apache.org/log4j/2.0/log4j-slf4j-impl/index.html

http://slf4j.42922.n3.nabble.com/trouble-migrating-from-log4j-1-2-to-log4j-2-0-td4025759.html