ロギングの設定

ロギングの設定方法について説明します

Keycloak は JBoss Logging フレームワークを使用しています。以下は、共通の親ログハンドラーである root を持つ、利用可能なログハンドラーの概要です。

  • console

  • file

  • syslog

ロギング設定

Keycloak では、ロギングはカテゴリごとに行われます。ルートログレベル、または org.hibernateorg.keycloak などのより具体的なカテゴリのロギングを設定できます。また、特定のログハンドラーごとにログレベルを調整することも可能です。

このガイドでは、ロギングの設定方法について説明します。

ログレベル

以下の表は、利用可能なログレベルを定義しています。

レベル 説明

FATAL

あらゆる種類のリクエストに応答できない、重大な障害。

ERROR

リクエストを処理できない原因となる重大なエラーまたは問題。

WARN

直ちに修正する必要はないかもしれない、重要でないエラーまたは問題。

INFO

Keycloak のライフサイクルイベントまたは重要な情報。低頻度。

DEBUG

データベースログなど、デバッグ目的の詳細情報。高頻度。

TRACE

最も詳細なデバッグ情報。非常に高頻度。

ALL

すべてのログメッセージに対する特別なレベル。

OFF

ロギングを完全にオフにする特別なレベル (推奨されません)。

ルートログレベルの設定

より具体的なカテゴリロガーのログレベル設定が存在しない場合、代わりに囲みカテゴリが使用されます。囲みカテゴリがない場合、ルートロガーレベルが使用されます。

ルートログレベルを設定するには、次のコマンドを入力します

bin/kc.[sh|bat] start --log-level=<root-level>

このコマンドには、以下のガイドラインを使用してください

  • <root-level> には、上記の表で定義されたレベルを指定します。

  • ログレベルは大文字と小文字を区別しません。たとえば、DEBUG または debug のいずれかを使用できます。

  • 誤ってログレベルを 2 回設定した場合、リストの最後の出現箇所がログレベルになります。たとえば、構文 --log-level="info,…​,DEBUG,…​" を含めた場合、ルートロガーは DEBUG になります。

カテゴリ固有のログレベルの設定

Keycloak の特定の領域に対して異なるログレベルを設定できます。異なるログレベルを設定したいカテゴリのカンマ区切りリストを指定するには、次のコマンドを使用します

bin/kc.[sh|bat] start --log-level="<root-level>,<org.category1>:<org.category1-level>"

カテゴリに適用される設定は、より具体的な一致するサブカテゴリを含めない限り、そのサブカテゴリにも適用されます。

bin/kc.[sh|bat] start --log-level="INFO,org.hibernate:debug,org.hibernate.hql.internal.ast:info"

この例では、次のログレベルを設定します

  • すべてのロガーのルートログレベルは INFO に設定されています。

  • Hibernate ログレベルは一般的に debug に設定されています。

  • SQL 抽象構文木が冗長なログ出力を生成するのを防ぐために、特定のサブカテゴリ org.hibernate.hql.internal.ast は info に設定されています。その結果、SQL 抽象構文木は debug レベルで表示される代わりに省略されます。

個別のオプションとしてレベルを設定する

カテゴリ固有のログレベルを設定する場合、log-level オプションの代わりに、個別の log-level-<category> オプションとしてログレベルを設定することもできます。これは、以前に設定した log-level オプションを上書きせずに、選択したカテゴリのログレベルを設定したい場合に便利です。

サーバーを次のように起動する場合

bin/kc.[sh|bat] start --log-level="INFO,org.hibernate:debug"

KC_LOG_LEVEL_ORG_KEYCLOAK=trace 環境変数を設定して、org.keycloak カテゴリのログレベルを変更できます。

log-level-<category> オプションは、log-level よりも優先されます。これにより、log-level オプションで設定した内容をオーバーライドできます。たとえば、上記の CLI 例で KC_LOG_LEVEL_ORG_HIBERNATE=trace を設定した場合、org.hibernate カテゴリは debug レベルではなく trace レベルを使用します。

環境変数を使用する場合、カテゴリ名はすべて大文字で、ドットはアンダースコアに置き換える必要があることに注意してください。他の構成ソースを使用する場合、カテゴリ名は「そのまま」指定する必要があります。例:

