1.5. ロギングフォーマット


Red Hat build of Quarkus は、人間が判読できるテキストログを生成するパターンベースのロギングフォーマッターをデフォルトで使用します。ただし、専用のプロパティーを使用して各ログハンドラーのフォーマットを設定することもできます。

コンソールハンドラーの場合、プロパティーは quarkus.log.console.format です。

ロギングフォーマットの文字列では、次のシンボルを使用できます。

記号概要説明

%%

%

単純な % 文字をレンダリングします。

%c

カテゴリー

カテゴリー名をレンダリングします。

%C

ソースクラス

ソースクラス名をレンダリングします。[a]

%d{xxx}

日付

指定された日付フォーマットの文字列で日付をレンダリングします。java.text.SimpleDateFormat で定義された構文を使用します。

%e

例外

発生した例外がある場合はそれをレンダリングします。

%F

ソースファイル

ソースファイル名をレンダリングします。[a]

%h

ホスト名

システムの単純なホスト名をレンダリングします。

%H

修飾ホスト名

システムの完全修飾ホスト名を表示します。オペレーティングシステムの設定によっては、単純なホスト名と同じになる場合があります。

%i

プロセス ID

現在のプロセス PID をレンダリングします。

%l

ソースの場所

ソースファイル名、行番号、クラス名、メソッド名を含むソースの場所情報をレンダリングします。[a]

%L

ソース行

ソース行番号をレンダリングします。[a]

%m

フルメッセージ

ログメッセージと例外 (存在する場合) をレンダリングします。

%M

ソースメソッド

ソースメソッド名をレンダリングします。[a]

%n

改行

プラットフォーム固有の行区切り文字列をレンダリングします。

%N

プロセス名

現在のプロセスの名前をレンダリングします。

%p

レベル

メッセージのログレベルをレンダリングします。

%r

相対時間

アプリケーションログの開始からの相対時間 (ミリ秒単位) をレンダリングします。

%s

単純なメッセージ

例外トレースなしで、ログメッセージのみをレンダリングします。

%t

スレッド名

スレッド名をレンダリングします。

%t{id}

スレッド ID

スレッド ID をレンダリングします。

%z{<zone name>}

タイムゾーン

出力のタイムゾーンを <zone name> に設定します。

%X{<MDC property name>}

Mapped Diagnostic Context の値

Mapped Diagnostic Context から値をレンダリングします。

%X

Mapped Diagnostic Context の複数の値

Mapped Diagnostic Context からすべての値を {property.key=property.value} フォーマットでレンダリングします。

%x

ネスト化された診断コンテキスト値

ネストされた診断コンテキストから、すべての値を {value1.value2} フォーマットでレンダリングします。

[a] 呼び出し元情報を調べるフォーマットシーケンスがパフォーマンスに影響する可能性があります。

1.5.1. 代替のコンソールロギングフォーマット

コンソールログフォーマットは、たとえば後で分析するためにログ情報を処理および保存するサービスが Quarkus アプリケーションのコンソール出力をキャプチャーする場合などに変更できます。

1.5.1.1. JSON ロギングフォーマット

quarkus-logging-json エクステンションを使用すると、JSON ロギングフォーマットとその関連設定のサポートを追加できます。

  1. 次の抜粋が示すとおり、このエクステンションをビルドファイルに追加します。

    • Maven を使用:

      <dependency>
          <groupId>io.quarkus</groupId>
          <artifactId>quarkus-logging-json</artifactId>
      </dependency>
    • Gradle を使用する場合:

      implementation("io.quarkus:quarkus-logging-json")

      デフォルトでは、このエクステンションが存在するとコンソール設定の出力フォーマット設定が置き換えられ、フォーマット文字列と色設定 (存在する場合) は無視されます。非同期ログやログレベルの制御など、他のコンソール設定項目は引き続き適用されます。

      開発モードでは人間が判読できる (非構造化) ログを使用し、実稼働モードでは JSON ログ (構造化) を使用することが合理的なこともあります。その場合は、次の設定に示すように、さまざまなプロファイルを使用できます。

  2. 開発モードおよびテストモードで application.properties の JSON ロギングを無効にします。

    %dev.quarkus.log.console.json=false
    %test.quarkus.log.console.json=false
1.5.1.1.1. 設定

サポートされるプロパティーを使用して JSON ロギングエクステンションを設定し、動作をカスタマイズします。

lock ビルド時に固定された設定プロパティー: その他の設定プロパティーはすべて実行時にオーバーライド可能

設定プロパティー

デフォルト

コンソールロギング

デフォルト

quarkus.log.console.json

