在旋转kafka日志(kafka 0.8.1.1)的过程中,我设法轮换所有这些,除了kafkaServer.out。 这不是由log4j处理的。 在查看启动java进程的脚本kafka-run-class.sh之后,它会在重定向到文件的情况下运行。 除非重新启动kafka,否则我无法旋转文件。 截断它,进程只是忽略它并继续写入文件。
有没有办法强制它旋转这个日志文件?
感谢。
答案 0 :(得分:0)
我写了一个名为' rotate'的C ++工具。解决问题。源代码可在此处找到,https://github.com/peihanw/rotate
编译并部署到$ APP_HOME / bin / rotate后,请修改kafka-run-class.sh中的start命令,这是我的例子:
nohup $JAVA $KAFKA_HEAP_OPTS $KAFKA_JVM_PERFORMANCE_OPTS $KAFKA_GC_LOG_OPTS $KAFKA_JMX_OPTS $KAFKA_LOG4J_OPTS -cp $CLASSPATH $KAFKA_OPTS "$@" < /dev/null | $APP_HOME/bin/rotate -o "$CONSOLE_OUTPUT_FILE" -t 1 &
还可以配置一些额外的清洁工,如维护工具或脚本,以压缩或删除过期卡夫卡。服务器,卡片,卡片,卡片等。文件。