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
Этот коммит содержится в:
Harrison Healey
2017-05-23 11:06:25 -04:00
коммит произвёл GitHub
родитель 69f3f2fdce
Коммит 5c1049054e
23 изменённых файлов: 189 добавлений и 73 удалений

Просмотреть файл

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