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()

ロギングメッセージのヘッダー情報を指定します。

各サブクラスは、これらのメソッドの具体的な実装をオーバーライドすることにより、クラス固有の情報を返すことができます。