log4j-概要
log4jは、Javaで記述された信頼性が高く高速で柔軟なロギングフレームワーク(API)であり、Apacheソフトウェアライセンスの下で配布されます。
log4jは、C、C ++、C#、Perl、Python、Ruby、およびEiffel言語に移植されています。
log4jは、実行時に外部構成ファイルを介して高度に構成可能です。優先度のレベルの観点からロギングプロセスを表示し、データベース、ファイル、コンソール、UNIXSyslogなどのさまざまな宛先にロギング情報を送信するメカニズムを提供します。
log4jには3つの主要なコンポーネントがあります。
loggers:ログ情報のキャプチャを担当します。
appenders:ログ情報をさまざまな優先宛先に公開する責任があります。
layouts:ログ情報をさまざまなスタイルでフォーマットする責任があります。
log4jの歴史
EU SEMPER(Secure Electronic Marketplace for Europe)プロジェクトのトレースAPIとして1996年の初めに開始されました。
数え切れないほどの機能強化といくつかの化身の後、最初のAPIは進化して、Javaの人気のあるロギングパッケージであるlog4jになりました。
このパッケージは、オープンソースイニシアチブによって認定された本格的なオープンソースライセンスであるApache SoftwareLicenseの下で配布されます。
完全なソースコード、クラスファイル、およびドキュメントを含む最新のlog4jバージョンは、次の場所にあります。 http://logging.apache.org/log4j/。
log4jの機能
スレッドセーフです。
速度が最適化されています。
これは、名前付きロガー階層に基づいています。
ロガーごとに複数の出力アペンダーをサポートします。
国際化をサポートします。
事前定義された一連の施設に限定されません。
ロギング動作は、構成ファイルを使用して実行時に設定できます。
これは、最初からJava例外を処理するように設計されています。
複数のレベル、つまりALL、TRACE、DEBUG、INFO、WARN、ERROR、およびFATALを使用します。
ログ出力の形式は、Layoutクラスを拡張することで簡単に変更できます。
ログ出力のターゲットと書き込み戦略は、Appenderインターフェイスの実装によって変更できます。
フェイルストップです。ただし、確実に配信されるように努めていますが、log4jは各ログステートメントが宛先に配信されることを保証していません。
ロギングの長所と短所
ロギングは、ソフトウェア開発の重要なコンポーネントです。適切に記述されたロギングコードは、アプリケーションのランタイム情報の迅速なデバッグ、簡単なメンテナンス、および構造化ストレージを提供します。
ロギングには欠点もあります。アプリケーションの速度が低下する可能性があります。冗長すぎると、スクロール失明を引き起こす可能性があります。これらの懸念を軽減するために、log4jは信頼性が高く、高速で拡張性があるように設計されています。
ロギングがアプリケーションの主な焦点になることはめったにないため、log4jAPIは理解と使用が簡単になるように努めています。