bin/kc.[sh|bat] start --log-level="INFO,org.hibernate:debug" --log-level-org.keycloak=trace

ログハンドラーの有効化

ログハンドラーを有効にするには、次のコマンドを入力します

bin/kc.[sh|bat] start --log="<handler1>,<handler2>"

利用可能なハンドラーは次のとおりです

  • console

  • file

  • syslog

以下に説明するより具体的なハンドラー設定は、ハンドラーがこのカンマ区切りリストに追加された場合にのみ有効になります。

ハンドラーごとにログレベルを指定する

log-level プロパティは、グローバルルートログレベルと選択したカテゴリのレベルを指定します。ただし、最新のアプリケーション要件に準拠するためには、よりきめ細かいログレベルのアプローチが必要です。

特定のハンドラーのログレベルを設定するには、log-<handler>-level (<handler> は利用可能なログハンドラー) 形式のプロパティが導入されました。

つまり、ログレベル設定のプロパティは次のようになります

  • log-console-level - コンソールログハンドラー

  • log-file-level - ファイルログハンドラー

  • log-syslog-level - Syslog ログハンドラー

log-<handler>-level プロパティは、特定のログハンドラーが有効になっている場合にのみ使用できます。詳細については、以下のログハンドラー設定を参照してください。

ログレベル セクションで指定されたログレベルのみが受け入れられ、小文字でなければなりません。現時点では、ログハンドラーに特定のカテゴリを指定することはサポートされていません。

一般的な原則

各特定のハンドラーのログレベルを設定しても、log-level プロパティで指定されたルートレベルはオーバーライドされないことを理解する必要があります。ログハンドラーはルートログレベルを尊重し、これはロギングシステム全体の最大詳細度を表します。つまり、個々のログハンドラーはルートロガーよりも詳細度を低く設定できますが、高くすることはできません。

具体的には、任意のログレベルがハンドラーに対して定義されている場合でも、そのログレベルのログレコードが出力に表示されるとは限りません。その場合、ルートの log-level も評価する必要があります。ログハンドラーレベルはルートログレベルの制限を提供し、ログハンドラーのデフォルトログレベルは all (制限なし) です。

例: ファイルハンドラーには debug、コンソールハンドラーには info
bin/kc.[sh|bat] start --log=console,file --log-level=debug --log-console-level=info

ルートログレベルは debug に設定されているため、すべてのログハンドラーが値を継承します。ファイルログハンドラーも同様です。コンソールで debug レコードを非表示にするには、コンソールハンドラーの最小 (最も重要度の低い) レベルを info に設定する必要があります。

例: すべてのハンドラーに warn、ファイルハンドラーに debug
bin/kc.[sh|bat] start --log=console,file,syslog --log-level=debug --log-console-level=warn --log-syslog-level=warn

ルートレベルは、最も詳細な必要なレベル (この場合は debug) に設定する必要があり、他のログハンドラーはそれに応じて修正する必要があります。

例: すべてのハンドラーに info、Syslog ハンドラーに debug+org.keycloak.events:trace
bin/kc.[sh|bat] start --log=console,file,syslog --log-level=debug,org.keycloak.events:trace, --log-syslog-level=trace --log-console-level=info --log-file-level=info

org.keycloak.events:trace を表示するには、Syslog ハンドラーに trace レベルを設定する必要があります。

ログハンドラーに異なる JSON 形式を使用する

すべてのログハンドラーは、JSON 形式で構造化されたログ出力を出力する機能を提供します。これは、log-<handler>-output=json (<handler> はログハンドラー) 形式のプロパティで有効にできます。

生成される JSON の形式を変更する必要がある場合は、次の JSON 出力形式を利用できます

  • default (デフォルト)

  • ecs

ecs 値は、ECS (Elastic Common Schema) を指します。

ECS は、Elastic ソリューションで使用される共通のフィールドセットを定義する、オープンソースのコミュニティ主導の仕様です。ECS 仕様は、OpenTelemetry Semantic Conventions と統合され、OpenTelemetry によって維持される単一の標準を作成することを目標としています。

