diff --git a/pkg/log/log.go b/pkg/log/log.go
index <HASH>..<HASH> 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 <HASH>..<HASH> 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)
close all existing loggers before re-initilizing loggers. fixes #<I>