From c138f390acbb03ec1eca8ef92244afed374a0d89 Mon Sep 17 00:00:00 2001 From: woodsaj Date: Mon, 17 Aug 2015 15:59:40 +0800 Subject: [PATCH] close all existing loggers before re-initilizing loggers. fixes #2533 --- pkg/log/log.go | 4 ++++ pkg/setting/setting.go | 2 ++ 2 files changed, 6 insertions(+) diff --git a/pkg/log/log.go b/pkg/log/log.go index d2e31cffb64..a7d26ce7913 100644 --- a/pkg/log/log.go +++ b/pkg/log/log.go @@ -82,7 +82,11 @@ func Fatal(skip int, format string, v ...interface{}) { func Close() { for _, l := range loggers { l.Close() + // delete the logger. + l = nil } + // clear the loggers slice. + loggers = nil } // .___ __ _____ diff --git a/pkg/setting/setting.go b/pkg/setting/setting.go index df903b21bc4..3ac4b16db64 100644 --- a/pkg/setting/setting.go +++ b/pkg/setting/setting.go @@ -456,6 +456,8 @@ var logLevels = map[string]int{ } func initLogging(args *CommandLineArgs) { + //close any existing log handlers. + log.Close() // Get and check log mode. LogModes = strings.Split(Cfg.Section("log").Key("mode").MustString("console"), ",") LogsPath = makeAbsolute(Cfg.Section("paths").Key("logs").String(), HomePath)