Apakah mungkin menggunakan Logback daripada Log4j? Saya telah mengecualikan dependensi log4j dari semua file kelas proyek saya tetapi ketika saya membangun node, log4j masih dibawa dari Corda-core.
Di bawah ini adalah cara saya mengecualikan dependensi secara bertahap.
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'
}
Saya kemudian menambahkan logback sebagai ketergantungan
compile group: 'ch.qos.logback', name: 'logback-classic', version: '1.2.3'
Namun setelah menerapkan node dan memulainya, saya dapat melihat bahwa node tersebut masih menggunakan pabrik logger 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]
Baris log ini menunjukkan bahwa logback belum ditemukan.
Satu informasi tambahan adalah, ketika saya menjalankan pengujian yang ada di dalam salah satu proyek yang sama dengan cordapps di bawah ini berjalan dengan baik dan berhasil mengambil logback tetapi menjalankan node tidak.
gradle dependencies
dan tidak memiliki ketergantungan log4j di mana pun yang dapat ditemukan, tetapi log4j masih diambil setiap kali (yang saya tahu berarti masih ada di suatu tempat). Entah bagaimananet.corda.node.Corda_3.1-corda/log4j-slf4j-impl-2.9.1.jar!
sepertinya masih menyertakannya. Saya juga telah melakukanclean build
. - person Dan Newton   schedule 29.05.2018