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