intra-mart Accel Platform ログ仕様書 第15版 2024-04-01

Layout

この設定は一部のEncoderで設定可能です。<layout> で設定します。
Layoutは、以下の役割を担います。
  • ログ出力時のフォーマットの決定
<layout> で指定可能な属性設定は以下の通りです。
属性 必須設定 説明
class × Layoutの実装クラスの完全修飾クラス名を指定します。
Encoderに対しての設定は <layout> の子要素で指定します。設定可能な値(プロパティ)は、Layoutの実装により異なります。
Layoutの実装クラスとその他のクラスとの関連クラスの情報は以下の通りです。
../../../_images/layout.png
以下では各種Layoutの実装を紹介します。

コラム

本書に記述されていないLayoutについては「LogbackのWebサイト」を参照してください。

EchoLayout

ログレベルとメッセージのみの文字列を生成するLayoutです。

クラス名

ch.qos.logback.core.layout.EchoLayout

プロパティ

設定可能なプロパティはありません。

PatternLayout

pattern に指定したパターン文字列のルールに従ってログに出力する文字列を生成します。

クラス名

ch.qos.logback.classic.PatternLayout

プロパティ

プロパティ名 タイプ 必須設定 説明
pattern String
出力時のフォーマットパターン。
フォーマットパターンで指定可能なパターン文字列については「パターン文字列」を参照してください。
outputPatternAsHeader boolean ×
ログ出力開始時に、<pattern> に指定した文字列を出力するかを指定します。
true を指定した場合、Appenderの出力先に対してログメッセージを出力を開始する前に以下のような文字列が出力されます。
#logback.classic pattern: [%level] %logger{10} - %msg%n
false を指定した場合は、出力を行いません。
未指定の場合は、false を設定したものとして扱われます。

OutputStackTracePatternLayout

PatternLayoutを拡張したLayoutです。
このLayoutを利用することで通知された例外情報をExceptionログとして、別ファイルに出力します。

クラス名

jp.co.intra_mart.common.platform.log.layout.OutputStackTracePatternLayout

プロパティ

プロパティ名 タイプ 必須設定 説明
pattern String
出力時のフォーマットパターン。
このLayoutを利用すると、Exception情報が別ファイル(Exceptionログ)に出力されるため、通常はパターン文字列「例外の抑止」を含めたフォーマットパターンを指定します。
フォーマットパターンで指定可能なパターン文字列については「パターン文字列」を参照してください。
outputPatternAsHeader boolean ×
ログ出力開始時に、<pattern> に指定した文字列を出力するかを指定します。
true を指定した場合、Appenderの出力先に対してログメッセージを出力を開始する前に以下のような文字列が出力されます。
#logback.classic pattern: [%level] %logger{10} - %msg%n
false を指定した場合は、出力を行いません。
未指定の場合は、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ログとの紐付けができます。