私は小さなJavaアプリを構築していて、ロギングにログバックを使用したいと思っています。
私のアプリは、ログを介してロギングを行う古いプロジェクトに依存しています
org.apache.commons | com.springsource.org.apache.commons.logging | 1.1.1
...だから私の計画は使用することでした
org.slf4j | jcl-over-slf4j | 1.5.6
...JCLログをにリダイレクトする
org.slf4j | slf4j-api | 1.6.0
...そして最終的には
ch.qos.logback | logback-classic | 0.9.22
ch.qos.logback | logback-core | 0.9.22
そのため、私のアプリはslf4j APIを介してログバックを介してログに記録できますが、古いライブラリコードはリダイレクトを介して同じ場所にログインできます。
悲しいかな、これは結果として
java.lang.NoSuchMethodError: org.slf4j.spi.LocationAwareLogger.log(Lorg/slf4j/Marker;Ljava/lang/String;ILjava/lang/String;Ljava/lang/Throwable;)V
at org.apache.commons.logging.impl.SLF4JLocationAwareLog.info(SLF4JLocationAwareLog.java:141)
これらのjarのいくつかで検証数を増やしたり減らしたりして、APIドキュメントなどを調べましたが、問題を見つけて解決することができません。
助けてください?
ログバックは「戦略的な」ログフレームワークと見なされますが、最終的に使用するログメカニズムにはある程度の余裕があります。ただし、logbackまたはlog4jのいずれかを使用したいと思います。また、共通の構成を使用して、古いプロジェクトのロギングを「新しい」ロギングフレームワークにマージしたいと思います。