JSON コンソールフォーマットエクステンションを有効にするかどうかを決定します。これにより、"通常の" コンソールフォーマットが無効になります。

環境変数: QUARKUS_LOG_CONSOLE_JSON

boolean

true

quarkus.log.console.json.pretty-print

JSON レコードの "プリティープリント" を有効にします。一部の JSON パーサーは、プリティープリント出力を読み取れないことに注意してください。

環境変数: QUARKUS_LOG_CONSOLE_JSON_PRETTY_PRINT

boolean

false

quarkus.log.console.json.date-format

使用する日付フォーマット。"default" は特別な文字列で、デフォルトフォーマットを使用する必要があることを示します。

環境変数: QUARKUS_LOG_CONSOLE_JSON_DATE_FORMAT

string

default

quarkus.log.console.json.record-delimiter

使用する特別なレコード終了区切り文字。デフォルトでは、改行が使用されます。

環境変数: QUARKUS_LOG_CONSOLE_JSON_RECORD_DELIMITER

string

 

quarkus.log.console.json.zone-id

使用するゾーン ID。"default" は特別な文字列で、デフォルトのゾーンを使用する必要があることを示します。

環境変数: QUARKUS_LOG_CONSOLE_JSON_ZONE_ID

string

default

quarkus.log.console.json.exception-output-type

指定する例外出力型。

環境変数: QUARKUS_LOG_CONSOLE_JSON_EXCEPTION_OUTPUT_TYPE

detailed, formatted, detailed-and-formatted

detailed

quarkus.log.console.json.print-details

ログでの詳細出力を有効にします。

値は呼び出し元から取得されるため、詳細の出力はリソースを多く使用する可能性があります。詳細には、ソースクラス名、ソースファイル名、ソースメソッド名、およびソース行番号が含まれます。

環境変数: QUARKUS_LOG_CONSOLE_JSON_PRINT_DETAILS

boolean

false

quarkus.log.console.json.key-overrides

カスタム値でキーをオーバーライドします。この値を省略すると、キーはオーバーライドされません。

環境変数: QUARKUS_LOG_CONSOLE_JSON_KEY_OVERRIDES

string

 

quarkus.log.console.json.excluded-keys

JSON 出力から除外するキー。

環境変数: QUARKUS_LOG_CONSOLE_JSON_EXCLUDED_KEYS

文字列のリスト

 

quarkus.log.console.json.additional-field."field-name".value

追加フィールドの値。

環境変数: QUARKUS_LOG_CONSOLE_JSON_ADDITIONAL_FIELD__FIELD_NAME__VALUE

string

required exclamation circle

quarkus.log.console.json.additional-field."field-name".type

追加フィールドの型指定。サポートされている型: stringintlong。指定されていない場合は string がデフォルトになります。

環境変数: QUARKUS_LOG_CONSOLE_JSON_ADDITIONAL_FIELD__FIELD_NAME__TYPE

string, int, long

string

ファイルのロギング

デフォルト

quarkus.log.file.json

JSON コンソールフォーマットエクステンションを有効にするかどうかを決定します。これにより、"通常の" コンソールフォーマットが無効になります。

環境変数: QUARKUS_LOG_FILE_JSON

boolean

true

quarkus.log.file.json.pretty-print

JSON レコードの "プリティープリント" を有効にします。一部の JSON パーサーは、プリティープリント出力を読み取れないことに注意してください。

環境変数: QUARKUS_LOG_FILE_JSON_PRETTY_PRINT

boolean

false

quarkus.log.file.json.date-format

使用する日付フォーマット。"default" は特別な文字列で、デフォルトフォーマットを使用する必要があることを示します。

環境変数: QUARKUS_LOG_FILE_JSON_DATE_FORMAT

string

default

quarkus.log.file.json.record-delimiter

使用する特別なレコード終了区切り文字。デフォルトでは、改行が使用されます。

環境変数: QUARKUS_LOG_FILE_JSON_RECORD_DELIMITER

string

 

quarkus.log.file.json.zone-id

使用するゾーン ID。"default" は特別な文字列で、デフォルトのゾーンを使用する必要があることを示します。

環境変数: QUARKUS_LOG_FILE_JSON_ZONE_ID

string

default

quarkus.log.file.json.exception-output-type

指定する例外出力型。

環境変数: QUARKUS_LOG_FILE_JSON_EXCEPTION_OUTPUT_TYPE

detailed, formatted, detailed-and-formatted

detailed

quarkus.log.file.json.print-details

ログでの詳細出力を有効にします。

