Тестирование логирования с slf4j версии 1.8 или выше - PullRequest
0 голосов
/ 02 января 2019

Я хотел обновить свои зависимости slf4j-api до 1.8.0-beta2, но в этой версии я больше не могу использовать uk.org.lidalia: slf4j-test: 1.2.0 для тестирования журналирования из-заследующая ошибка:

SLF4J: Class path contains SLF4J bindings targeting slf4j-api versions prior to 1.8.
SLF4J: Ignoring binding found at [jar:file:/C:/Users/OEM/.m2/repository/uk/org/lidalia/slf4j-test/1.2.0/slf4j-test-1.2.0.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#ignoredBindings for an explanation.

Я нашел в документации это потому что:

Планирование появления Jigsaw (Java 9), slf4j-apiверсия 1.8.x и более поздние используют механизм ServiceLoader.В более ранних версиях SLF4J использовался механизм статического связывания, который больше не поддерживается slf4j-api.

В случае, если SLF4J не находит провайдеров, ориентированных на SLF4J 1.8, но вместо этого обнаруживает привязки, ориентированные на SLF4J 1.7 или более ранние, в нем будут перечислены привязки.он находит, но в противном случае игнорирует их.

Какие опции у меня есть для тестирования журналирования slf4j?uk.org.lidalia: slf4j-test: 1.2.0 является последней версией и не обновлялась с 2015 года.

1 Ответ

0 голосов
/ 07 января 2019

Возможно, один из способов - установить logback-classic в качестве зависимости с областью действия 'test' (здесь используется Maven):

<!-- Logging during tests -->
<dependency>
    <groupId>ch.qos.logback</groupId>
    <artifactId>logback-classic</artifactId>
    <scope>test</scope>
    <version>LATEST</version>
</dependency>

и проверить ведение журнала в соответствии с инструкциями в этом другом посте: https://stackoverflow.com/a/29077499/10881066

Кроме того, вы видели spf4j-slf4j-test ?Это похоже на то, что вы ищете.Последняя версия пока не поддерживает slf4j 1.8, но проект, похоже, активно поддерживается.
Может ли быть добавлена ​​поддержка Slf4j 1.8 в ближайшее время?

...