不要打印kafka-console-consumer警告

use*_*678 4 suppress-warnings apache-kafka kafka-consumer-api

我正在尝试将加密的消息调试到Kafka群集上.显然这些消息充满了不可打印的字符,并且在控制台上不可用,所以我想将输出保存在这样的文件中:

kafka-console-consumer \
    --zookeeper 0.zookeeper.local,1.zookeeper.local \
    --max-messages 1 \
    --topic MYTOPIC > /tmp/message
Run Code Online (Sandbox Code Playgroud)

我无法解密生成的消息,因为输出包含密文以及警告消息,例如:

[2016-02-24 11:52:47,488] WARN Reconnect due to socket error: null (kafka.consumer.SimpleConsumer)
Run Code Online (Sandbox Code Playgroud)

有没有办法在一个文件中得到一个单一的消息,并且嵌入该文件中的警告?

小智 9

入站控制台工具有一个特殊的记录器配置文件.请在[kafka_home] /config/tools-log4j.properties文件中将记录器级别从WARN更改为OFF .该文件应如下所示:

tools-log4j.properties

log4j.rootLogger=OFF, stdout 

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=[%d] %p %m (%c)%n
Run Code Online (Sandbox Code Playgroud)

之后,您将只在控制台中获得消息.

  • 如果你想从控制台消费者那里获得DEBUG输出,这也很有用 (2认同)