Преглед изворни кода

Backend configuration: When unknown key was detected the log error was not visible in log file due to logging was initialized after user config file is loaded, logging is now initialized twice, once based on defaults and command line arguments, then then again after user config file, Fixes #1992

Torkel Ödegaard пре 10 година
родитељ
комит
1c9993f185
1 измењених фајлова са 8 додато и 4 уклоњено
  1. 8 4
      pkg/setting/setting.go

+ 8 - 4
pkg/setting/setting.go

@@ -289,10 +289,13 @@ func loadConfiguration(args *CommandLineArgs) {
 
 	// command line props
 	commandLineProps := getCommandLineProperties(args.Args)
-
 	// load default overrides
 	applyCommandLineDefaultProperties(commandLineProps)
 
+	// init logging before specific config so we can log errors from here on
+	DataPath = makeAbsolute(Cfg.Section("paths").Key("data").String(), HomePath)
+	initLogging(args)
+
 	// load specified config file
 	loadSpecifedConfigFile(args.Config)
 
@@ -304,6 +307,10 @@ func loadConfiguration(args *CommandLineArgs) {
 
 	// evaluate config values containing environment variables
 	evalConfigValues()
+
+	// update data path and logging config
+	DataPath = makeAbsolute(Cfg.Section("paths").Key("data").String(), HomePath)
+	initLogging(args)
 }
 
 func pathExists(path string) bool {
@@ -339,9 +346,6 @@ func NewConfigContext(args *CommandLineArgs) {
 	setHomePath(args)
 	loadConfiguration(args)
 
-	DataPath = makeAbsolute(Cfg.Section("paths").Key("data").String(), HomePath)
-	initLogging(args)
-
 	AppName = Cfg.Section("").Key("app_name").MustString("Grafana")
 	Env = Cfg.Section("").Key("app_mode").MustString("development")