JSON 出力形式を変更するために、log-<handler>-json-format (<handler> はログハンドラー) 形式のプロパティが導入されました

  • log-console-json-format - コンソールログハンドラー

  • log-file-json-format - ファイルログハンドラー

  • log-syslog-json-format - Syslog ログハンドラー

コンソールログハンドラーに ECS (Elastic Common Schema) 形式の JSON ログが必要な場合は、次のコマンドを入力できます

bin/kc.[sh|bat] start --log-console-output=json --log-console-json-format=ecs
ログメッセージの例
{"@timestamp":"2025-02-03T14:53:22.539484211+01:00","event.sequence":9608,"log.logger":"io.quarkus","log.level":"INFO","message":"Keycloak 999.0.0-SNAPSHOT on JVM (powered by Quarkus 3.17.8) started in 4.615s. Listening on: http://0.0.0.0:8080","process.thread.name":"main","process.thread.id":1,"mdc":{},"ndc":"","host.hostname":"host-name","process.name":"/usr/lib/jvm/jdk-21.0.3+9/bin/java","process.pid":77561,"data_stream.type":"logs","ecs.version":"1.12.2","service.environment":"prod","service.name":"Keycloak","service.version":"999.0.0-SNAPSHOT"}

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

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

コンソールログ形式の設定

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

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

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

形式文字列は、次の表の記号をサポートしています

記号 概要 説明

%%

%

%

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

%c

カテゴリ

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

%d{xxx}

日付

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

%e

例外

スローされた例外をレンダリングします。

%h

ホスト名

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

%H

完全修飾ホスト名

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

%i

プロセス ID

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

%m

フルメッセージ

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

%n

改行

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

%N

プロセス名

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

レベル

%p

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

%r

相対時間

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

%s

簡易メッセージ

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

%t

スレッド名

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

%t{id}

スレッド ID

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

%z{<zone name>}

タイムゾーン

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

%L

行番号

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

ロギング形式の設定

  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 文字に省略します。

JSON またはプレーンコンソールロギングの設定

bin/kc.[sh|bat] start --log-console-output=json
ログメッセージの例
{"timestamp":"2025-02-03T14:52:20.290353085+01:00","sequence":9605,"loggerClassName":"org.jboss.logging.Logger","loggerName":"io.quarkus","level":"INFO","message":"Keycloak 999.0.0-SNAPSHOT on JVM (powered by Quarkus 3.17.8) started in 4.440s. Listening on: http://0.0.0.0:8080","threadName":"main","threadId":1,"mdc":{},"ndc":"","hostName":"host-name","processName":"/usr/lib/jvm/jdk-21.0.3+9/bin/java","processId":76944}

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

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

bin/kc.[sh|bat] start --log-console-output=default
ログメッセージの例
2025-02-03 14:53:56,653 INFO  [io.quarkus] (main) Keycloak 999.0.0-SNAPSHOT on JVM (powered by Quarkus 3.17.8) started in 4.795s. Listening on: http://0.0.0.0:8080

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

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

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

コンソールログレベルの設定

bin/kc.[sh|bat] start --log-console-level=warn

コンソールログハンドラーのログレベルは、--log-console-level プロパティで次のように指定できます

詳細については、上記の ハンドラーごとにログレベルを指定する セクションを参照してください。

ファイルロギング

コンソールへのロギングの代替として、ファイルへの非構造化ロギングを使用できます。

ファイルロギングの有効化

bin/kc.[sh|bat] start --log="console,file"

ファイルへのロギングはデフォルトで無効になっています。有効にするには、次のコマンドを入力します

keycloak.log という名前のログファイルが、Keycloak インストールディレクトリの data/log ディレクトリ内に作成されます。

ログファイルの場所と名前の設定

  1. ログファイルの作成場所とファイル名を変更するには、次の手順を実行します

    ログファイルを保存するための書き込み可能なディレクトリを作成します。

  2. ディレクトリが書き込み可能でない場合、Keycloak は正しく起動しますが、エラーを発行し、ログファイルは作成されません。

    bin/kc.[sh|bat] start --log="console,file" --log-file=<path-to>/<your-file.log>

次のコマンドを入力します

ファイルハンドラー形式の設定

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

