GMaven の使い方を見ていると「SLF4J (Simple Logging Facade for Java)」というライブラリが出て来ました(→)。
SLF4J の説明を読むと
The Simple Logging Facade for Java or (SLF4J) serves as a simple facade or abstraction for various logging frameworks, e.g. java.util.logging, log4j and logback, allowing the end user to plug in the desired logging framework at deployment time.
となっていて、なんか「commons-logging のコンセプトと同じじゃねぇ?」と疑問が。
理由は「Taxonomy of class loader problems encountered when using Jakarta Commons Logging」に載ってました。
結論から言うと、「commons-logging をサーバーサイドで使用すると、クラスローダの問題で、適切なクラスが上手くロードされない」ってな感じのことらしいです。 解決方法として commons-logging のインターフェースをそのまま使える修正もできるようですが、SLF4J 使うのが手っ取り早いようで。 幸い、使い方はあまり変わらないか、むしろ柔軟になっているようなので。
ただ、この記事の対象となっているのは commons-logging 1.0.4 らしく、また、commons-logging のリリースノート(→)を見ると
1.1 Release - 10 May 2006
This release makes several changes that are intended to resolve issues that have been encountered when using commons-logging in servlet containers or j2ee containers where complex classpaths are present and multiple copies of commons-logging libraries are present at different levels.
となっていて、バグが修正されてるっぽいです。
Jakarta Commonsクックブック ―Javaプロジェクト必須のレシピ集
- 作者: Timothy M. O'Brien,長瀬嘉秀(監訳),株式会社テクノロジックアート
- 出版社/メーカー: オライリージャパン
- 発売日: 2005/08/20
- メディア: 大型本
- 購入: 2人 クリック: 38回
- この商品を含むブログ (38件) を見る