ざっと調べてみると、SLF4JとGuice(実際にはどのDIフレームワークでも)は一種の相反する哲学のようです。SLF4Jは、「ねえ、実行時にバインドするクラスがわからないので、それで問題ありません」というアプローチを採用しています。一方、Guiceは、「ねえ、コンパイル時に知る必要があります」と言っているようです。バインドしているクラスを正確に示します。 "。
だから私は尋ねます:Guice / Spring /その他のDIフレームワークを使用してSLF4Jバインディングを構成/注入することは可能ですか?
キッカーは、JavaClassLoader
が、実行時に適切なLogger / LoggerFactory/etcを使用してSLF4Jを実際に「注入」していることです。org.slf4j.impl.Logger
オブジェクトなので、実行時に必要なものを返すようにこれらのClassLoaderを注入する方法がわかりません。
SLF4JとAPIに対するロギングの利点だけでなく、DIの利点も気に入っているので質問します。これを機能させる方法はありますか?前もって感謝します!