私はKafkaプロデューサークライアントを使用していますが、私のプロジェクトにはlog4j設定がありません。
実行すると、プログラムは多くのKafkaデバッグログを出力しますが、これは本当に必要ありません。
だから、私はlog4j.propertiesを追加して、ログレベルを以下のようにERRORに設定しようとしましたが、動作しないようです:
log4j.rootLogger=ERROR
Kafkaログレベルを変更するにはどうすればよいですか?
クライアントを実行するときは、コマンドラインフラグ-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
Logging.level.org.Apache.kafka:DEBUGをクライアント構成プロパティに追加してみてください。私はSpringbootを使用していますが、これがフォーマットです。クライアントプログラムに適した形式を使用します。
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);
Kafkaサーバーログについて話していると仮定しました。次の設定を使用して、ログレベルをERRORに変更できます。
log4j.logger.kafka=ERROR, kafkaAppender
お役に立てれば!