Я новичок в 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 );
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()'
был загружен из следующего места:
Код: Выделить всё
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
доступен в следующих местах:
Код: Выделить всё
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
Мобильная версия