web-dev-qa-db-ja.com

Kafkaプロデューサーのロギングを設定するには?

私はKafkaプロデューサークライアントを使用していますが、私のプロジェクトにはlog4j設定がありません。

実行すると、プログラムは多くのKafkaデバッグログを出力しますが、これは本当に必要ありません。

だから、私はlog4j.propertiesを追加して、ログレベルを以下のようにERRORに設定しようとしましたが、動作しないようです:

log4j.rootLogger=ERROR

Kafkaログレベルを変更するにはどうすればよいですか?

17
nikel

クライアントを実行するときは、コマンドラインフラグ-Dlog4j.configuration=file:/path/to/log4j.propertiesを使用します。

Log4jプロパティファイルの例:

kafka-run-class.shを呼び出すミラーメーカーおよびその他のツールでは、環境変数KAFKA_LOG4J_OPTS-Dlog4j.configuration=file:/path/to/log4j.propertiesなどに設定)を使用して、ロギング構成を変更できます。参照: https://github.com/Apache/kafka/blob/0.10.2/bin/kafka-run-class.sh#L158

テストに使用するミラーメーカーのlog4j.propertiesファイルの例。

# https://github.com/Apache/kafka/blob/trunk/config/tools-log4j.properties

log4j.rootLogger=DEBUG, stderr

log4j.appender.stderr=org.Apache.log4j.ConsoleAppender
log4j.appender.stderr.layout=org.Apache.log4j.PatternLayout
log4j.appender.stderr.layout.ConversionPattern=[%d] %p %m (%c)%n
log4j.appender.stderr.Target=System.err
10
turtlemonvh

Logging.level.org.Apache.kafka:DEBUGをクライアント構成プロパティに追加してみてください。私はSpringbootを使用していますが、これがフォーマットです。クライアントプログラムに適した形式を使用します。

2
sivakadi
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);
1
tjeubaoit

Kafkaサーバーログについて話していると仮定しました。次の設定を使用して、ログレベルをERRORに変更できます。

log4j.logger.kafka=ERROR, kafkaAppender

お役に立てれば!

0
avr