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 ログフォーマッターを設定することもできます。

  1. ブラウザーで管理コンソールを開きます。
  2. ConfigurationSubsystemsLogging と選択します。
  3. Configuration を選択し、表示 をクリックします。
  4. Formatter を選択し、JSON Formatter オプションを選択します。