値は呼び出し元から取得されるため、詳細の出力はリソースを多く使用する可能性があります。詳細には、ソースクラス名、ソースファイル名、ソースメソッド名、およびソース行番号が含まれます。

環境変数: QUARKUS_LOG_FILE_JSON_PRINT_DETAILS

boolean

false

quarkus.log.file.json.key-overrides

カスタム値でキーをオーバーライドします。この値を省略すると、キーはオーバーライドされません。

環境変数: QUARKUS_LOG_FILE_JSON_KEY_OVERRIDES

string

 

quarkus.log.file.json.excluded-keys

JSON 出力から除外するキー。

環境変数: QUARKUS_LOG_FILE_JSON_EXCLUDED_KEYS

文字列のリスト

 

quarkus.log.file.json.additional-field."field-name".value

追加フィールドの値。

環境変数: QUARKUS_LOG_FILE_JSON_ADDITIONAL_FIELD__FIELD_NAME__VALUE

string

required exclamation circle

quarkus.log.file.json.additional-field."field-name".type

追加フィールドの型指定。サポートされている型: stringintlong。指定されていない場合は string がデフォルトになります。

環境変数: QUARKUS_LOG_FILE_JSON_ADDITIONAL_FIELD__FIELD_NAME__TYPE

string, int, long

string

Syslog ロギング

デフォルト

quarkus.log.syslog.json

JSON コンソールフォーマットエクステンションを有効にするかどうかを決定します。これにより、"通常の" コンソールフォーマットが無効になります。

環境変数: QUARKUS_LOG_SYSLOG_JSON

boolean

true

quarkus.log.syslog.json.pretty-print

JSON レコードの "プリティープリント" を有効にします。一部の JSON パーサーは、プリティープリント出力を読み取れないことに注意してください。

環境変数: QUARKUS_LOG_SYSLOG_JSON_PRETTY_PRINT

boolean

false

quarkus.log.syslog.json.date-format

使用する日付フォーマット。"default" は特別な文字列で、デフォルトフォーマットを使用する必要があることを示します。

環境変数: QUARKUS_LOG_SYSLOG_JSON_DATE_FORMAT

string

default

quarkus.log.syslog.json.record-delimiter

使用する特別なレコード終了区切り文字。デフォルトでは、改行が使用されます。

環境変数: QUARKUS_LOG_SYSLOG_JSON_RECORD_DELIMITER

string

 

quarkus.log.syslog.json.zone-id

使用するゾーン ID。"default" は特別な文字列で、デフォルトのゾーンを使用する必要があることを示します。

環境変数: QUARKUS_LOG_SYSLOG_JSON_ZONE_ID

string

default

quarkus.log.syslog.json.exception-output-type

指定する例外出力型。

環境変数: QUARKUS_LOG_SYSLOG_JSON_EXCEPTION_OUTPUT_TYPE

detailed, formatted, detailed-and-formatted

detailed

quarkus.log.syslog.json.print-details

ログでの詳細出力を有効にします。

値は呼び出し元から取得されるため、詳細の出力はリソースを多く使用する可能性があります。詳細には、ソースクラス名、ソースファイル名、ソースメソッド名、およびソース行番号が含まれます。

環境変数: QUARKUS_LOG_SYSLOG_JSON_PRINT_DETAILS

boolean

false

quarkus.log.syslog.json.key-overrides

カスタム値でキーをオーバーライドします。この値を省略すると、キーはオーバーライドされません。

環境変数: QUARKUS_LOG_SYSLOG_JSON_KEY_OVERRIDES

string

 

quarkus.log.syslog.json.excluded-keys

JSON 出力から除外するキー。

環境変数: QUARKUS_LOG_SYSLOG_JSON_EXCLUDED_KEYS

文字列のリスト

 

quarkus.log.syslog.json.additional-field."field-name".value

追加フィールドの値。

環境変数: QUARKUS_LOG_SYSLOG_JSON_ADDITIONAL_FIELD__FIELD_NAME__VALUE

string

required exclamation circle

quarkus.log.syslog.json.additional-field."field-name".type

追加フィールドの型指定。サポートされている型: stringintlong。指定されていない場合は string がデフォルトになります。

環境変数: QUARKUS_LOG_SYSLOG_JSON_ADDITIONAL_FIELD__FIELD_NAME__TYPE

string, int, long

string

警告

プリティープリントを有効にすると、特定のプロセッサーや JSON パーサーが失敗する場合があります。

注記

値は呼び出し元から取得されるため、詳細の出力はリソースを多く使用する可能性があります。詳細には、ソースクラス名、ソースファイル名、ソースメソッド名、およびソース行番号が含まれます。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.