From d474eba53a4766e8992abc223f9ffad7452950d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Torkel=20=C3=96degaard?= Date: Wed, 18 May 2016 14:18:08 +0200 Subject: [PATCH] fix(logging): fixed reading config level from config file, fixes #5079 --- pkg/setting/setting.go | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/pkg/setting/setting.go b/pkg/setting/setting.go index 2d1bad945eb..8494b8112b7 100644 --- a/pkg/setting/setting.go +++ b/pkg/setting/setting.go @@ -526,6 +526,17 @@ var logLevels = map[string]int{ "Critical": 5, } +func getLogLevel(key string, defaultName string) (string, int) { + levelName := Cfg.Section(key).Key("level").In(defaultName, []string{"Trace", "Debug", "Info", "Warn", "Error", "Critical"}) + + level, ok := logLevels[levelName] + if !ok { + log.Fatal(4, "Unknown log level: %s", levelName) + } + + return levelName, level +} + func initLogging(args *CommandLineArgs) { //close any existing log handlers. log.Close() @@ -533,8 +544,12 @@ func initLogging(args *CommandLineArgs) { LogModes = strings.Split(Cfg.Section("log").Key("mode").MustString("console"), ",") LogsPath = makeAbsolute(Cfg.Section("paths").Key("logs").String(), HomePath) + defaultLevelName, _ := getLogLevel("log", "Info") + LogConfigs = make([]util.DynMap, len(LogModes)) + for i, mode := range LogModes { + mode = strings.TrimSpace(mode) sec, err := Cfg.GetSection("log." + mode) if err != nil { @@ -542,12 +557,7 @@ func initLogging(args *CommandLineArgs) { } // Log level. - levelName := Cfg.Section("log."+mode).Key("level").In("Trace", - []string{"Trace", "Debug", "Info", "Warn", "Error", "Critical"}) - level, ok := logLevels[levelName] - if !ok { - log.Fatal(4, "Unknown log level: %s", levelName) - } + _, level := getLogLevel("log."+mode, defaultLevelName) // Generate log configuration. switch mode {