kafka的log内容格式还不没怎么了解,想快速浏览消息内容的话,除了使用它自带的kafka-console-consumer.sh
脚本,还可以直接去看log文件本身,不过内容里有部分二进制字符,通过命令看的话会有乱码。
strings 命令可以过滤掉二进制编码,但默认它也会过滤掉中文字符,只留有英文字符。要用它的-e S
参数可以同时过滤出中文或英文字符,但仍会包含了小部分的二进制编码,可以在通过iconv去掉一下,能大致看到消息内容:
$ cat log-strings.sh
#!/bin/bash
PROG_NAME=$0
LOG_FILE=$1
if [ -z "$LOG_FILE" ];then
echo "Usage: $PROG_NAME logfile"
exit 1
fi
strings -e S "$LOG_FILE" | iconv -c -f "UTF-8" -t "UTF-8"