Browse Source

ZOOKEEPER-1952 Default log directory and file name can be changed(nijel, Hari Krishna Dara via rakeshr)

git-svn-id: https://svn.apache.org/repos/asf/zookeeper/trunk@1663127 13f79535-47bb-0310-9956-ffa450edef68
Rakesh Radhakrishnan 10 years ago
parent
commit
3819022566
9 changed files with 25 additions and 13 deletions
  1. 3 0
      CHANGES.txt
  2. 4 2
      bin/zkCleanup.sh
  3. 3 1
      bin/zkCli.cmd
  4. 3 1
      bin/zkCli.sh
  5. 1 1
      bin/zkEnv.cmd
  6. 1 1
      bin/zkEnv.sh
  7. 3 1
      bin/zkServer.cmd
  8. 6 5
      bin/zkServer.sh
  9. 1 1
      conf/log4j.properties

+ 3 - 0
CHANGES.txt

@@ -44,6 +44,9 @@ BUGFIXES:
 
 
   ZOOKEEPER-2073 Memory leak on zookeeper_close (Dave Gosselin via michim)
   ZOOKEEPER-2073 Memory leak on zookeeper_close (Dave Gosselin via michim)
 
 
+  ZOOKEEPER-1952 Default log directory and file name can be changed 
+  (nijel, Hari Krishna Dara via rakeshr)
+
 IMPROVEMENTS:
 IMPROVEMENTS:
   ZOOKEEPER-1660 Documentation for Dynamic Reconfiguration (Reed Wanderman-Milne via shralex)  
   ZOOKEEPER-1660 Documentation for Dynamic Reconfiguration (Reed Wanderman-Milne via shralex)  
 
 

+ 4 - 2
bin/zkCleanup.sh

@@ -39,13 +39,15 @@ fi
 ZOODATADIR="$(grep "^[[:space:]]*dataDir=" "$ZOOCFG" | sed -e 's/.*=//')"
 ZOODATADIR="$(grep "^[[:space:]]*dataDir=" "$ZOOCFG" | sed -e 's/.*=//')"
 ZOODATALOGDIR="$(grep "^[[:space:]]*dataLogDir=" "$ZOOCFG" | sed -e 's/.*=//')"
 ZOODATALOGDIR="$(grep "^[[:space:]]*dataLogDir=" "$ZOOCFG" | sed -e 's/.*=//')"
 
 
+ZOO_LOG_FILE=zookeeper-$USER-cleanup-$HOSTNAME.log
+
 if [ "x$ZOODATALOGDIR" = "x" ]
 if [ "x$ZOODATALOGDIR" = "x" ]
 then
 then
-"$JAVA" "-Dzookeeper.log.dir=${ZOO_LOG_DIR}" "-Dzookeeper.root.logger=${ZOO_LOG4J_PROP}" \
+"$JAVA" "-Dzookeeper.log.dir=${ZOO_LOG_DIR}" "-Dzookeeper.root.logger=${ZOO_LOG4J_PROP}" "-Dzookeeper.log.file=${ZOO_LOG_FILE}" \
      -cp "$CLASSPATH" $JVMFLAGS \
      -cp "$CLASSPATH" $JVMFLAGS \
      org.apache.zookeeper.server.PurgeTxnLog "$ZOODATADIR" $*
      org.apache.zookeeper.server.PurgeTxnLog "$ZOODATADIR" $*
 else
 else
-"$JAVA" "-Dzookeeper.log.dir=${ZOO_LOG_DIR}" "-Dzookeeper.root.logger=${ZOO_LOG4J_PROP}" \
+"$JAVA" "-Dzookeeper.log.dir=${ZOO_LOG_DIR}" "-Dzookeeper.root.logger=${ZOO_LOG4J_PROP}" "-Dzookeeper.log.file=${ZOO_LOG_FILE}" \
      -cp "$CLASSPATH" $JVMFLAGS \
      -cp "$CLASSPATH" $JVMFLAGS \
      org.apache.zookeeper.server.PurgeTxnLog "$ZOODATALOGDIR" "$ZOODATADIR" $*
      org.apache.zookeeper.server.PurgeTxnLog "$ZOODATALOGDIR" "$ZOODATADIR" $*
 fi
 fi

+ 3 - 1
bin/zkCli.cmd

@@ -17,8 +17,10 @@ REM limitations under the License.
 setlocal
 setlocal
 call "%~dp0zkEnv.cmd"
 call "%~dp0zkEnv.cmd"
 
 
+ZOO_LOG_FILE=zookeeper-%USERNAME%-cli-%COMPUTERNAME%.log
+
 set ZOOMAIN=org.apache.zookeeper.ZooKeeperMain
 set ZOOMAIN=org.apache.zookeeper.ZooKeeperMain
