Springブートでバージョン「2.0.0-alpha1」のorg.slf4jのログインを有効にする方法


11

SLF4Jロギングを使用してすべてのログを印刷しました。最新バージョンのorg.slf4jを使用しています。

実装 'org.slf4j:slf4j-api:2.0.0-alpha1'

実装 'org.slf4j:log4j-over-slf4j:2.0.0-alpha1'

しかし、次のエラーが発生し、ログも出力されません。

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.

ログは古いバージョン(1.7.25)で正常に動作しています。これらのログを印刷できるように、プロジェクトに追加または構成する必要があるものはありますか


ここでPOMファイルを共有できますか?使用されている依存関係を理解するのに役立ちます
user2281204

回答:


1

slf4j-apiの代わりにslf4j-log4j12を追加するメッセージを出力します

以下を削除

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

追加

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

0

これは、slf4jが他の既存のライブラリとのバインドを必要とする抽象化であるためです。したがって、単にslf4jを使用してログを出力している場合は、ログレベルなどの設定がないため、機能しません。 このリンクは、同じ情報を提供します。

また、Spring Bootの新しいバージョンには、バージョン1.7.9のslf4jとのデフォルトの統合があります。


0

Spring Boot 2.xを使用する場合、ログの依存関係をインポートする必要はありません。必要なのは、Spring Boot Starterをインポートすることだけです。たとえばspring-boot-starter-web、に依存しspring-boot-starter-loggingspring-jclSpring Frameworkでのロギングに必要なモジュールを取り込みます。

スターターを使用する場合、デフォルトではログにLogbackが使用され、Log4jは不要です。

slf4jビルドファイルからへのすべての参照を削除するだけです。これが、Spring Boot Web Starterへの参照がbuild.gradleファイルでどのように見えるかです。

compile("org.springframework.boot:spring-boot-starter-web")
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.