С kafka-console-consumer.sh
script:
exec $(dirname $0)/kafka-run-class.sh kafka.tools.ConsoleConsumer "$@"
src: https://github.com/apache/kafka/blob/2.1.1/bin/kafka-console-consumer.sh
В kafka.tools.ConsoleConsumer
заголовок передается в средство форматирования, но ни один из существующих средств форматирования не используетit:
formatter.writeTo(new ConsumerRecord(msg.topic, msg.partition, msg.offset, msg.timestamp,
msg.timestampType, 0, 0, 0, msg.key, msg.value, msg.headers),
output)
src: https://github.com/apache/kafka/blob/2.1.1/core/src/main/scala/kafka/tools/ConsoleConsumer.scala
В нижней части вышеуказанной ссылки вы можете увидеть существующие средства форматирования.
Если вы хотите напечатать заголовки, вам нужнореализовать свой собственный kafka.common.MessageFormatter
и, в частности, его метод записи:
def writeTo(consumerRecord: ConsumerRecord[Array[Byte], Array[Byte]], output: PrintStream): Unit
, а затем запустить потребителя консоли с --formatter, предоставляя свой собственный форматер (он также должен присутствовать в пути к классам).
Другой, более простой и быстрый способ - реализовать собственную мини-программу с использованием KafkaConsumer и проверять заголовки при отладке.