第3章 ランタイム設定の設定
application.properties ファイルで、ロギングレベルおよびロギングカテゴリーを設定できます。
ロギングカテゴリーは階層的です。カテゴリーのロギングレベルを設定すると、設定はそのカテゴリーのすべてのサブカテゴリーに適用されます。
ロギングレベル設定には、ロギングレベルと最小ロギングレベルの 2 つがあります。デフォルトのロギングレベルは INFO で、デフォルトの最小ロギングレベルは DEBUG です。quarkus.log.level および quarkus.log.min-level プロパティーまたはカテゴリーを使用して、グローバルで調整できます。
ロギングレベルを最小ロギングレベルより低く設定する場合は、最小ロギングレベルも調整する必要があります。そうしないと、最小ロギングレベルの値がロギングレベルをオーバーライドします。
過度のロギングは、パフォーマンスに影響を与えます。最小ロギングレベルを調整して、アプリケーションに関連するデータのみを収集できます。ログボリュームを減らすと、メモリー使用量が最適化され、アプリケーションのパフォーマンスが向上する可能性があります。たとえば、ネイティブ実行では、最小レベルにより、低いレベルのチェック (isTraceEnabled) を false に折りたたむことができます。これにより、デッドコードが削除されます。
手順
application.propertiesファイルでロギング出力を設定します。src/main/resources/application.properties
<configuration_key>=<value>
<configuration_key>=<value>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下の例は、デフォルトのロギングレベルを
INFOロギングに設定し、HibernateDEBUGログを含める方法を示しています。src/main/resources/application.properties
quarkus.log.level=INFO quarkus.log.category."org.hibernate".level=DEBUG
quarkus.log.level=INFO quarkus.log.category."org.hibernate".level=DEBUGCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記コマンドラインで設定プロパティーを設定する場合は、
"をエスケープしてください。たとえば、-Dquarkus.log.category.\"org.hibernate\".level=TRACEです。
3.1. ロギング形式の設定 リンクのコピーリンクがクリップボードにコピーされました!
Quarkus は、人間が判読できるテキストログを生成するパターンベースのロギングフォーマッターを使用します。ログエントリーには、タイムスタンプ、ロギングレベル、クラス名、スレッド ID、およびメッセージが表示されます。専用の設定プロパティーを使用して、各ログハンドラーの形式をカスタマイズできます。
前提条件
- Quarkus Maven プロジェクトがある。
手順
quarkus.log.console.formatの値を設定して、コンソールハンドラーを設定します。src/main/resources/application.properties
quarkus.log.console.format=<logging_format_string>
quarkus.log.console.format=<logging_format_string>Copy to Clipboard Copied! Toggle word wrap Toggle overflow src/main/resources/application.properties
quarkus.log.console.format=%d{HH:mm:ss} %-5p [%c{2.}] (%t) %s%e%nquarkus.log.console.format=%d{HH:mm:ss} %-5p [%c{2.}] (%t) %s%e%nCopy to Clipboard Copied! Toggle word wrap Toggle overflow この設定により、ログメッセージのフォーマットは以下のようになります。
14:11:07 INFO [ExampleResource] (executor-thread-199) Hello
14:11:07 INFO [ExampleResource] (executor-thread-199) HelloCopy to Clipboard Copied! Toggle word wrap Toggle overflow
3.1.1. ロギング形式の文字列 リンクのコピーリンクがクリップボードにコピーされました!
次の表に、ログメッセージの形式を設定するために使用できるロギング形式の文字列記号を示します。
| Symbol | 概要 | 説明 |
|---|---|---|
|
|
|
単純な |
|
| カテゴリー | カテゴリー名 |
|
| ソースクラス | ソースクラス名[a] |
|
| 日付 |
|
|
| 例外 | 例外スタックトレース |
|
| ソースファイル | ソースファイル名 [a] |
|
| ホスト名 | システムのシンプルなホスト名 |
|
| 修飾ホスト名 | システムの完全修飾ホスト名。OS の設定によっては、シンプルなホスト名と同じになる場合があります。 |
|
| プロセス ID | 現在のプロセス PID |
|
| ソースの場所 | ソースの場所 (ソースファイル名、行番号、クラス名、およびメソッド名) [a] |
|
| ソース行 | ソース行番号 [a] |
|
| フルメッセージ | ログメッセージ (例外トレースを含む) |
|
| ソースメソッド | ソースメソッド名 [a] |
|
| 改行 | プラットフォーム固有の行区切り文字列 |
|
| プロセス名 | 現在のプロセスの名前 |
|
| レベル | メッセージのロギングレベル |
|
| 相対時間 | アプリケーションログの開始からの相対時間 (ミリ秒単位) |
|
| シンプルなメッセージ | 例外トレースのないログメッセージ |
|
| スレッド名 | スレッド名 |
|
| スレッド ID | スレッド ID |
|
| タイムゾーン |
|
|
| マップされた診断コンテキスト値 | マップされた診断コンテキストからの値 |
|
| マップされた診断コンテキスト値 | {property.key=property.value} 形式のマップされた診断コンテキストからのすべての値 |
|
| ネスト化された診断コンテキスト値 | ネスト化された診断コンテキストからのすべての値 ({value1.value2} の形式) |
[a]
呼び出し元情報を調べるフォーマットシーケンスは、パフォーマンスに影響を与える可能性があります。
| ||