3
ロギングフレームワークの非互換性
私は小さなJavaアプリを構築していて、ロギングにlogbackを使用したいと思っています。 私のアプリは、ロギングを行う古いプロジェクトに依存しています 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を介してlogbackを介してログを記録でき、一方、古いライブラリコードは、リダイレクトを介して同じ場所にログインできます。 悲しいかな、これは 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のいずれかを使用したいのですが、共通の構成を使用して、古いプロジェクトのロギングを「新しい」ロギングフレームワークが最終的に何になるかにマージしたいと思います。