-call %JAVA% "-Dzookeeper.log.dir=%ZOO_LOG_DIR%" "-Dzookeeper.root.logger=%ZOO_LOG4J_PROP%" -cp "%CLASSPATH%" %ZOOMAIN% %*
+call %JAVA% "-Dzookeeper.log.dir=%ZOO_LOG_DIR%" "-Dzookeeper.root.logger=%ZOO_LOG4J_PROP%" "-Dzookeeper.log.file=%ZOO_LOG_FILE%" -cp "%CLASSPATH%" %ZOOMAIN% %*
 
 
 endlocal
 endlocal
 
 

+ 3 - 1
bin/zkCli.sh

@@ -36,6 +36,8 @@ else
   . "$ZOOBINDIR"/zkEnv.sh
   . "$ZOOBINDIR"/zkEnv.sh
 fi
 fi
 
 
-"$JAVA" "-Dzookeeper.log.dir=${ZOO_LOG_DIR}" "-Dzookeeper.root.logger=${ZOO_LOG4J_PROP}" \
+ZOO_LOG_FILE=zookeeper-$USER-cli-$HOSTNAME.log
+
+"$JAVA" "-Dzookeeper.log.dir=${ZOO_LOG_DIR}" "-Dzookeeper.root.logger=${ZOO_LOG4J_PROP}" "-Dzookeeper.log.file=${ZOO_LOG_FILE}" \
      -cp "$CLASSPATH" $CLIENT_JVMFLAGS $JVMFLAGS \
      -cp "$CLASSPATH" $CLIENT_JVMFLAGS $JVMFLAGS \
      org.apache.zookeeper.ZooKeeperMain "$@"
      org.apache.zookeeper.ZooKeeperMain "$@"

+ 1 - 1
bin/zkEnv.cmd

@@ -15,7 +15,7 @@ REM See the License for the specific language governing permissions and
 REM limitations under the License.
 REM limitations under the License.
 
 
 set ZOOCFGDIR=%~dp0%..\conf
 set ZOOCFGDIR=%~dp0%..\conf
-set ZOO_LOG_DIR=%~dp0%..
+set ZOO_LOG_DIR=%~dp0%..\logs
 set ZOO_LOG4J_PROP=INFO,CONSOLE
 set ZOO_LOG4J_PROP=INFO,CONSOLE
 
 
 REM for sanity sake assume Java 1.6
 REM for sanity sake assume Java 1.6

+ 1 - 1
bin/zkEnv.sh

@@ -67,7 +67,7 @@ fi
 
 
 if [ "x${ZOO_LOG_DIR}" = "x" ]
 if [ "x${ZOO_LOG_DIR}" = "x" ]
 then
 then
-    ZOO_LOG_DIR="."
+    ZOO_LOG_DIR="$ZOOKEEPER_PREFIX/logs"
 fi
 fi
 
 
 if [ "x${ZOO_LOG4J_PROP}" = "x" ]
 if [ "x${ZOO_LOG4J_PROP}" = "x" ]

+ 3 - 1
bin/zkServer.cmd

@@ -18,7 +18,9 @@ setlocal
 call "%~dp0zkEnv.cmd"
 call "%~dp0zkEnv.cmd"
 
 
 set ZOOMAIN=org.apache.zookeeper.server.quorum.QuorumPeerMain
 set ZOOMAIN=org.apache.zookeeper.server.quorum.QuorumPeerMain
+set ZOO_LOG_FILE=zookeeper-%USERNAME%-server-%COMPUTERNAME%.log
+
 echo on
 echo on
-call %JAVA% "-Dzookeeper.log.dir=%ZOO_LOG_DIR%" "-Dzookeeper.root.logger=%ZOO_LOG4J_PROP%" -cp "%CLASSPATH%" %ZOOMAIN% "%ZOOCFG%" %*
+call %JAVA% "-Dzookeeper.log.dir=%ZOO_LOG_DIR%" "-Dzookeeper.root.logger=%ZOO_LOG4J_PROP%" "-Dzookeeper.log.file=%ZOO_LOG_FILE%" -cp "%CLASSPATH%" %ZOOMAIN% "%ZOOCFG%" %*
 
 
 endlocal
 endlocal

+ 6 - 5
bin/zkServer.sh

@@ -133,7 +133,8 @@ if [ ! -w "$ZOO_LOG_DIR" ] ; then
 mkdir -p "$ZOO_LOG_DIR"
 mkdir -p "$ZOO_LOG_DIR"
 fi
 fi
 
 
-_ZOO_DAEMON_OUT="$ZOO_LOG_DIR/zookeeper.out"
+ZOO_LOG_FILE=zookeeper-$USER-server-$HOSTNAME.log
+_ZOO_DAEMON_OUT="$ZOO_LOG_DIR/zookeeper-$USER-server-$HOSTNAME.out"
 
 
 case $1 in
 case $1 in
 start)
 start)
@@ -144,7 +145,7 @@ start)
          exit 0
          exit 0
       fi
       fi
     fi
     fi
