Package nablarch.core.log.basic
Class JsonLogFormatter
java.lang.Object
nablarch.core.log.basic.JsonLogFormatter
- All Implemented Interfaces:
LogFormatter
LogFormatter
のJSON形式フォーマット実装クラス。JsonLogFormatterは、出力項目を指定してフォーマットを指定する。 出力項目の一覧を下記に示す。
date このログ出力を要求した時点の日時。 logLevel このログ出力のログレベル。 デフォルトはLogLevel列挙型の名称を文言に使用する。 文言はプロパティファイルの設定で変更することができる。 loggerName このログ出力が対応するロガー設定の名称。 このログ出力を呼び出した箇所に関わらず、プロパティファイル(log.properties)に記載したロガー名となる。 runtimeLoggerName 実行時に、プロパティファイルの記述ルールを下記に示す。LoggerManager
からロガー取得に指定した名称。 このログ出力を呼び出した際にLoggerManager.get(Class)
で指定したクラス名 またはLoggerManager.get(String)
で指定した名称となる。 bootProcess 起動プロセスを識別する名前。 起動プロセスは、システムプロパティ"nablarch.bootProcess"から取得する。 指定がない場合はブランク。 processingSystem 処理方式を識別する名前。 処理方式は、プロパティファイル("nablarch.processingSystem")から取得する。 指定がない場合はブランク。 requestId このログ出力を要求した時点のリクエストID。 executionId このログ出力を要求した時点の実行時ID userId このログ出力を要求した時点のログインユーザのユーザID。 message このログ出力のメッセージ。 payload オプション情報に指定されたオブジェクトのフィールド情報。 オブジェクトの型はMap<String, Object>
でなければならない。 Mapのアイテムがルート階層に追加される。 キーが重複した場合は、いずれか一つのみが出力される。 stackTrace エラー情報に指定された例外オブジェクトのスタックトレース。 エラー情報の指定がない場合は表示しない。
writer.<LogWriterの名称>.formatter.label.<LogLevelの名称の小文字>
LogLevel
に使用するラベル。オプション。
指定しなければLogLevel
の名称を使用する。writer.<LogWriterの名称>.formatter.targets
- 出力項目をカンマ区切りで指定する。オプション。 指定しなければ全ての出力項目が出力の対象となる。
writer.<LogWriterの名称>.formatter.datePattern
- 日時のフォーマットに使用するパターン。オプション。
指定しなければyyyy-MM-dd HH:mm:ss.SSSを使用する。 writer.<LogWriterの名称>.formatter.structuredMessagePrefix
- 各種ログで使用される組み込み処理用の接頭辞。オプション。
指定しなければ$JSON$を使用する。
- See Also:
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
起動プロセスを処理するクラス。static class
出力日時を処理するクラス。static class
実行時IDを処理するクラス。static class
ロガー名を処理するクラス。static class
ログレベルを処理するクラス。static class
メッセージを処理するクラス。static class
オプション情報に指定されたオブジェクトを処理するクラス。static class
処理方式を処理するクラス。static class
リクエストIDを処理するクラス。static class
実行時ロガー名を処理するクラス。static class
エラー情報に指定された例外オブジェクトのスタックトレースを処理するクラス。static class
ユーザIDを処理するクラス。 -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected FormatErrorSupport
フォーマットエラーを処理するクラスを生成する。protected JsonSerializationManager
createSerializationManager
(ObjectSettings settings) Jsonのシリアライズに使用する管理クラスを生成する。createStructuredObject
(LogContext context) ログコンテキストからシリアライズ用のオブジェクトを作成する。protected List<JsonLogObjectBuilder<LogContext>>
createStructuredTargets
(ObjectSettings settings) ログ出力項目を生成する。format
(LogContext context) ログのフォーマットを行う。protected LogLevelLabelProvider
getLogLevelLabelProvider
(ObjectSettings settings) LogLevelLabelProviderを取得する。void
initialize
(ObjectSettings settings) 初期処理を行う。
-
Constructor Details
-
JsonLogFormatter
public JsonLogFormatter()
-
-
Method Details
-
initialize
初期処理を行う。
出力項目を初期化する。- Specified by:
initialize
in interfaceLogFormatter
- Parameters:
settings
- LogFormatterの設定
-
createFormatErrorSupport
フォーマットエラーを処理するクラスを生成する。- Returns:
- フォーマットエラーを処理するクラス
-
createSerializationManager
Jsonのシリアライズに使用する管理クラスを生成する。- Parameters:
settings
- LogFormatterの設定- Returns:
- Jsonのシリアライズに使用する管理クラス
-
createStructuredTargets
ログ出力項目を生成する。- Parameters:
settings
- LogFormatterの設定- Returns:
- ログ出力項目
-
getLogLevelLabelProvider
LogLevelLabelProviderを取得する。- Parameters:
settings
- LogFormatterの設定- Returns:
- LogLevelLabelProvider
-
format
ログのフォーマットを行う。- Specified by:
format
in interfaceLogFormatter
- Parameters:
context
-LogContext
- Returns:
- フォーマット済みのログ
-
createStructuredObject
ログコンテキストからシリアライズ用のオブジェクトを作成する。- Parameters:
context
- ログコンテキスト- Returns:
- シリアライズ用のオブジェクト
-