SLF4J с разрывами заказа при перемещении от Groovy 2.5.23 к Groovy 4.0.25JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 SLF4J с разрывами заказа при перемещении от Groovy 2.5.23 к Groovy 4.0.25

Сообщение Anonymous »

У меня есть следующая журнала.

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

import ch.qos.logback.classic.Level
import ch.qos.logback.classic.LoggerContext
import ch.qos.logback.classic.encoder.PatternLayoutEncoder
import ch.qos.logback.core.ConsoleAppender
import org.slf4j.Logger
import org.slf4j.LoggerFactory

static void setupLibraryLoggers() {
def jgitLogger = LoggerFactory.getLogger("org.eclipse.jgit")
jgitLogger.setLevel(Level.INFO)
}

static Logger setupLogger() {
LoggerContext logCtx = LoggerFactory.getILoggerFactory();

PatternLayoutEncoder logEncoder = new PatternLayoutEncoder();
logEncoder.setContext(logCtx);
logEncoder.setPattern("%-12date{YYYY-MM-dd HH:mm:ss.SSS} %highlight(%-5level) - %msg%n");
logEncoder.start();

ConsoleAppender logConsoleAppender = new ConsoleAppender();
logConsoleAppender.setContext(logCtx);
logConsoleAppender.setName("console");
logConsoleAppender.setEncoder(logEncoder);
logConsoleAppender.start();

Logger log = logCtx.getLogger(this.class);
log.setAdditive(false);
log.setLevel(Level.DEBUG);
log.addAppender(logConsoleAppender);
return log;
}
В том же каталоге у меня есть следующий runner.groovy
@Grapes(
[
@Grab(group = 'org.eclipse.jgit', module = 'org.eclipse.jgit', version = '7.1.0.202411261347-r'),
@Grab(group = 'ch.qos.logback', module = 'logback-classic', version = '1.5.16'),
@Grab(group='de.gesellix', module='docker-client', version='2025-01-19T00-00-00'),
@Grab(group='commons-io', module='commons-io', version='2.18.0'),
@Grab(group='org.apache.commons', module='commons-compress', version='1.27.1')
]
)
import static Logging.setupLogger
import static Logging.setupLibraryLoggers

Logging.setupLibraryLoggers()
log = Logging.setupLogger()
log.info("Test")
< /code>
Если я запускаю это с Groovy 2.5.23, это работает правильно. Однако, если я попытаюсь перейти к Groovy < /p>
/usr/local/groovy-4.0.25/bin/groovy -cp $HOME/workspace/jobs ~/workspace/jobs/Runner.groovy
SLF4J(W): No SLF4J providers were found.
SLF4J(W): Defaulting to no-operation (NOP) logger implementation
SLF4J(W): See https://www.slf4j.org/codes.html#noProviders for further details.
Caught: groovy.lang.MissingMethodException: No signature of method: org.slf4j.helpers.NOPLogger.setLevel() is applicable for argument types: (ch.qos.logback.classic.Level) values: [INFO]
groovy.lang.MissingMethodException: No signature of method: org.slf4j.helpers.NOPLogger.setLevel() is applicable for argument types: (ch.qos.logback.classic.Level) values: [INFO]
at Logging.setupLibraryLoggers(Logging.groovy:10)
at Runner.run(Runner.groovy:18)
< /code>
Похоже, что я импортирую правильную библиотеку «Защита» (виноград). Почему подход к Groovy 4 заставляет SLF4J неправильно идентифицировать и загружать бэкэнд регистрации регистрации?

Подробнее здесь: https://stackoverflow.com/questions/794 ... ovy-4-0-25
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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