log4j-ログのフォーマット
Apachelog4jはさまざまな Layoutオブジェクト。それぞれがさまざまなレイアウトに従ってログデータをフォーマットできます。アプリケーション固有の方法でログデータをフォーマットするLayoutオブジェクトを作成することもできます。
すべてのレイアウトオブジェクトは、 LoggingEvent からのオブジェクト Appenderオブジェクト。次に、LayoutオブジェクトはLoggingEventからメッセージ引数を取得し、適切なObjectRendererを適用してメッセージの文字列表現を取得します。
レイアウトタイプ
階層の最上位クラスは抽象クラスです org.apache.log4j.Layout。これは、log4jAPIの他のすべてのレイアウトクラスの基本クラスです。
Layoutクラスはアプリケーション内で抽象として定義されており、このクラスを直接使用することはありません。代わりに、次のようなサブクラスを使用します。
DateLayout
HTMLLayout
PatternLayout.
SimpleLayout
XMLLayout
レイアウト方法
このクラスは、他のすべてのLayoutオブジェクトに共通するすべての操作のスケルトン実装を提供し、2つの抽象メソッドを宣言します。
シニア番号 | 方法と説明 |
---|---|
1 | public abstract boolean ignoresThrowable() ロギング情報が、ロギングイベントの一部として渡されたjava.lang.Throwableオブジェクトを処理するかどうかを示します。LayoutオブジェクトがThrowableオブジェクトを処理する場合、Layoutオブジェクトはそれを無視せず、falseを返します。 |
2 | public abstract String format(LoggingEvent event) 個々のレイアウトサブクラスは、レイアウト固有のフォーマットのためにこのメソッドを実装します。 |
これらの抽象メソッドとは別に、Layoutクラスは、以下にリストされているメソッドの具体的な実装を提供します。
シニア番号 | 方法と説明 |
---|---|
1 | public String getContentType() Layoutオブジェクトで使用されるコンテンツタイプを返します。基本クラスは、デフォルトのコンテンツタイプとしてtext / plainを返します。 |
2 | public String getFooter() ロギングメッセージのフッター情報を指定します。 |
3 | public String getHeader() ロギングメッセージのヘッダー情報を指定します。 |
各サブクラスは、これらのメソッドの具体的な実装をオーバーライドすることにより、クラス固有の情報を返すことができます。