diff options
5 files changed, 18 insertions, 5 deletions
diff --git a/configserver/src/main/sh/start-configserver b/configserver/src/main/sh/start-configserver index 958d71d7f5e..c17288da51b 100755 --- a/configserver/src/main/sh/start-configserver +++ b/configserver/src/main/sh/start-configserver @@ -121,7 +121,6 @@ fixlimits checkjava ZOOKEEPER_LOG_FILE="${VESPA_HOME}/logs/vespa/zookeeper.configserver.log" -rm -f $ZOOKEEPER_LOG_FILE*lck # common setup export VESPA_LOG_TARGET=file:${VESPA_HOME}/logs/vespa/vespa.log @@ -188,6 +187,6 @@ vespa-run-as-vespa-user vespa-runserver -s configserver -r 30 -p $pidfile -- \ -Djdisc.logger.level=ALL \ -Djdisc.logger.tag=jdisc/configserver \ -Dfile.encoding=UTF-8 \ - -Dzookeeperlogfile=${VESPA_HOME}/logs/vespa/zookeeper.configserver.log \ + -Dzookeeperlogfile=${ZOOKEEPER_LOG_FILE} \ -cp "$CP" \ com.yahoo.jdisc.core.StandaloneMain standalone-container-jar-with-dependencies.jar diff --git a/container-disc/src/main/java/com/yahoo/container/jdisc/ConfiguredApplication.java b/container-disc/src/main/java/com/yahoo/container/jdisc/ConfiguredApplication.java index ab8162b9ae0..e174de19394 100644 --- a/container-disc/src/main/java/com/yahoo/container/jdisc/ConfiguredApplication.java +++ b/container-disc/src/main/java/com/yahoo/container/jdisc/ConfiguredApplication.java @@ -367,6 +367,7 @@ public final class ConfiguredApplication implements Application { Container.get().shutdown(); unregisterInSlobrok(); + LogSetup.cleanup(); log.info("Stop: Finished"); } diff --git a/container-disc/src/main/sh/vespa-start-container-daemon.sh b/container-disc/src/main/sh/vespa-start-container-daemon.sh index 228f731fd5c..160caa933d5 100755 --- a/container-disc/src/main/sh/vespa-start-container-daemon.sh +++ b/container-disc/src/main/sh/vespa-start-container-daemon.sh @@ -23,7 +23,6 @@ DISCRIMINATOR=`echo ${VESPA_CONFIG_ID} | md5sum | cut -d' ' -f1` CONTAINER_HOME="${VESPA_HOME}/var/jdisc_container/${DISCRIMINATOR}/" ZOOKEEPER_LOG_FILE="${VESPA_HOME}/logs/vespa/zookeeper.${VESPA_SERVICE_NAME}.log" -rm -f $ZOOKEEPER_LOG_FILE*lck # common setup export VESPA_LOG_TARGET=file:${VESPA_HOME}/logs/vespa/vespa.log diff --git a/vespalog/abi-spec.json b/vespalog/abi-spec.json index edf9703af4b..09ac3fa75d3 100644 --- a/vespalog/abi-spec.json +++ b/vespalog/abi-spec.json @@ -167,7 +167,8 @@ "public static java.util.Timer getTaskRunner()", "public static void clearHandlers()", "public static void initVespaLogging(java.lang.String)", - "public static com.yahoo.log.VespaLogHandler getLogHandler()" + "public static com.yahoo.log.VespaLogHandler getLogHandler()", + "public static void cleanup()" ], "fields": [] }, diff --git a/vespalog/src/main/java/com/yahoo/log/LogSetup.java b/vespalog/src/main/java/com/yahoo/log/LogSetup.java index 1bdefaa52fd..c29374b433b 100644 --- a/vespalog/src/main/java/com/yahoo/log/LogSetup.java +++ b/vespalog/src/main/java/com/yahoo/log/LogSetup.java @@ -23,6 +23,8 @@ public class LogSetup { /** The log handler used by this */ private static VespaLogHandler logHandler; + private static ZooKeeperFilter zooKeeperFilter = null; + public static void clearHandlers () { Enumeration<String> names = LogManager.getLogManager().getLoggerNames(); while (names.hasMoreElements()) { @@ -147,7 +149,8 @@ public class LogSetup { logHandler = new VespaLogHandler(getLogTargetFromString(target), new VespaLevelControllerRepo(logCtlFn, lev, app), service, app); String zookeeperLogFile = System.getProperty("zookeeperlogfile"); if (zookeeperLogFile != null) { - logHandler.setFilter(new ZooKeeperFilter(zookeeperLogFile)); + zooKeeperFilter = new ZooKeeperFilter(zookeeperLogFile); + logHandler.setFilter(zooKeeperFilter); } Logger.getLogger("").addHandler(logHandler); } @@ -157,6 +160,12 @@ public class LogSetup { return logHandler; } + /** Returns the log handler set up by this class */ + public static void cleanup() { + if (zooKeeperFilter != null) + zooKeeperFilter.close(); + } + /** * Class that has an isLoggable methods that handles log records that * start with "org.apache.zookeeper." in @@ -195,6 +204,10 @@ public class LogSetup { fileHandler.publish(record); return false; } + + public void close() { + fileHandler.close(); + } } } |