ファイルログハンドラーに異なるロギング形式を設定するには、次のコマンドを入力します

利用可能なパターン構成の詳細と表については、コンソールログ形式の設定 を参照してください。

ファイルログレベルの設定

bin/kc.[sh|bat] start --log-file-level=warn

コンソールログハンドラーのログレベルは、--log-console-level プロパティで次のように指定できます

ファイルログハンドラーのログレベルは、--log-file-level プロパティで次のように指定できます

Syslog を使用した集中ロギング

Keycloak は、リモート Syslog サーバーにログを送信する機能を提供します。RFC 5424 で定義されているプロトコルを利用しています。

Syslog ハンドラーの有効化

bin/kc.[sh|bat] start --log="console,syslog"

Syslog を使用したロギングを有効にするには、次のようにアクティブ化されたログハンドラーのリストに追加します

Syslog アプリケーション名の設定

bin/kc.[sh|bat] start --log="console,syslog" --log-syslog-app-name=kc-p-itadmins

別のアプリケーション名を設定するには、次のように --log-syslog-app-name オプションを追加します

設定しない場合、アプリケーション名はデフォルトで keycloak になります。

Syslog エンドポイントの設定

bin/kc.[sh|bat] start --log="console,syslog" --log-syslog-endpoint=myhost:12345

集中ロギングシステムのエンドポイント (host:port) を設定するには、次のコマンドを入力し、値を特定の値に置き換えます

Syslog ハンドラーが有効になっている場合、ホストはホスト値として localhost を使用しています。デフォルトポートは 514 です。

Syslog ログレベルの設定

bin/kc.[sh|bat] start --log-syslog-level=warn

コンソールログハンドラーのログレベルは、--log-console-level プロパティで次のように指定できます

Syslog ログハンドラーのログレベルは、--log-syslog-level プロパティで次のように指定できます

Syslog プロトコルの設定

bin/kc.[sh|bat] start --log="console,syslog" --log-syslog-protocol=udp

Syslog は、通信にデフォルトのプロトコルとして TCP を使用します。TCP の代わりに UDP を使用するには、次のように --log-syslog-protocol オプションを追加します

利用可能なプロトコルは、tpcudpssl-tcp です。

ロギング形式の設定

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

  2. 上記の表を使用して、目的の形式テンプレートを作成します。

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

次のコマンドを入力します

CLI を使用して ; などの特殊シェル文字を含むコマンドを呼び出す場合は、文字をエスケープする必要があることに注意してください。したがって、代わりに構成ファイルで設定することを検討してください。
bin/kc.[sh|bat] start --log-syslog-format="'%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p [%c{3.}] (%t) %s%e%n'"

例: 完全修飾カテゴリ名を省略する

Syslog ログ形式の設定

Syslog タイプの設定

bin/kc.[sh|bat] start --log-syslog-type=rfc3164

Syslog は、特定の RFC 仕様に基づいて異なるメッセージ形式を使用します。異なるメッセージ形式で Syslog タイプを変更するには、--log-syslog-type オプションを次のように使用します

  • --log-syslog-type オプションに使用できる値は次のとおりです

  • rfc5424 (デフォルト)

rfc3164

推奨される Syslog タイプは RFC 5424 であり、BSD Syslog プロトコルとして知られる RFC 3164 を廃止します。

Syslog 最大メッセージ長の設定

bin/kc.[sh|bat] start --log-syslog-max-length=1536

送信が許可されるメッセージの最大長 (バイト単位) を設定するには、--log-syslog-max-length オプションを次のように使用します

長さは、1k1K などの適切なサフィックスを持つメモリサイズ形式で指定できます。長さには、ヘッダーとメッセージが含まれます。

  • 長さが明示的に設定されていない場合、デフォルト値は --log-syslog-type オプションに基づいて次のように設定されます

  • 2048B - RFC 5424 の場合

1024B - RFC 3164 の場合

Syslog 構造化出力の設定

