1.5. ロギングフォーマット
Red Hat build of Quarkus は、人間が判読できるテキストログを生成するパターンベースのロギングフォーマッターをデフォルトで使用します。ただし、専用のプロパティーを使用して各ログハンドラーのフォーマットを設定することもできます。
コンソールハンドラーの場合、プロパティーは quarkus.log.console.format
です。
ロギングフォーマットの文字列では、次のシンボルを使用できます。
記号 | 概要 | 説明 |
---|---|---|
|
|
単純な |
| カテゴリー | カテゴリー名をレンダリングします。 |
| ソースクラス | ソースクラス名をレンダリングします。[a] |
| 日付 |
指定された日付フォーマットの文字列で日付をレンダリングします。 |
| 例外 | 発生した例外がある場合はそれをレンダリングします。 |
| ソースファイル | ソースファイル名をレンダリングします。[a] |
| ホスト名 | システムの単純なホスト名をレンダリングします。 |
| 修飾ホスト名 | システムの完全修飾ホスト名を表示します。オペレーティングシステムの設定によっては、単純なホスト名と同じになる場合があります。 |
| プロセス ID | 現在のプロセス PID をレンダリングします。 |
| ソースの場所 | ソースファイル名、行番号、クラス名、メソッド名を含むソースの場所情報をレンダリングします。[a] |
| ソース行 | ソース行番号をレンダリングします。[a] |
| フルメッセージ | ログメッセージと例外 (存在する場合) をレンダリングします。 |
| ソースメソッド | ソースメソッド名をレンダリングします。[a] |
| 改行 | プラットフォーム固有の行区切り文字列をレンダリングします。 |
| プロセス名 | 現在のプロセスの名前をレンダリングします。 |
| レベル | メッセージのログレベルをレンダリングします。 |
| 相対時間 | アプリケーションログの開始からの相対時間 (ミリ秒単位) をレンダリングします。 |
| 単純なメッセージ | 例外トレースなしで、ログメッセージのみをレンダリングします。 |
| スレッド名 | スレッド名をレンダリングします。 |
| スレッド ID | スレッド ID をレンダリングします。 |
| タイムゾーン |
出力のタイムゾーンを |
| Mapped Diagnostic Context の値 | Mapped Diagnostic Context から値をレンダリングします。 |
| Mapped Diagnostic Context の複数の値 |
Mapped Diagnostic Context からすべての値を |
| ネスト化された診断コンテキスト値 |
ネストされた診断コンテキストから、すべての値を { |
[a]
呼び出し元情報を調べるフォーマットシーケンスがパフォーマンスに影響する可能性があります。
|
1.5.1. 代替のコンソールロギングフォーマット
コンソールログフォーマットは、たとえば後で分析するためにログ情報を処理および保存するサービスが Quarkus アプリケーションのコンソール出力をキャプチャーする場合などに変更できます。
1.5.1.1. JSON ロギングフォーマット
quarkus-logging-json
エクステンションを使用すると、JSON ロギングフォーマットとその関連設定のサポートを追加できます。
次の抜粋が示すとおり、このエクステンションをビルドファイルに追加します。
Maven を使用:
<dependency> <groupId>io.quarkus</groupId> <artifactId>quarkus-logging-json</artifactId> </dependency>
Gradle を使用する場合:
implementation("io.quarkus:quarkus-logging-json")
デフォルトでは、このエクステンションが存在するとコンソール設定の出力フォーマット設定が置き換えられ、フォーマット文字列と色設定 (存在する場合) は無視されます。非同期ログやログレベルの制御など、他のコンソール設定項目は引き続き適用されます。
開発モードでは人間が判読できる (非構造化) ログを使用し、実稼働モードでは JSON ログ (構造化) を使用することが合理的なこともあります。その場合は、次の設定に示すように、さまざまなプロファイルを使用できます。
開発モードおよびテストモードで application.properties の JSON ロギングを無効にします。
%dev.quarkus.log.console.json=false %test.quarkus.log.console.json=false
1.5.1.1.1. 設定
サポートされるプロパティーを使用して JSON ロギングエクステンションを設定し、動作をカスタマイズします。
ビルド時に固定された設定プロパティー: その他の設定プロパティーはすべて実行時にオーバーライド可能
設定プロパティー | 型 | デフォルト |
型 | デフォルト | |
JSON コンソールフォーマットエクステンションを有効にするかどうかを決定します。これにより、"通常の" コンソールフォーマットが無効になります。
環境変数: | boolean |
|
JSON レコードの "プリティープリント" を有効にします。一部の JSON パーサーは、プリティープリント出力を読み取れないことに注意してください。
環境変数: | boolean |
|
使用する日付フォーマット。"default" は特別な文字列で、デフォルトフォーマットを使用する必要があることを示します。
環境変数: | string |
|
使用する特別なレコード終了区切り文字。デフォルトでは、改行が使用されます。
環境変数: | string | |
使用するゾーン ID。"default" は特別な文字列で、デフォルトのゾーンを使用する必要があることを示します。
環境変数: | string |
|
指定する例外出力型。
環境変数: |
|
|
ログでの詳細出力を有効にします。 値は呼び出し元から取得されるため、詳細の出力はリソースを多く使用する可能性があります。詳細には、ソースクラス名、ソースファイル名、ソースメソッド名、およびソース行番号が含まれます。
環境変数: | boolean |
|
カスタム値でキーをオーバーライドします。この値を省略すると、キーはオーバーライドされません。
環境変数: | string | |
JSON 出力から除外するキー。
環境変数: | 文字列のリスト | |
追加フィールドの値。
環境変数: | string | required |
追加フィールドの型指定。サポートされている型:
環境変数: |
|
|
型 | デフォルト | |
JSON コンソールフォーマットエクステンションを有効にするかどうかを決定します。これにより、"通常の" コンソールフォーマットが無効になります。
環境変数: | boolean |
|
JSON レコードの "プリティープリント" を有効にします。一部の JSON パーサーは、プリティープリント出力を読み取れないことに注意してください。
環境変数: | boolean |
|
使用する日付フォーマット。"default" は特別な文字列で、デフォルトフォーマットを使用する必要があることを示します。
環境変数: | string |
|
使用する特別なレコード終了区切り文字。デフォルトでは、改行が使用されます。
環境変数: | string | |
使用するゾーン ID。"default" は特別な文字列で、デフォルトのゾーンを使用する必要があることを示します。
環境変数: | string |
|
指定する例外出力型。
環境変数: |
|
|
ログでの詳細出力を有効にします。 値は呼び出し元から取得されるため、詳細の出力はリソースを多く使用する可能性があります。詳細には、ソースクラス名、ソースファイル名、ソースメソッド名、およびソース行番号が含まれます。
環境変数: | boolean |
|
カスタム値でキーをオーバーライドします。この値を省略すると、キーはオーバーライドされません。
環境変数: | string | |
JSON 出力から除外するキー。
環境変数: | 文字列のリスト | |
追加フィールドの値。
環境変数: | string | required |
追加フィールドの型指定。サポートされている型:
環境変数: |
|
|
型 | デフォルト | |
JSON コンソールフォーマットエクステンションを有効にするかどうかを決定します。これにより、"通常の" コンソールフォーマットが無効になります。
環境変数: | boolean |
|
JSON レコードの "プリティープリント" を有効にします。一部の JSON パーサーは、プリティープリント出力を読み取れないことに注意してください。
環境変数: | boolean |
|
使用する日付フォーマット。"default" は特別な文字列で、デフォルトフォーマットを使用する必要があることを示します。
環境変数: | string |
|
使用する特別なレコード終了区切り文字。デフォルトでは、改行が使用されます。
環境変数: | string | |
使用するゾーン ID。"default" は特別な文字列で、デフォルトのゾーンを使用する必要があることを示します。
環境変数: | string |
|
指定する例外出力型。
環境変数: |
|
|
ログでの詳細出力を有効にします。 値は呼び出し元から取得されるため、詳細の出力はリソースを多く使用する可能性があります。詳細には、ソースクラス名、ソースファイル名、ソースメソッド名、およびソース行番号が含まれます。
環境変数: | boolean |
|
カスタム値でキーをオーバーライドします。この値を省略すると、キーはオーバーライドされません。
環境変数: | string | |
JSON 出力から除外するキー。
環境変数: | 文字列のリスト | |
追加フィールドの値。
環境変数: | string | required |
追加フィールドの型指定。サポートされている型:
環境変数: |
|
|
プリティープリントを有効にすると、特定のプロセッサーや JSON パーサーが失敗する場合があります。
値は呼び出し元から取得されるため、詳細の出力はリソースを多く使用する可能性があります。詳細には、ソースクラス名、ソースファイル名、ソースメソッド名、およびソース行番号が含まれます。