Kafka应用程序日志配置

时间:2018-06-11 14:27:25

标签: logging apache-kafka

我正在尝试移动Apache Kafka的应用程序/ Log4J日志(而不是数据日志)。由于Kafka有许多与日志相关的术语,因此这一点变得异常难以研究。我打开了log4j.properties,发现日志写入:${kafka.logs.dir}但是,我不确定在哪里更改kafka.logs.dir。由于我们的虚拟机磁盘空间不足,我们需要更改此位置。

非常感谢任何帮助!

2 个答案:

答案 0 :(得分:2)

一种方法是在启动kafka服务器之前覆盖环境属性LOG_DIR,例如在bash脚本中:

#!/bin/sh
export LOG_DIR=/var/log/kafka
echo 'Kafka application logs set to ' $LOG_DIR
./kafka_2.11-1.1.0/bin/kafka-server-start.sh -daemon  /kafka_2.11-1.1.0/config/server.properties

您也可以使用自己的log4j.properties(来自kafka-server-start.sh的代码段)覆盖1.1.0

if [ "x$KAFKA_LOG4J_OPTS" = "x" ]; then
    export KAFKA_LOG4J_OPTS="-Dlog4j.configuration=file:$base_dir/../config/log4j.properties"
fi

答案 1 :(得分:1)

必须通过以下JVM属性传递log4J日志目录:

-Dkafka.logs.dir=/some/path

如果您使用kafka-server-start.sh启动代理,则只需导出LOG_DIR即可automatically为您设置JVM属性