Removing panics on config and license loading errors. Nice error messages instead. (#2829)

Этот коммит содержится в:
Christopher Speller
2016-05-02 08:08:28 -04:00
родитель 92be84762b
Коммит b49d138cf9
2 изменённых файлов: 19 добавлений и 3 удалений

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

@@ -2019,6 +2019,10 @@
"id": "mattermost.config_file", "id": "mattermost.config_file",
"translation": "Loaded config file from %v" "translation": "Loaded config file from %v"
}, },
{
"id": "mattermost.unable_to_load_config",
"translation": "Unable to load mattermost configuration file:"
},
{ {
"id": "mattermost.current_version", "id": "mattermost.current_version",
"translation": "Current version is %v (%v/%v/%v)" "translation": "Current version is %v (%v/%v/%v)"

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

@@ -60,12 +60,25 @@ var flagTeamName string
var flagRole string var flagRole string
var flagRunCmds bool var flagRunCmds bool
func doLoadConfig(filename string) (err string) {
defer func() {
if r := recover(); r != nil {
err = r.(string)
}
}()
utils.LoadConfig(filename)
return ""
}
func main() { func main() {
parseCmds() parseCmds()
utils.InitTranslations() utils.InitTranslations()
utils.LoadConfig(flagConfigFile) if errstr := doLoadConfig(flagConfigFile); errstr != "" {
l4g.Exit(utils.T("mattermost.unable_to_load_config"), errstr)
return
}
if flagRunCmds { if flagRunCmds {
utils.ConfigureCmdLineLog() utils.ConfigureCmdLineLog()
@@ -91,8 +104,7 @@ func main() {
if !utils.IsLicensed && len(utils.Cfg.SqlSettings.DataSourceReplicas) > 1 { if !utils.IsLicensed && len(utils.Cfg.SqlSettings.DataSourceReplicas) > 1 {
l4g.Critical(utils.T("store.sql.read_replicas_not_licensed.critical")) l4g.Critical(utils.T("store.sql.read_replicas_not_licensed.critical"))
time.Sleep(time.Second) return
panic(fmt.Sprintf(utils.T("store.sql.read_replicas_not_licensed.critical")))
} }
if flagRunCmds { if flagRunCmds {