11.7.2. カスタムログフォーマッターの設定
JSON 形式でログメッセージをフォーマットする JSON ログフォーマッターを作成できます。
重要
ロギングプロファイルにこのログフォーマッターを設定する場合、 コマンドの最初は /subsystem=logging/
ではなく /subsystem=logging/logging-profile=LOGGING_PROFILE_NAME/
になります。
さらに、管理対象ドメインで実行している場合はコマンドの前に /profile=PROFILE_NAME
を付けます。
JSON ログフォーマッターの追加
/subsystem=logging/json-formatter=JSON_FORMATTER_NAME:add(pretty-print=true, exception-output-type=formatted)
これにより、以下のようにフォーマットされるログメッセージが作成されます。
{ "timestamp": "2018-10-18T13:53:43.031-04:00", "sequence": 62, "loggerClassName": "org.jboss.as.server.logging.ServerLogger_$logger", "loggerName": "org.jboss.as", "level": "INFO", "message": "WFLYSRV0025: JBoss EAP 7.4.0.GA (WildFly Core 15.0.2.Final-redhat-00001) started in 5227ms - Started 317 of 556 services (343 services are lazy, passive or on-demand), "threadName": "Controller Boot Thread", "threadId": 22, "mdc": { }, "ndc": "", "hostName": "localhost.localdomain", "processName": "jboss-modules.jar", "processId": 7461 }
Logstash JSON ログフォーマッターの追加
注記
JSON ログフォーマッター出力キーを変更し、静的メタデータを追加できます。JSON ログフォーマッターの主な目的は、ログメッセージを JSON 形式でフォーマットすることです。Logstash はこの JSON 出力を消費し、@timestamp
および @version
のフィールドを検索します。以下の例では、Logstash のメッセージをフォーマットする JSON ログフォーマッターを作成します。
/subsystem=logging/json-formatter=logstash:add(exception-output-type=formatted, key-overrides=[timestamp="@timestamp"], meta-data=[@version=1])
JSON フォーマッター属性は以下の説明どおりに使用できます。
-
key-overrides
属性は、定義されたキーの名前をオーバーライドするために使用できます。 -
exception-output-type
属性をformatted
に設定すると、例外をオブジェクトとしてフォーマットできます。 -
exception-output-type
属性をdetailed
に設定すると、例外スタックトレースを含めることができます。 -
exception-output-type
属性をdetailed-and-formatted
に設定すると、例外をオブジェクトとしてフォーマットし、スタックトレースを含めることができます。 -
meta-data
属性を使用すると、メタデータをログレコードに追加できます。
JSON フォーマッター属性の詳細は JSON ログフォーマッター属性 を参照してください。
管理コンソールを使用して JSON ログフォーマッターを設定することもできます。
- ブラウザーで管理コンソールを開きます。
- Configuration → Subsystems → Logging と選択します。
- Configuration を選択し、表示 をクリックします。
- Formatter を選択し、JSON Formatter オプションを選択します。