bin/kc.[sh|bat] start --log-syslog-output=json
ログメッセージの例
2024-04-05T12:32:20.616+02:00 host keycloak 2788276 io.quarkus - {"timestamp":"2024-04-05T12:32:20.616208533+02:00","sequence":9948,"loggerClassName":"org.jboss.logging.Logger","loggerName":"io.quarkus","level":"INFO","message":"Profile prod activated. ","threadName":"main","threadId":1,"mdc":{},"ndc":"","hostName":"host","processName":"QuarkusEntryPoint","processId":2788276}

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

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

bin/kc.[sh|bat] start --log-syslog-output=default
ログメッセージの例
2024-04-05T12:31:38.473+02:00 host keycloak 2787568 io.quarkus - 2024-04-05 12:31:38,473 INFO  [io.quarkus] (main) Profile prod activated.

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

ご覧のとおり、タイムスタンプが 2 回表示されているため、--log-syslog-format プロパティを使用してそれに応じて修正できます。

関連オプション

log

カンマ区切りリストで 1 つ以上のログハンドラーを有効にします。
CLI: --log

Env: KC_LOG

consolefilesyslog

log-level

ルートカテゴリのログレベル、または個々のカテゴリとそのレベルのカンマ区切りリスト。

ルートカテゴリの場合、カテゴリを指定する必要はありません。
CLI: --log-level

Env: KC_LOG_LEVEL

[info] (デフォルト)

関連オプション

コンソール

log-console-color

コンソールにログを記録するときに色を有効または無効にします。
CLI: --log-console-color

Env: KC_LOG_CONSOLE_COLOR

コンソールログハンドラーがアクティブ化されている場合にのみ使用可能

truefalse (デフォルト)

log-console-format

非構造化コンソールログエントリの形式。

形式にスペースが含まれている場合は、 "<format>" を使用して値をエスケープします。
CLI: --log-console-format

Env: KC_LOG_CONSOLE_COLOR

Env: KC_LOG_CONSOLE_FORMAT

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

log-console-include-trace

コンソールログにトレース情報を含めます。

log-console-format オプションが指定されている場合、このオプションは効果がありません。
CLI: --log-console-include-trace

Env: KC_LOG_CONSOLE_INCLUDE_TRACE

コンソールログハンドラーとトレースがアクティブ化されている場合にのみ使用可能

true (デフォルト)、false

log-console-json-format

生成される JSON の形式を設定します。
CLI: --log-console-json-format

Env: KC_LOG_CONSOLE_JSON_FORMAT

コンソールログハンドラーがアクティブ化され、出力が 'json' に設定されている場合にのみ使用可能

default (デフォルト)、ecs

log-console-level

コンソールハンドラーのログレベルを設定します。

出力に表示されるログの最も詳細なログレベルを指定します。これは、ロギングシステム全体の最大詳細度を表す log-level オプションで指定されたレベルを尊重します。詳細については、ロギングガイドを確認してください。
CLI: --log-console-level

Env: KC_LOG_CONSOLE_COLOR

Env: KC_LOG_CONSOLE_LEVEL

offfatalerrorwarninfodebugtraceall (デフォルト)

log-console-output

ログ出力を JSON またはデフォルト (プレーン) の非構造化ロギングに設定します。
CLI: --log-console-output

Env: KC_LOG_CONSOLE_COLOR

Env: KC_LOG_CONSOLE_OUTPUT

default (デフォルト)、json

関連オプション

ファイル

log-file

ログファイルのパスとファイル名を設定します。
CLI: --log-file

Env: KC_LOG_FILE

ファイルログハンドラーがアクティブ化されている場合にのみ使用可能

data/log/keycloak.log (デフォルト)

log-file-format

ファイルログエントリに固有の形式を設定します。
CLI: --log-file-format

Env: KC_LOG_FILE

Env: KC_LOG_CONSOLE_FORMAT

Env: KC_LOG_FILE_FORMAT

log-file-include-trace

ファイルログにトレース情報を含めます。

log-file-format オプションが指定されている場合、このオプションは効果がありません。
CLI: --log-file-include-trace

Env: KC_LOG_FILE_INCLUDE_TRACE

コンソールログハンドラーとトレースがアクティブ化されている場合にのみ使用可能

ファイルログハンドラーとトレースがアクティブ化されている場合にのみ使用可能

log-console-json-format

log-file-json-format
CLI: --log-file-json-format

