検索

13.3. コンソールログハンドラー

download PDF

コンソールログハンドラーはデフォルトで有効になっており、コンソール用に構造化されていないログメッセージを提供します。

13.3.1. コンソールログ形式を設定する

Red Hat build of Keycloak は、デフォルトで人間が判読できるテキストログを生成するパターンベースのロギングフォーマッターを使用します。

これらの行のログ形式テンプレートは、ルートレベルで適用できます。デフォルトの形式テンプレートは次のとおりです。

  • %d{yyyy-MM-dd HH:mm:ss,SSS} %-5p [%c] (%t) %s%e%n

この形式の文字列では、下表の記号がサポートされています。

記号概要説明

%%

%

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

%c

カテゴリー

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

%d{xxx}

日付

指定された日付形式の文字列で日付をレンダリングします。java.text.SimpleDateFormat で定義された文字列構文。

%e

例外

出力された例外をレンダリングします。

%h

Hostname

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

%H

修飾ホスト名

完全修飾ホスト名をレンダリングします。OS 設定によっては、単純なホスト名と同じになる場合があります。

%i

プロセス ID

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

%m

フルメッセージ

出力された場合は、ログメッセージと例外をレンダリングします。

%n

改行

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

%N

プロセス名

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

%p

レベル

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

%r

相対時間

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

%s

単純なメッセージ

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

%t

スレッド名

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

%t{id}

スレッド ID

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

%z{<zone name>}

タイムゾーン

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

%L

行番号

ログメッセージの行番号をレンダリングします。

13.3.2. ロギング形式を設定する

ログに記録される行のログ形式を設定するには、次の手順を実行します。

  1. 前述の表を使用して、形式テンプレートを作成します。
  2. 以下のコマンドを入力します。

    bin/kc.[sh|bat] start --log-console-format="'<format>'"

; などの特殊なシェル文字を含むコマンドを呼び出す場合は、CLI を使用して文字をエスケープする必要があります。代わりに、設定ファイルで設定することを検討してください。

例: 完全修飾カテゴリー名を短縮する

bin/kc.[sh|bat] start --log-console-format="'%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p [%c{3.}] (%t) %s%e%n'"

この例では、テンプレートでデフォルトの [%c] の代わりに [%c{3.}] を設定することで、カテゴリー名を 3 文字に短縮します。

13.3.3. JSON またはプレーンコンソールのロギングを設定する

デフォルトでは、コンソールログハンドラーはプレーンな非構造化データをコンソールに記録します。代わりに構造化された JSON ログ出力を使用するには、次のコマンドを入力します。

bin/kc.[sh|bat] start --log-console-output=json

ログメッセージの例

{"timestamp":"2022-02-25T10:31:32.452+01:00","sequence":8442,"loggerClassName":"org.jboss.logging.Logger","loggerName":"io.quarkus","level":"INFO","message":"Keycloak 18.0.0-SNAPSHOT on JVM (powered by Quarkus 2.7.2.Final) started in 3.253s. Listening on: http://0.0.0.0:8080","threadName":"main","threadId":1,"mdc":{},"ndc":"","hostName":"host-name","processName":"QuarkusEntryPoint","processId":36946}

JSON 出力を使用する場合、色は無効になり、--log-console-format で設定された形式設定は適用されません。

非構造化ロギングを使用するには、次のコマンドを入力します。

bin/kc.[sh|bat] start --log-console-output=default

ログメッセージの例

2022-03-02 10:36:50,603 INFO  [io.quarkus] (main) Keycloak 18.0.0-SNAPSHOT on JVM (powered by Quarkus 2.7.2.Final) started in 3.615s. Listening on: http://0.0.0.0:8080

13.3.4. 色

非構造化ログの色付きコンソールログ出力は、デフォルトでは無効になっています。色を使用すると読みやすくなりますが、ログを外部のログ集約システムに送信する際に問題が発生する可能性があります。色分けされたコンソールログ出力を有効または無効にするには、次のコマンドを入力します。

bin/kc.[sh|bat] start --log-console-color=<false|true>
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.