diff options
author | Harrison Healey <harrisonmhealey@gmail.com> | 2017-05-23 11:06:25 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-05-23 11:06:25 -0400 |
commit | 5c1049054eace710abd3418bbad141fbb7dd5d7f (patch) | |
tree | 24d75c14ce2aae2c6f1a8d5bc7392e958e416666 /utils/config.go | |
parent | 69f3f2fdce4ae21a037ca61d753279efcc70f0ec (diff) | |
download | chat-5c1049054eace710abd3418bbad141fbb7dd5d7f.tar.gz chat-5c1049054eace710abd3418bbad141fbb7dd5d7f.tar.bz2 chat-5c1049054eace710abd3418bbad141fbb7dd5d7f.zip |
PLT-6471 Properly panic when translations can't be loaded (#6414)
* PLT-6471 Properly panic when translations can't be loaded
* Print usage messages when errors occur during CLI initialization
* Reverted behaviour of FindDir and added second return value to it
* Fixed merge conflict
Diffstat (limited to 'utils/config.go')
-rw-r--r-- | utils/config.go | 25 |
1 files changed, 14 insertions, 11 deletions
diff --git a/utils/config.go b/utils/config.go index 95cfc43aa..c0771933d 100644 --- a/utils/config.go +++ b/utils/config.go @@ -78,17 +78,21 @@ func FindConfigFile(fileName string) string { return fileName } -func FindDir(dir string) string { +func FindDir(dir string) (string, bool) { fileName := "." + found := false if _, err := os.Stat("./" + dir + "/"); err == nil { fileName, _ = filepath.Abs("./" + dir + "/") + found = true } else if _, err := os.Stat("../" + dir + "/"); err == nil { fileName, _ = filepath.Abs("../" + dir + "/") + found = true } else if _, err := os.Stat("../../" + dir + "/"); err == nil { fileName, _ = filepath.Abs("../../" + dir + "/") + found = true } - return fileName + "/" + return fileName + "/", found } func DisableDebugLogForTest() { @@ -161,7 +165,8 @@ func configureLog(s *model.LogSettings) { func GetLogFileLocation(fileLocation string) string { if fileLocation == "" { - return FindDir("logs") + LOG_FILENAME + logDir, _ := FindDir("logs") + return logDir + LOG_FILENAME } else { return fileLocation + LOG_FILENAME } @@ -258,19 +263,17 @@ func DisableConfigWatch() { } } -func InitAndLoadConfig(filename string) (err string) { - defer func() { - if r := recover(); r != nil { - err = fmt.Sprintf("%v", r) - } - }() - TranslationsPreInit() +func InitAndLoadConfig(filename string) error { + if err := TranslationsPreInit(); err != nil { + return err + } + EnableConfigFromEnviromentVars() LoadConfig(filename) InitializeConfigWatch() EnableConfigWatch() - return "" + return nil } // LoadConfig will try to search around for the corresponding config file. |