Env: KC_LOG_FILE_JSON_FORMAT

コンソールログハンドラーがアクティブ化され、出力が 'json' に設定されている場合にのみ使用可能

ファイルログハンドラーがアクティブ化され、出力が 'json' に設定されている場合にのみ使用可能

log-file-level

コンソールハンドラーのログレベルを設定します。

ファイルハンドラーのログレベルを設定します。
CLI: --log-file-level

Env: KC_LOG_FILE

Env: KC_LOG_CONSOLE_LEVEL

Env: KC_LOG_FILE_LEVEL

log-console-output

log-file-output
CLI: --log-file-output

Env: KC_LOG_FILE

Env: KC_LOG_CONSOLE_OUTPUT

Env: KC_LOG_FILE_OUTPUT

関連オプション

Syslog

log-syslog-app-name

RFC5424 形式でメッセージをフォーマットするときに使用するアプリ名を設定します。
CLI: --log-syslog-app-name

Env: KC_LOG_SYSLOG_APP_NAME

Syslog がアクティブ化されている場合にのみ使用可能

keycloak (デフォルト)

log-syslog-endpoint

Syslog サーバーの IP アドレスとポートを設定します。
CLI: --log-syslog-endpoint

Env: KC_LOG_SYSLOG_APP_NAME

Env: KC_LOG_SYSLOG_ENDPOINT

localhost:514 (デフォルト)

log-syslog-format

Syslog エントリに固有の形式を設定します。
CLI: --log-syslog-format

Env: KC_LOG_SYSLOG_APP_NAME

Env: KC_LOG_CONSOLE_FORMAT

Env: KC_LOG_SYSLOG_FORMAT

log-syslog-include-trace

Syslog にトレース情報を含めます。

log-syslog-format オプションが指定されている場合、このオプションは効果がありません。
CLI: --log-syslog-include-trace

Env: KC_LOG_SYSLOG_INCLUDE_TRACE

コンソールログハンドラーとトレースがアクティブ化されている場合にのみ使用可能

Syslog ハンドラーとトレースがアクティブ化されている場合にのみ使用可能

log-console-json-format

log-syslog-json-format
CLI: --log-syslog-json-format

Env: KC_LOG_SYSLOG_JSON_FORMAT

コンソールログハンドラーがアクティブ化され、出力が 'json' に設定されている場合にのみ使用可能

Syslog がアクティブ化され、出力が 'json' に設定されている場合にのみ使用可能

log-syslog-level

コンソールハンドラーのログレベルを設定します。

Syslog ハンドラーのログレベルを設定します。
CLI: --log-syslog-level

Env: KC_LOG_SYSLOG_APP_NAME

Env: KC_LOG_CONSOLE_LEVEL

Env: KC_LOG_SYSLOG_LEVEL

log-syslog-max-length

送信が許可されるメッセージの最大長 (バイト単位) を設定します。

長さには、ヘッダーとメッセージが含まれます。設定しない場合、デフォルト値は log-syslog-type が rfc5424 (デフォルト) の場合は 2048、log-syslog-type が rfc3164 の場合は 1024 です。
CLI: --log-syslog-max-length

Env: KC_LOG_SYSLOG_APP_NAME

Env: KC_LOG_SYSLOG_MAX_LENGTH

log-syslog-output

Syslog 出力を JSON またはデフォルト (プレーン) の非構造化ロギングに設定します。
CLI: --log-syslog-output

Env: KC_LOG_SYSLOG_APP_NAME

Env: KC_LOG_CONSOLE_OUTPUT

Env: KC_LOG_SYSLOG_OUTPUT

log-syslog-protocol

Syslog サーバーへの接続に使用するプロトコルを設定します。
CLI: --log-syslog-protocol

Env: KC_LOG_SYSLOG_APP_NAME

Env: KC_LOG_SYSLOG_PROTOCOL

tcp (デフォルト)、udpssl-tcp

log-syslog-type

送信されるメッセージのフォーマットに使用される Syslog タイプを設定します。
CLI: --log-syslog-type

Env: KC_LOG_SYSLOG_APP_NAME

Env: KC_LOG_SYSLOG_TYPE

rfc5424 (デフォルト)、rfc3164