@Published(tag="architect") public class JsonLogFormatter extends java.lang.Object implements LogFormatter
LogFormatter
のJSON形式フォーマット実装クラス。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
writer.<LogWriterの名称>.formatter.structuredMessagePrefix
LogWriter
Modifier and Type | Class and Description |
---|---|
static class |
JsonLogFormatter.BootProcessBuilder
起動プロセスを処理するクラス。
|
static class |
JsonLogFormatter.DateBuilder
出力日時を処理するクラス。
|
static class |
JsonLogFormatter.ExecutionIdBuilder
実行時IDを処理するクラス。
|
static class |
JsonLogFormatter.LoggerNameBuilder
ロガー名を処理するクラス。
|
static class |
JsonLogFormatter.LogLevelBuilder
ログレベルを処理するクラス。
|
static class |
JsonLogFormatter.MessageBuilder
メッセージを処理するクラス。
|
static class |
JsonLogFormatter.PayloadBuilder
オプション情報に指定されたオブジェクトを処理するクラス。
|
static class |
JsonLogFormatter.ProcessingSystemBuilder
処理方式を処理するクラス。
|
static class |
JsonLogFormatter.RequestIdBuilder
リクエストIDを処理するクラス。
|
static class |
JsonLogFormatter.RuntimeLoggerNameBuilder
実行時ロガー名を処理するクラス。
|
static class |
JsonLogFormatter.StackTraceBuilder
エラー情報に指定された例外オブジェクトのスタックトレースを処理するクラス。
|
static class |
JsonLogFormatter.UserIdBuilder
ユーザIDを処理するクラス。
|
Constructor and Description |
---|
JsonLogFormatter() |
Modifier and Type | Method and Description |
---|---|
protected FormatErrorSupport |
createFormatErrorSupport()
フォーマットエラーを処理するクラスを生成する。
|
protected JsonSerializationManager |
createSerializationManager(ObjectSettings settings)
Jsonのシリアライズに使用する管理クラスを生成する。
|
protected java.util.Map<java.lang.String,java.lang.Object> |
createStructuredObject(LogContext context)
ログコンテキストからシリアライズ用のオブジェクトを作成する。
|
protected java.util.List<JsonLogObjectBuilder<LogContext>> |
createStructuredTargets(ObjectSettings settings)
ログ出力項目を生成する。
|
java.lang.String |
format(LogContext context)
ログのフォーマットを行う。
|
protected LogLevelLabelProvider |
getLogLevelLabelProvider(ObjectSettings settings)
LogLevelLabelProviderを取得する。
|
void |
initialize(ObjectSettings settings)
初期処理を行う。
|
public void initialize(ObjectSettings settings)
initialize
in interface LogFormatter
settings
- LogFormatterの設定protected FormatErrorSupport createFormatErrorSupport()
protected JsonSerializationManager createSerializationManager(ObjectSettings settings)
settings
- LogFormatterの設定protected java.util.List<JsonLogObjectBuilder<LogContext>> createStructuredTargets(ObjectSettings settings)
settings
- LogFormatterの設定protected LogLevelLabelProvider getLogLevelLabelProvider(ObjectSettings settings)
settings
- LogFormatterの設定public java.lang.String format(LogContext context)
format
in interface LogFormatter
context
- LogContext
protected java.util.Map<java.lang.String,java.lang.Object> createStructuredObject(LogContext context)
context
- ログコンテキスト