Используйте SLF4J Logger внутри библиотеки - PullRequest
0 голосов
/ 10 апреля 2020

У меня есть большие сомнения, я хочу импортировать в библиотеку сложный регистратор, как SL4J, но я не хочу, чтобы этот регистратор создавал проблемы внутри клиентского приложения.

Как я могу внутри импортировать библиотеку внутри него без проблем внутри клиентской библиотеки?

Объявление в тот момент, когда я работаю с Gradle, и у него есть эта конфигурация этой конфигурации

dependencies {

    // https://mvnrepository.com/artifact/org.swinglabs/swingx
    compile group: 'org.swinglabs', name: 'swingx', version: '1.6.1'

    compile group: 'com.github.jiconfont', name: 'jiconfont-bundle', version: '1.4.0'

    implementation 'com.github.jiconfont:jiconfont-swing:1.0.1'

    implementation 'com.github.jiconfont:jiconfont-google_material_design_icons:2.2.0.2'

    //Slf4j configuration
    implementation 'ch.qos.logback:logback-classic:1.2.3'
    implementation 'ch.qos.logback:logback-core:1.2.3'
    implementation 'org.slf4j:slf4j-api:1.7.25'

    // Use JUnit test framework
    testCompile 'junit:junit:4.12'
    //assertj
    testCompile group: 'org.assertj', name: 'assertj-swing-junit', version: '3.9.2'
    //testCompile group: 'org.swinglabs', name: 'swingx', version: '1.6.1'

}

Я пробовал также эту конфигурацию

    //Slf4j configuration
    testCompile 'ch.qos.logback:logback-classic:1.2.3'
    testCompile 'ch.qos.logback:logback-core:1.2.3'
    implementation 'org.slf4j:slf4j-api:1.7.25'

Но в первой конфигурации я получаю исключение, подобное этому

SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/media/vincent/VincentHDD/JMARS_Developement/17_03_2020_JMars_Refactoring/UI/lib/slf4j-jdk14-1.6.6.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/media/vincent/VincentHDD/JMARS_Developement/17_03_2020_JMars_Refactoring/UI/lib/material-ui-swing-1.1.1.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.JDK14LoggerFactory]

Спасибо за ваше время и извините за глупый вопрос

...