diff --git a/pkg/config/config.go b/pkg/config/config.go index 30b995512..bf08a0122 100644 --- a/pkg/config/config.go +++ b/pkg/config/config.go @@ -143,11 +143,14 @@ func (c *Config) LoadFromEnv() error { } func (c *Config) Load(filepath string) error { - if err := c.LoadFromYAMLPath(filepath); err == nil { - return err + var err error + log.Print("Config Load from env first") + _ = c.LoadFromEnv() + if _, err = os.Stat(filepath); err == nil { + log.Printf("Config reload from file: %s", filepath) + return c.LoadFromYAMLPath(filepath) } - log.Print("Load from env") - return c.LoadFromEnv() + return nil } var lock = new(sync.RWMutex) diff --git a/pkg/config/config_test.go b/pkg/config/config_test.go index f711c8848..9e1fc074c 100644 --- a/pkg/config/config_test.go +++ b/pkg/config/config_test.go @@ -6,8 +6,8 @@ import ( "testing" ) -func TestConfig_LoadFromYAMLPath(t *testing.T) { - err := Conf.LoadFromYAMLPath("./test_config.yml") +func TestConfig_Load(t *testing.T) { + err := Conf.Load("./test_config.yml") if err != nil { t.Errorf("Load from yaml faild: %v", err) } diff --git a/pkg/config/init.go b/pkg/config/init.go index cc7b6bbb6..8ed2a80c2 100644 --- a/pkg/config/init.go +++ b/pkg/config/init.go @@ -6,7 +6,6 @@ func Initial(confPath string) { if err := Conf.Load(confPath); err != nil { log.Fatal(err) } - log.Printf("Config file Path: %s\n", confPath) Conf.EnsureConfigValid() }