1.3. ランタイム設定の設定


application.properties ファイルで、ロギングレベルとカテゴリーを設定できます。

ロギングカテゴリーは階層的です。カテゴリーのロギングレベルを設定すると、設定はそのカテゴリーのすべてのサブカテゴリーに適用されます。

ロギングレベル設定には、ロギングレベルと最小ロギングレベルの 2 つがあります。デフォルトのロギングレベルは INFO で、デフォルトの最小ロギングレベルは DEBUG です。quarkus.log.level および quarkus.log.min-level プロパティーまたはカテゴリーを使用して、グローバルで調整できます。

ロギングレベルを最小ロギングレベルより低く設定する場合は、最小ロギングレベルも調整する必要があります。そうしないと、最小ロギングレベルの値がロギングレベルをオーバーライドします。

過度のロギングは、パフォーマンスに影響を与えます。最小ロギングレベルを調整して、アプリケーションに関連するデータのみを収集できます。ログボリュームを減らすと、メモリー使用量が最適化され、アプリケーションのパフォーマンスが向上する可能性があります。たとえば、ネイティブ実行では、最小レベルにより、低いレベルのチェック(isTraceEnabled)を false に折りたたむことができます。これにより、デッドコードが削除されます。

手順

  • application.properties ファイルでロギング出力を設定します。

    以下の例は、デフォルトのロギングレベルを INFO ロギングに設定し、Hibernate DEBUG ログを含める方法を示しています。

    application.properties ファイルの例

    quarkus.log.level=INFO
    quarkus.log.category."org.hibernate".level=DEBUG

    注記

    コマンドラインを使用して設定プロパティーを設定する場合は、" を使用してエスケープします。

    • -Dquarkus.log.category.\"org.hibernate\".level=TRACE

1.3.1. ロギング形式の設定

Quarkus は、人間が判読できるテキストログを生成するパターンベースのロギングフォーマッターを使用します。ログエントリーには、タイムスタンプ、ロギングレベル、クラス名、スレッド ID、およびメッセージが表示されます。専用の設定プロパティーを使用して、各ログハンドラーの形式をカスタマイズできます。

前提条件

  • Quarkus Maven プロジェクトがある。

手順

  • quarkus.log.console.format の値を設定して、以下のようにコンソールハンドラーを設定します。

    application.properties ファイルの例

    quarkus.log.console.format=%d{HH:mm:ss} %-5p [%c{2.}] (%t) %s%e%n

    この設定により、ログメッセージのフォーマットは以下のようになります。

    14:11:07 INFO  [ExampleResource] (executor-thread-199) Hello

1.3.1.1. ロギング形式の文字列

次の表に、ログメッセージの形式を設定するために使用できるロギング形式の文字列記号を示します。

Expand
表1.1 サポートされているロギング形式の記号
記号概要説明

%%

%

単純な % 文字

%c

カテゴリー

カテゴリー名

%C

ソースクラス

ソースクラス名 [a]

%d{xxx}

日付

java.text.SimpleDateFormat サンプルに従う、指定された日付形式文字列の日付。

%e

例外

例外スタックトレース

%F

ソースファイル

ソースファイル名 [a]

%h

ホスト名

システムのシンプルなホスト名

%H

修飾ホスト名

システムの完全修飾ホスト名。OS の設定によっては、単純なホスト名と同じになる場合があります。

%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>}

マップされた診断コンテキスト値

マップされた診断コンテキストからの値

%X

マップされた診断コンテキスト値

{property.key=property.value} 形式のマップされた診断コンテキストからのすべての値

%x

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

{value1.value2} 形式のネスト化された診断コンテキストからのすべての値

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

1.3.2. ロギングカテゴリーの設定

ロギングカテゴリーを使用して、ログメッセージを重大度または所属するコンポーネントに基づいて整理できます。各カテゴリーは個別に設定できます。

すべてのカテゴリーについて、同じ設定がコンソール、ファイル、および syslog に適用されます。1 つ以上の名前付きハンドラーをカテゴリーにアタッチすることで、設定をオーバーライドできます。

Expand
表1.2 ロギングカテゴリーの設定プロパティー
プロパティー名デフォルト説明

quarkus.log.category."<category-name>".level

INFO [a]

<category-name> カテゴリーを設定するレベル。

quarkus.log.category."<category-name>".min-level

DEBUG

<category-name> カテゴリーを設定する最小ロギングレベル。

quarkus.log.category."<category-name>".use-parent-handlers

true

ロガーがその出力を親ロガーに送信できるようにします。

quarkus.log.category."<category-name>".handlers=[<handler>]

[b]

特定のカテゴリーに割り当てるハンドラーの名前。

[a] 一部のエクステンションでは、特定のカテゴリーに対してカスタマイズされたデフォルトのロギングレベルを定義して、ログノイズを減らします。設定でロギングレベルを設定すると、エクステンションで定義されたロギングレベルがオーバーライドされます。
[b] デフォルトでは、設定されたカテゴリーは、root ロガーカテゴリーからアタッチされたすべてのハンドラーを継承します。
注記

