我正在尝试将加密邮件调试到Kafka群集上。显然这些消息充满了不可打印的字符,并且在控制台上无法使用,所以我想将输出保存在这样的文件中:
File fXmlFile = new File("XMLS/DB.xml");
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
Document doc = dBuilder.parse(fXmlFile); // the rest is just parsing...
我无法解密生成的消息,因为输出包含密文以及警告消息,例如:
kafka-console-consumer \
--zookeeper 0.zookeeper.local,1.zookeeper.local \
--max-messages 1 \
--topic MYTOPIC > /tmp/message
有没有办法在文件中获取一条消息,并且不将警告嵌入该文件中?
答案 0 :(得分: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
之后,您将只在控制台中收到消息。
答案 1 :(得分:1)
尝试创建新的配置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="INFO"/>
<logger name="org.apache.kafka.common.metrics" level="INFO"/>
<root level="debug">
<appender-ref ref="STDOUT" />
</root>
</configuration>