http://www.javaworld.com/article/3060078/big-data/big-data-messaging-with-kafka-part-1.htmlからいくつかのサンプルコードを実行しています?page = 2 であり、kafkaconsumerは必要に応じてトピックから消費していますが、すべてのポーリングの結果、多くのデバッグログが(標準出力に)印刷されます。
_/config/log4j.properties
_、特に_log4j.logger.kafka=ERROR
_、kafkaAppenderの設定で、すべてのINFOとDEBUGをERRORに変更してみました(確認のためにgrepを実行しました)が、問題は解決しません。 Kafkaプロデューサー? のロギングを設定する方法を参照し、そこでソリューションを採用しましたが、おそらく状況は消費者にとって違う?
DEBUGメッセージはすべて同様の形式です。
_[Thread-0] DEBUG org.Apache.kafka.clients.consumer.internals.Fetcher - Sending fetch for partitions... to broker... (id: 0 rack: null)
_
毎秒10程度の速度で表示されています(ポーリング引数を1000または10000に変更しても役に立たない、私は試しました)
本当に専門家からの助けをいただければ幸いです。前もって感謝します!
編集:それが重要かどうかはわかりませんが、以前に発生した他のエラーを解決してコンシューマーが起動しなくなった問題を解決するために、BasicConfigurator.configure();
をメインメソッドに追加しました。
おしゃべりクラスのログレベルを変更するだけです(おしゃべりインタラクション)。ログにはorg.Apache.kafka.clients.consumer.internals.Fetcher
からのログエントリが表示されるため、log4j.properties
に次の行を追加することで、そのロガーのログレベルを調整できます。
log4j.logger.org.Apache.kafka.clients.consumer.internals.Fetcher=WARN
...またはこれらは名前間隔があるため、より広いキャッチロガー:
# adjusting logging for entire Kafka
log4j.logger.org.Apache.kafka=WARN
お役に立てれば
新しい構成XMLファイルを作成する
src/main/resources/logback.xml
<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<logger name="org.Apache.kafka" level="WARN"/>
<logger name="org.Apache.kafka.common.metrics" level="WARN"/>
<root level="warn">
<appender-ref ref="STDOUT" />
</root>
</configuration>
Kafka-console-consumerコマンドについて話しているのかどうかわからない、もしそうならこれは私がやったことです:
[training@confluent-training-vm ~]$ cd /etc/kafka
[training@confluent-training-vm kafka]$ grep DEBUG *.properties
log4j.properties:# Change to DEBUG or TRACE to enable request logging
log4j.properties:# Access denials are logged at INFO level, change to DEBUG to also
log allowed accesses
tools-log4j.properties:log4j.rootLogger=DEBUG, stderr
したがって、編集する必要があるのは/etc/kafka/tools-log4j.properties
ファイルを削除してDEBUG
を削除します(または例として、上の行のINFO
およびWARM
ログレベルで置き換えます
tools-log4j.properties:log4j.rootLogger=INFO, WARM, stderr
Kafkaプロデューサーを扱う別の質問の下で解決策を見つけましたが、本質的に同じ問題です: https://stackoverflow.com/a/49532152/238055
したがって、プログラムの最初で次の3行を実行するだけです。
org.Apache.log4j.Logger.getLogger("org").setLevel(Level.WARN);
org.Apache.log4j.Logger.getLogger("akka").setLevel(Level.WARN);
org.Apache.log4j.Logger.getLogger("kafka").setLevel(Level.WARN);