プロパティーの名前でロギングカテゴリー名を使用する場合は、通常はカテゴリー名の一部であるピリオド(.)をエスケープするために、ロギングカテゴリー名を二重引用符(")内に配置します。

1.3.3. ロギングレベル

ロギングレベルを使用して、Quarkus アプリケーションの正常性および安定性への影響または重大度別にログを分類できます。ロギングレベルを使用すると、純粋に情報を示すイベントから重要なイベントをフィルタリングできます。

Expand
表1.3 Quarkus は、次のロギングレベルをサポートします。
ロギングレベル説明

OFF

ロギングをオフにする特別なレベル。

FATAL

重大なサービス障害またはサービス要求を完了できない。

ERROR

リクエストの大幅な中断、リクエストに対応できない場合。

WARN

重大ではないサービスエラーまたは即時の修正を必要としない可能性がある問題。

INFO

サービスライフサイクルイベントまたは重要な関連する非常に低頻度の情報。

DEBUG

ライフサイクルまたは要求にバインドされていないイベントに関する追加のデバッグ情報を提供するメッセージ。

TRACE

リクエストごとの追加のデバッグ情報を提供する高い頻度で配信されるメッセージ。

ALL

カスタムレベルを含むすべてのメッセージの特別なレベル。

注記

また、java.util.logging パッケージによって記述されるロギングレベル名を使用することもできます。

1.3.4. ルートロガー設定

root ロガーカテゴリーは、ロガー階層の最上位にあり、ロギング設定の最上位で設定されます。root ロガーは、サーバーに送信され、ロギングカテゴリーによってキャプチャーされない、指定されたロギングレベル以上のすべてのログメッセージをキャプチャーします。

Expand
表1.4 root ロガーの設定プロパティー
プロパティー名デフォルト説明

quarkus.log.level

INFO

すべてのロギングカテゴリーのデフォルトのロギングレベル。

quarkus.log.min-level

DEBUG

すべてのロギングカテゴリーのデフォルトの最小ロギングレベル。

1.3.5. Quarkus ログハンドラー

ログハンドラーは、ログイベントを受信者に送信するロギングコンポーネントです。Quarkus には、次のログハンドラーが含まれています。

コンソールログハンドラー
コンソールログハンドラーはデフォルトで有効になっています。アプリケーションのコンソール (通常はシステムの stdout) にすべてのログイベントを出力します。
ファイルログハンドラー
ファイルログハンドラーはデフォルトで無効になっています。すべてのログイベントをアプリケーションのホスト上のファイルに出力します。ファイルログハンドラーは、ログファイルのローテーションをサポートしています。
Syslog ログハンドラー

Syslog は、Unix 系システムでログメッセージを送信するプロトコルです。syslog プロトコルの仕様は、RFC 5424 で定義されています。

syslog ハンドラーは、すべてのログイベントを syslog サーバーに送信します (デフォルトでは、syslog サーバーはアプリケーションと同じホストで実行されます)。デフォルトでは、syslog ハンドラーは無効になっています。

1.3.6. ロギング設定の例

このセクションでは、Quarkus プロジェクトのロギングを設定する方法の例を示します。

application.properties ファイルの例

# Format log messages to have shorter time and shorter category prefixes.
quarkus.log.console.format=%d{HH:mm:ss} %-5p [%c{2.}] (%t) %s%e%n

# Remove color from log messages.
quarkus.console.color=false

# Enable console DEBUG logging with the exception of Quarkus logs that have a logging level set to INFO.
quarkus.log.console.level=DEBUG
quarkus.log.category."io.quarkus".level=INFO

application.properties ファイルの例

# Enable file logging and set a path to the log file.
quarkus.log.file.enable=true
quarkus.log.file.path=/tmp/trace.log

# Enable TRACE log messages in a log file.
quarkus.log.file.level=TRACE

# Set a format for the log file output.
quarkus.log.file.format=%d{HH:mm:ss} %-5p [%c{2.}] (%t) %s%e%n

# Set logging level to TRACE for specific categories.
quarkus.log.category."io.quarkus.smallrye.jwt".level=TRACE
quarkus.log.category."io.undertow.request.security".level=TRACE

注記

デフォルトでは、root ロガーレベルは INFO に設定されています。DEBUGTRACE などの低いレベルのログを収集する場合は、root ロガー設定を変更します。

application.properties ファイルの例

# Set path to the log file.
quarkus.log.file.path=/tmp/trace.log

# Configure console format.
quarkus.log.console.format=%d{HH:mm:ss} %-5p [%c{2.}] (%t) %s%e%n

# Configure a console log handler.
quarkus.log.handler.console."STRUCTURED_LOGGING".format=%e%n

# Configure a file log handler.
quarkus.log.handler.file."STRUCTURED_LOGGING_FILE".enable=true
quarkus.log.handler.file."STRUCTURED_LOGGING_FILE".format=%e%n

# Configure the category and associate it with the two named handlers.
quarkus.log.category."io.quarkus.category".level=INFO
quarkus.log.category."io.quarkus.category".handlers=STRUCTURED_LOGGING,STRUCTURED_LOGGING_FILE

Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2026 Red Hat
トップに戻る