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
Nested ClassesModifier 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
Constructors -
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:
- シリアライズ用のオブジェクト
-