Sürüm için org.slf4j'de günlüğe kaydetme nasıl etkinleştirilir: Bahar önyüklemesinde '2.0.0-alpha1'


11

Tüm günlükleri yazdırmak için SLF4J günlüğünü kullandım. Org.slf4j dosyasının en son sürümünü kullanıyorum.

uygulama 'org.slf4j: slf4j-api: 2.0.0-alpha1'

'org.slf4j: log4j-slf4j: 2.0.0-alfa1' uygulaması

Ancak aşağıdaki hatayı alıyorum ve ayrıca hiçbir günlük yazdırılmıyor.

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.

Günlükler eski sürümle (1.7.25) iyi çalışıyor. Bu günlüklerin yazdırılabilmesi için projeye eklenmesi veya yapılandırılması gereken bir şey var mı?


POM dosyanızı burada paylaşabilir misiniz? Hangi bağımlılıkların kullanıldığını anlamada yardımcı olacaktır
user2281204

Yanıtlar:


1

Slf4j-api yerine slf4j-log4j12 ekleyerek iletileri yazdıracaktır

Aşağıdakileri kaldırın

implementation 'org.slf4j:slf4j-api:2.0.0-alpha1'
implementation 'org.slf4j:log4j-over-slf4j:2.0.0-alpha1'

Ekle

implementation group: 'org.slf4j', name: 'slf4j-log4j12', version: '+'

0

Bunun nedeni, slf4j'nin önceden var olan diğer kitaplıklarla bağlanması gereken bir soyutlama olmasıdır. Bu nedenle, günlükleri yazdırmak için basitçe slf4j kullanıyorsanız, kayıt düzeyleri vb. Ayarlara sahip olmayacağı için işe yaramaz. Bu bağlantı aynı konuda bazı bilgiler verir.

Ayrıca, Spring Boot'un yeni sürümü 1.7.9 sürümü için slf4j ile varsayılan bir entegrasyona sahiptir


0

Spring Boot 2.x kullanırken herhangi bir günlük bağımlılığını içe aktarmanız gerekmez . Tek yapmanız gereken, daha önce yapmış olduğunuz bazı Spring Boot Starter'ı içe aktarmaktır . Örneğin spring-boot-starter-web, hangisi bağlıdır spring-boot-starter-logging, hangi spring-jclSpring Framework ile kayıt için gerekli modülü çeker .

Başlatıcıları kullanırken, Logback varsayılan olarak günlüğe kaydetmek için kullanılır, Log4j gerekli değildir.

İçin tüm referansları slf4jderleme dosyanızdan kaldırmanız yeterlidir. Spring Boot Web Starter referansı build.gradle dosyasında nasıl göründüğü.

compile("org.springframework.boot:spring-boot-starter-web")
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.