7.3. ロギングの設定


デフォルトでは、Debezium コネクターはすべての INFOWARN、および ERROR メッセージをコンソールに書き込みます。ただし、この設定は以下の方法で変更することができます。

注記

本セクションでは、Log4j で Debezium ロギングを設定するのに使用できるいくつかの方法のみを説明します。Log4j の使用に関する詳細は、チュートリアルを検索してアペンダーを使用して特定の宛先にログメッセージを送信します。

7.3.1. ログレベルの変更

デフォルトの Debezium ロギングレベルは、コネクターの正常性を示すのに十分な情報を提供します。ただし、コネクターが正常でない場合は、ロギングレベルを変更して問題のトラブルシューティングを行うことができます。

通常、Debezium コネクターはログメッセージを生成する Java クラスの完全修飾名に一致する名前を持つログメッセージをロガーに送信します。Debezium は、パッケージを使用して同様の関数または関連関数でコードを整理します。つまり、特定のクラスまたは特定のパッケージ下にあるすべてのクラスに対してログメッセージをすべて制御できます。

手順

  1. log4j.properties ファイルを開きます。
  2. コネクターのロガーを設定します。

    この例では、MySQL コネクターとコネクターによって使用されるデータベース履歴実装のロガーを設定し、ログ DEBUG レベルのメッセージを設定します。

    log4j.properties

    ...
    log4j.logger.io.debezium.connector.mysql=DEBUG, stdout  1
    log4j.logger.io.debezium.relational.history=DEBUG, stdout  2
    
    log4j.additivity.io.debezium.connector.mysql=false  3
    log4j.additivity.io.debezium.relational.history=false  4
    ...

    1
    DEBUG、、INFO WARNおよび ERROR メッセージを stdout アペンダー io.debezium.connector.mysql に送信するようにという名前のロガーを設定します。
    2
    DEBUG、、INFO WARNおよび ERROR メッセージを stdout アペンダー io.debezium.relational.history に送信するようにという名前のロガーを設定します。
    3 4
    追加をオフにします。これは ログメッセージが親ロガーの追加者に送信されないことを意味します(これにより、複数のアペンダーを使用する際に重複ログメッセージが表示されるのを防ぐことができます)。
  3. 必要に応じて、コネクター内のクラスの特定のサブセットのロギングレベルを変更します。

    コネクター全体のロギングレベルを増やすと、ログの詳細レベルが高まるため、何が発生しているかを理解することが困難になる可能性があります。このような場合、トラブルシューティングを行う問題に関連するクラスのサブセットのロギングレベルを変更できます。

    1. コネクターのロギングレベルをまたはのいずれ DEBUG かに設定し TRACEます。
    2. コネクターのログメッセージを確認します。

      トラブルシューティングを行う問題に関連するログメッセージを見つけます。各ログメッセージの最後には、メッセージを生成した Java クラスの名前が表示されます。

    3. コネクターのログレベルをに設定し INFOます。
    4. 特定した各 Java クラスのロガーを設定します。

      たとえば、binlog の処理時に MySQL コネクターが一部のイベントをスキップする理由が不明なシナリオについて考えてみましょう。コネクター全体でオン DEBUG または TRACE ロギングを行うのではなく、コネクターのロギングレベルを維持 INFO し、binlog を読み取るクラス TRACE のみを設定 DEBUG または設定できます。

      log4j.properties

      ...
      log4j.logger.io.debezium.connector.mysql=INFO, stdout
      log4j.logger.io.debezium.connector.mysql.BinlogReader=DEBUG, stdout
      log4j.logger.io.debezium.relational.history=INFO, stdout
      
      log4j.additivity.io.debezium.connector.mysql=false
      log4j.additivity.io.debezium.relational.history=false
      log4j.additivity.io.debezium.connector.mysql.BinlogReader=false
      ...

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.