J Potter created KAFKA-1204:
-------------------------------

             Summary: Add KAFKA_LOG_DIR to allow LOG_DIR to be outside of code 
dir
                 Key: KAFKA-1204
                 URL: https://issues.apache.org/jira/browse/KAFKA-1204
             Project: Kafka
          Issue Type: Improvement
          Components: core
            Reporter: J Potter


The kafka-run-class.sh script currently generates a LOG_DIR variable and 
expects the path under base_dir/logs to be writeable by the process, without a 
way of overriding it.

I think a simple change as below would allow ops folks to fire it up and point 
the LOG_DIR elsewhere, as desired.

bin/kafka-run-class.sh
@@ -23,9 +23,11 @@ fi
 base_dir=$(dirname $0)/..
 
 # create logs directory
-LOG_DIR=$base_dir/logs
-if [ ! -d $LOG_DIR ]; then
-       mkdir $LOG_DIR
+if [ -z "KAFKA_LOG_DIR" ]; then
+    KAFKA_LOG_DIR=$base_dir/logs
+fi
+if [ ! -d $KAFKA_LOG_DIR ]; then
+       mkdir $KAFKA_LOG_DIR
 fi
 
 if [ -z "$SCALA_VERSION" ]; then
@@ -98,7 +100,7 @@ if [ "$1" = "daemon" ] && [ -z "$KAFKA_GC_LOG_OPTS"] ; then
   shift
   GC_LOG_FILE_NAME=$1$GC_FILE_SUFFIX
   shift
-  KAFKA_GC_LOG_OPTS="-Xloggc:$LOG_DIR/$GC_LOG_FILE_NAME -verbose:gc 
-XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps "
+  KAFKA_GC_LOG_OPTS="-Xloggc:$KAFKA_LOG_DIR/$GC_LOG_FILE_NAME -verbose:gc 
-XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps "
 fi
 
 exec $JAVA $KAFKA_HEAP_OPTS $KAFKA_JVM_PERFORMANCE_OPTS $KAFKA_GC_LOG_OPTS 
$KAFKA_JMX_OPTS $KAFKA_LOG4J_OPTS -cp $CLASSPATH $KAFKA_OPTS "$@"




--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Reply via email to