|
|
|
@ -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 { |
|
|
|
|