log4j error java.lang.NoSuchMethodError:org.apache.log4j.spi.LoggingEvent.getTimestamp()J
我使用的是log4j-1.2.13,slf4j-api-1.7.15 jar,slf4j-nop-1.7.15jar和java 11、tomcat 9版本。 我得到以下2个错误log4j error java.lang.NoSuchMethodError:org.apache.log4j.spi.LoggingEvent.getTimestamp()J,java,tomcat,log4j,Java,Tomcat,Log4j,我使用的是log4j-1.2.13,slf4j-api-1.7.15 jar,slf4j-nop-1.7.15jar和java 11、tomcat 9版本。 我得到以下2个错误 java.lang.NoSuchMethodError:org.apache.log4j.spi.LoggingEvent.getTimestamp()J 无法在类org.apache.logging.log4j.core.asyc.AsyncLoggerConfig中为元素AsyncLogger调用工厂方法:java
您必须有一组不一致的日志库:
LoggingEvent#getTimestamp
是在log4j-1.2.15
中引入的,因此您只需升级库即可org.apache.logging.log4j.core.asyc.AsyncLoggerConfig
是来自log4j 2.x的一个类,这意味着您的类路径上至少有两个版本的log4j。该错误是由使用不存在的com/lmax/disruptor/EventFactory
类的配置文件引起的您的项目中必须有其他日志依赖项(可能是
slf4j-log4j12
,log4j-core
?)。如果您使用的是Gradle或Maven,请将所有项目依赖项添加到您的问题中。否则,请查找名称以log4j
、slf4j
、commons logging
、logback
、…开头的其他库。我正在使用Maven和commons logging、slf4j、lo4j jars。请提问并添加pom.xml
文件的内容:可能存在一些可传递的依赖项,这导致了这些问题。我们没有直接在pom.xml中添加依赖项,而是从repo将JAR下载到maven中,再次构建war,并进行构建,然后部署。问题是在ecs环境中。我只有1个版本的log4j-1.2.13。