Log4j-architecture
log4j-アーキテクチャ
log4j APIは、各層が異なるタスクを実行する異なるオブジェクトを提供する階層化アーキテクチャに従います。 この階層化されたアーキテクチャにより、設計は柔軟になり、将来拡張しやすくなります。
log4jフレームワークで使用できるオブジェクトには2つのタイプがあります。
- *コアオブジェクト:*これらはフレームワークの必須オブジェクトです。 フレームワークを使用するために必要です。
- *サポートオブジェクト:*これらはフレームワークのオプションのオブジェクトです。 追加の重要なタスクを実行するコアオブジェクトをサポートします。
コアオブジェクト
コアオブジェクトには、次のタイプのオブジェクトが含まれます-
ロガーオブジェクト
最上位層はLoggerオブジェクトを提供するLoggerです。 Loggerオブジェクトは、ロギング情報をキャプチャする役割を果たし、ネームスペース階層に保存されます。
レイアウトオブジェクト
レイアウトレイヤーは、さまざまなスタイルでログ情報をフォーマットするために使用されるオブジェクトを提供します。 ログ情報を公開する前に、アペンダーオブジェクトをサポートします。
レイアウトオブジェクトは、ログ情報を人間が読み取って再利用できる方法で公開する際に重要な役割を果たします。
アペンダーオブジェクト
これは、Appenderオブジェクトを提供する下位レベルのレイヤーです。 Appenderオブジェクトは、データベース、ファイル、コンソール、UNIX Syslogなどのさまざまな優先先にロギング情報を公開する役割を果たします。
次の仮想図は、log4Jフレームワークのコンポーネントを示しています。
サポートオブジェクト
log4jフレームワークには、ロギングフレームワークで重要な役割を果たす他の重要なオブジェクトがあります。
レベルオブジェクト
Levelオブジェクトは、ロギング情報の粒度と優先度を定義します。 APIには、OFF、DEBUG、INFO、ERROR、WARN、FATAL、ALLの7つのレベルのロギングが定義されています。
フィルターオブジェクト
Filterオブジェクトを使用して、ログ情報を分析し、その情報をログに記録するかどうかをさらに決定します。
Appenderオブジェクトには、複数のFilterオブジェクトを関連付けることができます。 ログ情報が特定のAppenderオブジェクトに渡される場合、そのAppenderに関連付けられているすべてのFilterオブジェクトは、ログ情報を承認してから、接続先に公開する必要があります。
ObjectRenderer
ObjectRendererオブジェクトは、ロギングフレームワークに渡されるさまざまなオブジェクトのストリング表現を提供することに特化しています。 このオブジェクトは、最終的なログ情報を準備するためにレイアウトオブジェクトによって使用されます。
LogManager
LogManagerオブジェクトは、ロギングフレームワークを管理します。 システム全体の構成ファイルまたは構成クラスから初期構成パラメーターを読み取る必要があります。