ログ-log 4 jのLoggerとcommons.ロゴのログの違い


1、ログを作るときは両者を一緒に使うのが一般的で、commons-loggingの動作原理はインタフェースをして、log 4 jは実現して、応用するのは単独のlog 4 jを使うより簡単です.
commons-logging動作原理:1.1まずclasspathの下で自分のプロファイルcommons-loggingを探す.properties、見つかった場合、定義されたLog実装クラスを使用します.
1.2 commons-loggingが見つからない場合propertiesファイルは、システム環境変数orgが定義かどうかを検索する.apache.commons.logging.Log,見つけるとその定義を用いたLog実装クラス
1.3 classpathにログ実装クラスとしてログ4 jのパケットがあるかどうかを確認し、発見された場合はログ実装クラスとしてログ4 jを自動的に使用する
1.4 JDK自身のログ実装クラスを使用する(JDK 1.4以降にログ実装クラスがある)
1.5 commons-logging自身が提供する簡単なログ実装クラスSimpleLog(以上の順序は完全に正確ではないので、公式ドキュメントを参照してください)commons-loggingは常に1つのログ実装クラスを見つけることができ、できるだけ1つの"最も適切な"ログ実装クラスを見つけることができる.
2、apache common loggingはlogのフレームワークインタフェースであり、それ自体がlogレコードの機能を実現するのではなく、実行時に現在存在するログライブラリを動的に検索し、関連するログ関数を呼び出し、具体的なログ実装を隠す.log 4 jは具体的なログ実装であり、本当に「ログを書く」という機能を担当している.common logging自体はlogではなく、ログのインタフェースと見なすことができ、log 4 jはログの実現である.common logging方式を用いてログを実現するのは、主な原因は、最下位のログ実現を無視したり、今後のログ実現ライブラリの交換に透明なインタフェースを提供したりすることである.log 4 jからlogbackに変更すると、log 4 jを使用していたソースコードをすべて書き換える必要がありますが、common loggingを使用する場合はjarパッケージを変更するだけで、ソースコードを変更する必要はありません.
3、実際に使う
private static Logger logger = Logger.getLogger(*.class);
    import org.apache.log4j.Logger;

private static final Log log = LogFactory.getLog(*.class);
    import org.apache.commons.logging.Log;
    import org.apache.commons.logging.LogFactory;