Можно ли использовать Logback вместо Log4j? Я исключил зависимости log4j из всех файлов оценки моих проектов, но когда я создаю узлы, log4j все равно загружается из Corda-core.
Ниже показано, как я исключил зависимости в gradle.
configurations.all {
exclude group: 'org.apache.logging.log4j', module: 'log4j-api'
exclude group: 'org.apache.logging.log4j', module: 'log4j-core'
exclude group: 'org.apache.logging.log4j', module: 'log4j-slf4j-impl'
exclude group: "org.slf4j", module: "jcl-over-slf4j"
exclude group: 'org.apache.logging.log4j', module: 'log4j-web'
}
Затем я добавил logback в качестве зависимости
compile group: 'ch.qos.logback', name: 'logback-classic', version: '1.2.3'
Но после развертывания узлов и их запуска я вижу, что они все еще используют фабрику регистраторов log4j.
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/Users/daniel.newton/.capsule/apps/net.corda.node.Corda_3.1-corda/log4j-slf4j-impl-2.9.1.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/Users/daniel.newton/dev/projects/corda/build/nodes/party/cordapps/trade-input-cordapp-1.0.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/Users/daniel.newton/dev/projects/corda/build/nodes/party/cordapps/common-1.0.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/Users/daniel.newton/dev/projects/corda/build/nodes/party/cordapps/corda-1.0.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.apache.logging.slf4j.Log4jLoggerFactory]
Эти строки журнала предполагают, что logback даже не был найден.
Еще одна дополнительная информация заключается в том, что когда я запускаю тесты, которые существуют в одном из тех же проектов, что и приведенные ниже приложения cordapps, они работают нормально и успешно собирают журналы, но запуск узлов не работает.
gradle dependencies
и нигде не нашел зависимостей log4j, но log4j все еще подхватывается каждый раз (что, как я знаю, означает, что он все еще где-то там). Каким-то образомnet.corda.node.Corda_3.1-corda/log4j-slf4j-impl-2.9.1.jar!
, кажется, все еще включает его. Я также сделалclean build
. - person Dan Newton   schedule 29.05.2018