-    nohup "$JAVA" $ZOO_DATADIR_AUTOCREATE "-Dzookeeper.log.dir=${ZOO_LOG_DIR}" \
+    nohup "$JAVA" $ZOO_DATADIR_AUTOCREATE "-Dzookeeper.log.dir=${ZOO_LOG_DIR}" "-Dzookeeper.log.file=${ZOO_LOG_FILE}" \
     "-Dzookeeper.root.logger=${ZOO_LOG4J_PROP}" \
     "-Dzookeeper.root.logger=${ZOO_LOG4J_PROP}" \
     -cp "$CLASSPATH" $JVMFLAGS $ZOOMAIN "$ZOOCFG" > "$_ZOO_DAEMON_OUT" 2>&1 < /dev/null &
     -cp "$CLASSPATH" $JVMFLAGS $ZOOMAIN "$ZOOCFG" > "$_ZOO_DAEMON_OUT" 2>&1 < /dev/null &
     if [ $? -eq 0 ]
     if [ $? -eq 0 ]
@@ -167,12 +168,12 @@ start-foreground)
     if [ "${ZOO_NOEXEC}" != "" ]; then
     if [ "${ZOO_NOEXEC}" != "" ]; then
       ZOO_CMD=("$JAVA")
       ZOO_CMD=("$JAVA")
     fi
     fi
-    "${ZOO_CMD[@]}" $ZOO_DATADIR_AUTOCREATE "-Dzookeeper.log.dir=${ZOO_LOG_DIR}" \
+    "${ZOO_CMD[@]}" $ZOO_DATADIR_AUTOCREATE "-Dzookeeper.log.dir=${ZOO_LOG_DIR}" "-Dzookeeper.log.file=${ZOO_LOG_FILE}" \
     "-Dzookeeper.root.logger=${ZOO_LOG4J_PROP}" \
     "-Dzookeeper.root.logger=${ZOO_LOG4J_PROP}" \
     -cp "$CLASSPATH" $JVMFLAGS $ZOOMAIN "$ZOOCFG"
     -cp "$CLASSPATH" $JVMFLAGS $ZOOMAIN "$ZOOCFG"
     ;;
     ;;
 print-cmd)
 print-cmd)
-    echo "\"$JAVA\" $ZOO_DATADIR_AUTOCREATE -Dzookeeper.log.dir=\"${ZOO_LOG_DIR}\" -Dzookeeper.root.logger=\"${ZOO_LOG4J_PROP}\" -cp \"$CLASSPATH\" $JVMFLAGS $ZOOMAIN \"$ZOOCFG\" > \"$_ZOO_DAEMON_OUT\" 2>&1 < /dev/null"
+    echo "\"$JAVA\" $ZOO_DATADIR_AUTOCREATE -Dzookeeper.log.dir=\"${ZOO_LOG_DIR}\" -Dzookeeper.root.logger=\"${ZOO_LOG4J_PROP}\" -Dzookeeper.log.file=\"${ZOO_LOG_FILE}\" -cp \"$CLASSPATH\" $JVMFLAGS $ZOOMAIN \"$ZOOCFG\" > \"$_ZOO_DAEMON_OUT\" 2>&1 < /dev/null"
     ;;
     ;;
 stop)
 stop)
     echo -n "Stopping zookeeper ... "
     echo -n "Stopping zookeeper ... "
@@ -228,7 +229,7 @@ status)
        fi
        fi
     fi
     fi
     echo "Client port found: $clientPort. Client address: $clientPortAddress."
     echo "Client port found: $clientPort. Client address: $clientPortAddress."
-    STAT=`"$JAVA" "-Dzookeeper.log.dir=${ZOO_LOG_DIR}" "-Dzookeeper.root.logger=${ZOO_LOG4J_PROP}" \
+    STAT=`"$JAVA" "-Dzookeeper.log.dir=${ZOO_LOG_DIR}" "-Dzookeeper.root.logger=${ZOO_LOG4J_PROP}" "-Dzookeeper.log.file=${ZOO_LOG_FILE}" \
              -cp "$CLASSPATH" $JVMFLAGS org.apache.zookeeper.client.FourLetterWordMain \
              -cp "$CLASSPATH" $JVMFLAGS org.apache.zookeeper.client.FourLetterWordMain \
              $clientPortAddress $clientPort srvr 2> /dev/null    \
              $clientPortAddress $clientPort srvr 2> /dev/null    \
           | grep Mode`
           | grep Mode`

+ 1 - 1
conf/log4j.properties

@@ -27,7 +27,7 @@ zookeeper.log.threshold=INFO
 zookeeper.log.maxfilesize=256MB
 zookeeper.log.maxfilesize=256MB
 zookeeper.log.maxbackupindex=20
 zookeeper.log.maxbackupindex=20
 
 
-zookeeper.tracelog.dir=.
+zookeeper.tracelog.dir=${zookeeper.log.dir}
 zookeeper.tracelog.file=zookeeper_trace.log
 zookeeper.tracelog.file=zookeeper_trace.log
 
 
 log4j.rootLogger=${zookeeper.root.logger}
 log4j.rootLogger=${zookeeper.root.logger}