kafka home bin目錄下面有個kafka-run-class.sh腳本,其中有定義會列印詳細的kafka gc日志
while [ # -gt 0 ]; do
COMMAND=1
case COMMANDin−name)DAEMONNAME= 2
CONSOLE_OUTPUT_FILE= LOGDIR/ DAEMON_NAME.out
shift 2
;;
-loggc)
if [ -z “$KAFKA_GC_LOG_OPTS” ]; then
GC_LOG_ENABLED=”true”
fi
shift
;;
-daemon)
DAEMON_MODE=”true”
shift
;;
*)
break
;;
esac
done
GC options
GC_FILE_SUFFIX=’-gc.log’
GC_LOG_FILE_NAME=”
if [ “x GCLOGENABLED”=“xtrue”];thenGCLOGFILENAME= DAEMON_NAME GCFILESUFFIXKAFKAGCLOGOPTS=”−Xloggc: LOG_DIR/$GC_LOG_FILE_NAME -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps ”
fi
通過檢視這個腳本,其實隻要覆寫掉KAFKA_GC_LOG_OPTS這個環境變量(且不能為空字元串)就行了,于是就在cm管理背景上的kafka broker配置項下面配置一個
KAFKA_GC_LOG_OPTS=” “