log4jは各層が異なるタスクを実行する別のオブジェクトを有し、階層構造に従います。この構造、設計の柔軟性と容易な将来の拡張の後、レベル。
log4jのフレームは、2つのオブジェクトがあります。
- コアオブジェクトは:フレームワークをサポートするオブジェクトは、フレームワークは、必須成分です。
- サポート対象:これらは、追加の重要な仕事を提供するために使用されるオプションのオブジェクトフレーム、です。
コアオブジェクトには、次のタイプのものがあります。
- ロガーオブジェクトは、最上位層である、さまざまなスタイルを使用してログを変換するための責任があります。これは、リリース前にアペンダを対象とする情報を提供します。(層は、本明細書中に位置する位置を意味します)
- レイアウトオブジェクトの再利用可能な、それが読みやすくするためにフォーマットスタイルログ情報、リリース前にログ情報を提供するため、。
- アペンダのオブジェクトは、そのようなので、上のデータベース、ファイル、コンソール、UNIXsyslogとなど、さまざまな目的地に情報を公開する責任があるオブジェクトの下に属するオブジェクト。
ここでlog4jのアーキテクチャ構成図です。
サポートオブジェクト、彼らはlog4jのフレームワークの中で重要な役割を果たしました。
- レベルのオブジェクト:OFF、DEBUG、INFO、ERROR:ログレベルと優先度情報のサイズにオブジェクト定義は、7つのレベルがあり 、WARN、FATAL およびALLを。
- Filterオブジェクト:ログ情報を解析するためのログ情報を出力するかどうかを決定します。ログ情報は、特定のアペンダに到達すると、各アペンダオブジェクトは、すべてのフィルタは、前の宛先へのリリースにアペンダ機能フィルタリング動作を支援する、複数のフィルタオブジェクトが一緒に働くことができます。
- オブジェクトレンダラ:異なるオブジェクトを識別するためにログを送信するための文字列を提供することは、オブジェクト情報は、レイアウトが一定オブジェクト調製するために使用されます。
- ログマネージャ:初期設定から情報を読み取るための責任があるロギングフレームワークを、管理するために、この設定は、設定ファイルであってもよいし、そのクラスを構成することができます。
ます。https://my.oschina.net/u/204616/blog/545136で再現