Layout¶
この設定は一部のEncoderで設定可能です。<layout> で設定します。Layoutは、以下の役割を担います。
- ログ出力時のフォーマットの決定
<layout> で指定可能な属性設定は以下の通りです。
属性 必須設定 説明 class × Layoutの実装クラスの完全修飾クラス名を指定します。 Encoderに対しての設定は <layout> の子要素で指定します。設定可能な値(プロパティ)は、Layoutの実装により異なります。Layoutの実装クラスとその他のクラスとの関連クラスの情報は以下の通りです。以下では各種Layoutの実装を紹介します。コラム
本書に記述されていないLayoutについては「LogbackのWebサイト」を参照してください。
EchoLayout¶
ログレベルとメッセージのみの文字列を生成するLayoutです。
PatternLayout¶
pattern に指定したパターン文字列のルールに従ってログに出力する文字列を生成します。
プロパティ¶
プロパティ名 タイプ 必須設定 説明 pattern String ○ 出力時のフォーマットパターン。フォーマットパターンで指定可能なパターン文字列については「パターン文字列」を参照してください。outputPatternAsHeader boolean × ログ出力開始時に、<pattern> に指定した文字列を出力するかを指定します。true を指定した場合、Appenderの出力先に対してログメッセージを出力を開始する前に以下のような文字列が出力されます。#logback.classic pattern: [%level] %logger{10} - %msg%nfalse を指定した場合は、出力を行いません。未指定の場合は、false を設定したものとして扱われます。
OutputStackTracePatternLayout¶
PatternLayoutを拡張したLayoutです。このLayoutを利用することで通知された例外情報をExceptionログとして、別ファイルに出力します。
プロパティ¶
プロパティ名 タイプ 必須設定 説明 pattern String ○ outputPatternAsHeader boolean × ログ出力開始時に、<pattern> に指定した文字列を出力するかを指定します。true を指定した場合、Appenderの出力先に対してログメッセージを出力を開始する前に以下のような文字列が出力されます。#logback.classic pattern: [%level] %logger{10} - %msg%nfalse を指定した場合は、出力を行いません。未指定の場合は、false を設定したものとして扱われます。enableOutputStackTrace boolean × Exceptionログの出力を行うかどうかを指定します。未指定の場合は、true を設定したものとして扱われます。stackTraceDir String × Exceptionログの出力を行うディレクトリを指定します。<enableOutputStackTrace> に true を指定する場合は必ず指定してください。stackTraceFilename String × Exceptionログの出力を行うファイル名のパターンを指定します。パターンに指定した文字列の一部はファイル出力時に置換が行われます。置換が行われる文字列は以下の通りです。
- yyyy-MM-dd のような java.text.SimpleDateFormat の形式をログ出力時の日時に置き換えます
- %logId を ログID に置き換えます。
<enableOutputStackTrace> に true を指定する場合は必ず指定してください。コラム
ログID とは、intra-mart Accel Platform のLogger APIでログを出力する度に生成される一意な値です。MDCから取得可能です。MDCのキーは log.id です。<pattern> に %X{log.id} を含めることで、Exceptionログとの紐付けができます。