Saya telah menggunakan logging SLF4J untuk mencetak semua log. Saya menggunakan versi terbaru dari org.slf4j.
implementasi 'org.slf4j: slf4j-api: 2.0.0-alpha1'
implementasi 'org.slf4j: log4j-over-slf4j: 2.0.0-alpha1'
Tapi saya mendapatkan kesalahan berikut dan juga tidak ada log yang dicetak.
SLF4J: No SLF4J providers were found.
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#noProviders for further details.
SLF4J: Class path contains SLF4J bindings targeting slf4j-api versions prior to 1.8.
SLF4J: Ignoring binding found at [jar:file:/home/user/.gradle/caches/modules-2/files-2.1/ch.qos.logback/logback-classic/1.2.3/7c4f3c474fb2c041d8028740440937705ebb473a/logback-classic-1.2.3.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#ignoredBindings for an explanation.
Log berfungsi dengan baik dengan versi yang lebih lama (1.7.25). Apakah ada sesuatu yang perlu ditambahkan atau dikonfigurasi pada proyek sehingga log ini dapat dicetak
Jawaban:
Ini akan mencetak pesan menambahkan slf4j-log4j12 bukan slf4j-api
Hapus yang berikut ini
Menambahkan
sumber
Ini karena slf4j adalah abstraksi yang perlu diikat dengan perpustakaan lain yang sudah ada sebelumnya. Oleh karena itu, jika Anda hanya menggunakan slf4j untuk mencetak log, itu tidak akan berfungsi karena tidak memiliki pengaturan pada tingkat logging dll. Tautan ini memberikan beberapa informasi yang sama.
Juga, versi baru Spring Boot memiliki integrasi standar dengan slf4j untuk versi 1.7.9
sumber
Anda tidak perlu mengimpor log ketergantungan ketika menggunakan Musim Semi Boot 2.x . Yang diperlukan hanyalah mengimpor Spring Boot Starter , yang kemungkinan besar sudah Anda lakukan. Misalnya
spring-boot-starter-web
, yang tergantung padaspring-boot-starter-logging
, yang menarikspring-jcl
modul yang diperlukan untuk masuk dengan Spring Framework.Saat menggunakan permulaan, Logback digunakan untuk logging secara default, Log4j tidak diperlukan.
Hapus saja semua referensi
slf4j
dari file build Anda. Di sini adalah bagaimana referensi untuk Spring Boot Web Starter terlihat dalam file build.gradle.sumber