Получение этого исключения при использовании logback.xml с Java-приложением Spring Boot:
Код: Выделить всё
Correct the classpath of your application so that it contains
compatible versions of the classes
com.github.loki4j.logback.Loki4jAppender and
ch.qos.logback.classic.spi.ILoggingEvent
Подробности среды:
- Версия Java: 17
- Версия Spring Boot: 2.7.14
Код: Выделить всё
pom.xmlфрагмент Код: Выделить всё
org.slf4j
slf4j-api
org.apache.logging.log4j
log4j-slf4j2-impl
2.24.3
com.github.loki4j
loki-logback-appender
1.6.0
Код: Выделить всё
private static final Logger LOG = LoggerFactory.getLogger(CloudController.class);
LOG.info("/tenant/add" + clustername + " " + url + " " + region );
Код: Выделить всё
2025-01-03 23:28:22.319 INFO 218845 --- [ main]
o.k.c.s.swaggerui.SwaggerUiApplication : Starting
SwaggerUiApplication v0.0.1-SNAPSHOT using Java 17.0.13 on CS
with PID 218845
(/mnt/c/Automation/oe-platform/cloudcontroller/target/swagger-ui-0.0.1-SNAPSHOT.jar
started by root in
/mnt/c/Automation/oe-platform/cloudcontroller/target) 2025-01-03
23:28:22.703 ERROR 218845 --- [ main]
o.s.b.d.LoggingFailureAnalysisReporter :
*************************** APPLICATION FAILED TO START
***************************
Description:
An attempt was made to call a method that does not exist. The attempt
was made from the following location:
com.github.loki4j.logback.Loki4jAppender.append(Loki4jAppender.java:198)
The following method did not exist:
'int ch.qos.logback.classic.spi.ILoggingEvent.getNanoseconds()'
The calling method's class, com.github.loki4j.logback.Loki4jAppender,
was loaded from the following location:
jar:file:/mnt/c/Automation/oe-platform/cloudcontroller/target/swagger-ui-0.0.1-SNAPSHOT.jar!/BOOT-INF/lib/loki-logback-appender-1.6.0.jar!/com/github/loki4j/logback/Loki4jAppender.class
The called method's class, ch.qos.logback.classic.spi.ILoggingEvent,
is available from the following locations:
jar:file:/mnt/c/Automation/oe-platform/cloudcontroller/target/swagger-ui-0.0.1-SNAPSHOT.jar!/BOOT-INF/lib/logback-classic-1.2.12.jar!/ch/qos/logback/classic/spi/ILoggingEvent.class
The called method's class hierarchy was loaded from the following
locations:
ch.qos.logback.classic.spi.ILoggingEvent: jar:file:/mnt/c/Automation/oe-platform/cloudcontroller/target/swagger-ui-0.0.1-SNAPSHOT.jar!/BOOT-INF/lib/logback-classic-1.2.12.jar!/
Action:
Correct the classpath of your application so that it contains
compatible versions of the classes
com.github.loki4j.logback.Loki4jAppender and
ch.qos.logback.classic.spi.ILoggingEvent
2025-01-03 23:28:22.706 ERROR 218845 --- [ main]
o.s.boot.SpringApplication : Application run failed
java.lang.NoSuchMethodError: 'int
ch.qos.logback.classic.spi.ILoggingEvent.getNanoseconds()'
at com.github.loki4j.logback.Loki4jAppender.append(Loki4jAppender.java:198)
at com.github.loki4j.logback.Loki4jAppender.append(Loki4jAppender.java:16)
at ch.qos.logback.core.UnsynchronizedAppenderBase.doAppend(UnsynchronizedAppenderBase.java:84)
at ch.qos.logback.core.spi.AppenderAttachableImpl.appendLoopOnAppenders(AppenderAttachableImpl.java:51)
at ch.qos.logback.classic.Logger.appendLoopOnAppenders(Logger.java:270)
at ch.qos.logback.classic.Logger.callAppenders(Logger.java:257)
at ch.qos.logback.classic.Logger.buildLoggingEventAndAppend(Logger.java:421)
at ch.qos.logback.classic.Logger.filterAndLog_0_Or3Plus(Logger.java:383)
at ch.qos.logback.classic.Logger.log(Logger.java:765)
at org.apache.commons.logging.LogAdapter$Slf4jLocationAwareLog.info(LogAdapter.java:454)
at org.springframework.boot.StartupInfoLogger.logStarting(StartupInfoLogger.java:55)
at org.springframework.boot.SpringApplication.logStartupInfo(SpringApplication.java:615)
at org.springframework.boot.SpringApplication.prepareContext(SpringApplication.java:377)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:306)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1303)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1292)
at oe.kubeapi.cloudcontroller.swagger.swaggerui.SwaggerUiApplication.main(SwaggerUiApplication.java:14)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:569)
at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:49)
at org.springframework.boot.loader.Launcher.launch(Launcher.java:108)
at org.springframework.boot.loader.Launcher.launch(Launcher.java:58)
at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:65)
Exception in thread "main" java.lang.reflect.InvocationTargetException
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:569)
at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:49)
at org.springframework.boot.loader.Launcher.launch(Launcher.java:108)
at org.springframework.boot.loader.Launcher.launch(Launcher.java:58)
at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:65)
Caused by: java.lang.NoSuchMethodError: 'int
ch.qos.logback.classic.spi.ILoggingEvent.getNanoseconds()'
at com.github.loki4j.logback.Loki4jAppender.append(Loki4jAppender.java:198)
at com.github.loki4j.logback.Loki4jAppender.append(Loki4jAppender.java:16)
at ch.qos.logback.core.UnsynchronizedAppenderBase.doAppend(UnsynchronizedAppenderBase.java:84)
at ch.qos.logback.core.spi.AppenderAttachableImpl.appendLoopOnAppenders(AppenderAttachableImpl.java:51)
at ch.qos.logback.classic.Logger.appendLoopOnAppenders(Logger.java:270)
at ch.qos.logback.classic.Logger.callAppenders(Logger.java:257)
at ch.qos.logback.classic.Logger.buildLoggingEventAndAppend(Logger.java:421)
at ch.qos.logback.classic.Logger.filterAndLog_0_Or3Plus(Logger.java:383)
at ch.qos.logback.classic.Logger.log(Logger.java:765)
at org.apache.commons.logging.LogAdapter$Slf4jLocationAwareLog.error(LogAdapter.java:433)
at org.springframework.boot.SpringApplication.reportFailure(SpringApplication.java:821)
at org.springframework.boot.SpringApplication.handleRunFailure(SpringApplication.java:785)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:317)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1303)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1292)
Код: Выделить всё
logback.xmlКод: Выделить всё
http://a6629f018a6da4430852fbfc7db64d91-1818106300.us-east-1.elb.amazonaws.com:32730/loki/api/v1/push
app=${name},host=${HOSTNAME},level=%level
true
{
"level":"%level",
"class":"%logger{36}",
"thread":"%thread",
"message": "%message",
"requestId": 100
}
Подробнее здесь: https://stackoverflow.com/questions/793 ... pplication
Мобильная версия