Проблема совместимости в XML-файле журнала для Java-приложения с весенней загрузкойJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Проблема совместимости в XML-файле журнала для Java-приложения с весенней загрузкой

Сообщение Anonymous »

Проблема
Я новичок в JAVA и пытаюсь настроить вход в систему с помощью приложения Springboot JAVA.
Получаю исключение при использовании XML-файла журнала с Springboot JAVA приложение.

Исправьте путь к классам вашего приложения, чтобы оно содержало
совместимые версии классов
com.github.loki4j.logback.Loki4jAppender и
ch.qos.logback.classic.spi.ILoggingEvent

подробности :
у нас есть REST-контроллер JAVA API Springboot, и мы пытаемся передать все журналы с помощью loki.
детали среды:
Версия JAVA: 17
Версия Springboot: 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  );
при запуске файла JAR выдается исключение, как показано ниже:

2025-01-03 23:28 :22.319 INFO 218845 --- [ main]
okcssswaggerui.SwaggerUiApplication : Запуск
SwaggerUiApplication v0.0.1-SNAPSHOT с использованием Java 17.0.13 на CS
с PID 218845
(/mnt/c/Automation/oe-platform/cloudcontroller/target/swagger-ui-0.0.1- SNAPSHOT.jar
запущен пользователем root в
/mnt/c/Automation/oe-platform/cloudcontroller/target) 2025-01-03
23:28:22.703 ОШИБКА 218845 --- [ main]
o.s.b.d.LoggingFailureAnaанализReporter :
*************************** ЗАЯВКА НЕ ПРОЙДЕНА НАЧАТЬ

Описание:
Предпринята попытка вызвать несуществующий метод. Попытка
была предпринята из следующего места:

Код: Выделить всё

com.github.loki4j.logback.Loki4jAppender.append(Loki4jAppender.java:198)
Следующего метода не существовало:

Код: Выделить всё

'int ch.qos.logback.classic.spi.ILoggingEvent.getNanoseconds()'
Класс вызывающего метода com.github.loki4j.logback.Loki4jAppender
был загружен из следующего места:

Код: Выделить всё

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
Класс вызываемого метода, 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!/ch/qos/logback/classic/spi/ILoggingEvent.class
Иерархия классов вызванного метода была загружена из следующих
мест:

Код: Выделить всё

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!/
Действие:
Исправьте путь к классам вашего приложения, чтобы оно содержало
совместимые версии классов
com.github .loki4j.logback.Loki4jAppender и
ch.qos.logback.classic.spi.ILoggingEvent
03.01.2025 23:28:22.706 ОШИБКА 218845 --- [ main]
o.s.boot.SpringApplication: Ошибка запуска приложения
java.lang.NoSuchMethodError: 'int
ch. qos.logback.classic.spi.ILoggingEvent.getNanoсекунды()'
at com.github.loki4j.logback.Loki4jAppender.append(Loki4jAppender.java:198)
на com.github.loki4j.logback.Loki4jAppender.append(Loki4jAppender.java:16)
на 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)
в ch.qos.logback.classic.Logger.callAppenders(Logger.java:257)
в ch.qos. logback.classic.Logger.buildLoggingEventAndAppend(Logger.java:421)
at ch.qos.logback.classic.Logger.filterAndLog_0_Or3Plus(Logger.java:383)
в ch.qos.logback.classic.Logger.log(Logger.java:765)
в 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)
на org.springframework.boot.SpringApplication.run(SpringApplication.java:306)
на org.springframework.boot.SpringApplication.run(SpringApplication.java:1303)
в org.springframework.boot.SpringApplication.run(SpringApplication.java:1292)
в oe.kubeapi.cloudcontroller.swagger.swaggerui.SwaggerUiApplication.main(SwaggerUiApplication.java:14)
в java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native
Метод)
в java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
в java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
в java.base/java.lang.reflect.Method.invoke(Method.java:569)
в org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:49)
в org. Springframework.boot.loader.Launcher.launch(Launcher.java:108)
в org.springframework.boot.loader.Launcher.launch(Launcher.java:58)
в org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:65)
Исключение в потоке «основной» java.lang.reflect.IndictionTargetException
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native
Метод)
в java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
в 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)
в org.springframework.boot.loader.Launcher.launch(Launcher.java:108)
в org.springframework. boot.loader.Launcher.launch(Launcher.java:58)
at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:65)
Вызвано: java.lang.NoSuchMethodError: 'int
ch.qos.logback.classic.spi.ILoggingEvent.getNanoсекунды ()'
в com.github.loki4j.logback.Loki4jAppender.append(Loki4jAppender.java:198)
на com.github.loki4j.logback.Loki4jAppender.append(Loki4jAppender.java:16)
на 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)
в ch.qos.logback.classic.Logger.callAppenders(Logger.java:257)
в ch.qos. logback.classic.Logger.buildLoggingEventAndAppend(Logger.java:421)
at ch.qos.logback.classic.Logger.filterAndLog_0_Or3Plus(Logger.java:383)
в ch.qos.logback.classic.Logger.log(Logger.java:765)
в org.apache. commons.logging.LogAdapter$Slf4jLocationAwareLog.error(LogAdapter.java:433)
at org.springframework.boot.SpringApplication.reportFailure(SpringApplication.java:821)
на org.springframework.boot.SpringApplication.handleRunFailure(SpringApplication.java:785)
на org.springframework.boot.SpringApplication.run(SpringApplication.java:317)
в org.springframework.boot.SpringApplication.run(SpringApplication.java:1303)
в org.springframework.boot.SpringApplication. запустить(SpringApplication.java:1292)

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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»