Logger は log4j 独自のパッケージから来ています。 Logger.getLogger を使用する場合は、log4j jar パッケージが必要になります。このように、log4j のみに依存できます。
LogFactory は common-logging パッケージから来ています。 LogFactory.getLog を使用する場合、log4j を共通のログ インターフェイスを実装する任意のロガーに置き換えることができ、プログラムは影響を受けません。 Apache の common-logging パッケージは、この中間層を通じて、使用するログ システムを指定できます。システムの柔軟性を高めます。 log4j が存在しない場合、commons-logging は他のログ実装クラスを選択します。 これにより、プログラムで log4j ログ ファイルを使用する必要がなくなります。
柔軟性が高まる理由:
1) まず、クラスパスで独自の構成ファイル commons-logging.properties を探します。見つかった場合は、その中で定義されている Log 実装クラスを使用します。
2) commons-logging.properties ファイルが見つからない場合は、システム環境変数 org.apache.commons.logging.Log が定義されているかどうかを確認します。見つかった場合は、それに定義されている Log 実装クラスを使用します。
3)それ以外の場合は、クラスパスに Log4j パッケージがあるかどうかを確認します。見つかった場合は、Log4j がログ実装クラスとして自動的に使用されます。
4)それ以外の場合は、JDK 独自のログ実装クラスを使用します (ログ実装クラスは JDK1.4 以降でのみ使用可能です)。
5)それ以外の場合は、commons-logging によって提供される単純なログ実装クラス SimpleLog を使用します。
commons-logging の設定を簡略化するために、通常は commons-logging の設定ファイルは使用されず、commons-logging に関連するシステム環境変数は設定されず、代わりに Log4j の Jar パッケージが classpash に配置されます。このようにして、commons-logging と Log4j の統合が非常に簡単に完了します。
ログ情報は通常、さまざまなプロパティに応じて、低レベルから高レベルまで、「デバッグ (DEBUG)」「情報 (INFO)」「警告 (WARN)」「エラー (ERROR)」「致命的エラー (FATAL)」に分類されます。 」。
共通ロギング動作モードに基づく:
次のようにコードをコピーします。
パッケージ組織;
org.apache.commons.logging.Log をインポートします。
org.apache.log4j.Logger をインポートします。
パブリック クラス Test extends TagSupport{
public static Log log=LogFactory.getLog(Test.class);
パブリック静的ボイドテスト()
{
log.debug("111");
log.info("125");
log.warn("485");
log.error("エラー");
}
public static void main(String[] a)
{
テスト.test();
}
}
log4jに基づく運用方法
次のようにコードをコピーします。
org.apache.log4j.Logger をインポートします。
org.apache.log4j.PropertyConfigurator をインポートします。
パブリック クラス TestLog4j {
静的ロガー logger = Logger.getLogger(TestLog4j.class);
public static void main(String args[]) {
PropertyConfigurator.configure("log4j.properties");
logger.debug("ここにデバッグがあります");
logger.info("ここに情報があります");
logger.warn("ここに警告があります");
logger.error("ここにエラーがあります");
logger.fatal("ここに致命的なものがあります");
}
}
commons-logging は、Log4j のパッケージング層を提供するだけです (もちろん、他の LOG 実装も含みます)。特定のログ出力は処理のために内部で Log4j に転送され、log4j はデフォルトでクラス ディレクトリに移動して log4j.properties を見つけます。ファイル。