第7章 Debezium ロギング
Debezium には幅広いログがコネクターに組み込まれており、ロギング設定を変更して、ログに表示されるログステートメントとそれらのログの送信先を制御することができます。Debezium(Kafka、Kafka Connect、および Zookeeper)は Java に Log4j ロギングフレームワークを使用します。
デフォルトでは、コネクターは起動時にかなりの便利な情報を生成しますが、コネクターがソースデータベースで維持される際に、非常に多くのログを生成します。コネクターが正常に動作している場合には、多くの場合で十分ですが、コネクターが予期せず動作している場合は不十分になる可能性があります。このような場合、ロギングレベルを変更して、コネクターが実行している内容と、それが行われていない動作を記述するより詳細なログメッセージを生成することができます。
7.1. ロギングの概念
ロギングを設定する前に、Log4J ロガー、ログレベル、およびアペンダーを理解している必要 が あります。
loggers
アプリケーションによって生成される各ログメッセージは特定の ロガー (例: io.debezium.connector.mysql
)に送信されます。ロガーは階層に分けられます。たとえば、io.debezium.connector.mysql
ロガーはロガーの子で、io.debezium.connector
io.debezium
ロガーの子です。階層の上部で、ルートロガー は下のすべてのロガーに対するデフォルトのロガー設定を定義します。
ログレベル
アプリケーションによって生成されたすべてのログメッセージには、特定の ログレベル もあります。
-
ERROR
: エラー、例外、およびその他の重要な問題 -
WARN
- 潜在的な 問題と問題 -
INFO
: ステータスおよび一般アクティビティー(通常は低ボリューム) -
DEBUG
: 予期しない動作の診断に役立つより詳細なアクティビティー -
TRACE
: 詳細で詳細なアクティビティー(通常は非常に高ボリューム)
アペンダー
アペンダー は基本的にログメッセージが書き込まれる宛先です。各アペンダーはログメッセージの形式を制御し、ログメッセージの表示内容をさらに制御できます。
ロギングを設定するには、各ロガーの希望レベルと、それらのログメッセージが書き込まれるアペンダーを指定します。ロガーは階層であるため、その下のすべてのロガーに対してルートロガーの設定がデフォルトとして機能します。ただし、子(または子)ロガーは上書きできます。