第10章 Debezium のログ機能

Debezium のコネクターには、さまざまなログ機能が組み込まれています。ログの設定を変更して、ログに表示するメッセージやログの送信先を制御することができます。(Kafka、Kafka Connect、および Zookeeper と同様に) Debezium は Java の Log4j ログフレームワークを使用します。

デフォルトでは、コネクターは起動時に大量の有用な情報を生成しますが、その後コネクターがソースのデータベースとシンクロすると、ほとんどログを生成しません。コネクターが正常に動作している場合はこれで十分ですが、コネクターが予期せぬ動作を示す場合には十分ではない可能性があります。そのような場合は、コネクターがしていること/していないことを記述したより詳細なログメッセージを生成するように、ログのレベルを変更することができます。

10.1. Debezium ログの概念

ログ機能を設定する前に、Log4J の ロガーログレベル、および アペンダー について理解しておく必要があります。

ロガー

アプリケーションによって生成される各ログメッセージは特定の ロガー に送信されます(例: io.debezium.connector.mysql)。ロガーは階層構造を取ります。たとえば、io .debezium.connector.mysql ロガーは、io .debezium ロガーの子である io.debezium.connector ロガー の子です。階層最上位の ルートロガー は、それより下位のすべてのロガーのデフォルトロガー設定を定義します。

ログレベル

アプリケーションによって生成されるすべてのログメッセージには、固有の ログレベル も設定される。

  1. ERROR - エラー、例外、およびその他の重要な問題
  2. WARN - 問題および問題
  3. INFO - ステータスおよび一般的なアクティビティー(通常は低ボリューム)
  4. DEBUG - 予期しない動作の診断に役立つより詳細なアクティビティー
  5. TRACE - 非常に詳細なアクティビティー(通常は非常に詳細な動作)

アペンダー

アペンダー とは、基本的にログメッセージの書き込み先を指します。それぞれのアペンダーは、そのログメッセージのフォーマットを制御します。これにより、ログメッセージの外観をより詳細に制御することができます。

ログ機能を設定するには、希望する各ロガーのレベルおよびそれらのログメッセージが書き込まれるアペンダーを指定します。ロガーは階層構造を取るため、ルートロガーの設定は、それより下位のすべてのロガーのデフォルトとして機能します。ただし、子の (または下位の) ロガーをオーバーライドすることができます。