aboutsummaryrefslogtreecommitdiff
path: root/cmd/mobius-hotline-server
diff options
context:
space:
mode:
authorJeff Halter <868228+jhalter@users.noreply.github.com>2025-06-30 14:10:23 -0700
committerJeff Halter <868228+jhalter@users.noreply.github.com>2025-06-30 14:10:23 -0700
commit043e270a03f4ffff6d7115bd7ca5083a9eb80e46 (patch)
treec465d1e972a0dd24fdedfd25ff26d3a394048a28 /cmd/mobius-hotline-server
parent437415ca92a98783d03e71c689bdbb58fe0a8d51 (diff)
Improve error handling consistency in main.go
- Fix incorrect error message for banner loading - Convert all error logging to structured format - Remove server shutdown during config reload failures
Diffstat (limited to 'cmd/mobius-hotline-server')
-rw-r--r--cmd/mobius-hotline-server/main.go25
1 files changed, 12 insertions, 13 deletions
diff --git a/cmd/mobius-hotline-server/main.go b/cmd/mobius-hotline-server/main.go
index afad4d1..1ba11ae 100644
--- a/cmd/mobius-hotline-server/main.go
+++ b/cmd/mobius-hotline-server/main.go
@@ -59,11 +59,11 @@ func main() {
if *init {
if _, err := os.Stat(path.Join(*configDir, "/config.yaml")); os.IsNotExist(err) {
if err := os.MkdirAll(*configDir, 0750); err != nil {
- slogger.Error(fmt.Sprintf("error creating config dir: %s", err))
+ slogger.Error("Error creating config dir", "err", err)
os.Exit(1)
}
if err := copyDir(path.Join("mobius", "config"), *configDir); err != nil {
- slogger.Error(fmt.Sprintf("error copying config dir: %s", err))
+ slogger.Error("Error copying config dir", "err", err)
os.Exit(1)
}
slogger.Info("Config dir initialized at " + *configDir)
@@ -74,7 +74,7 @@ func main() {
config, err := mobius.LoadConfig(path.Join(*configDir, "config.yaml"))
if err != nil {
- slogger.Error(fmt.Sprintf("Error loading config: %v", err))
+ slogger.Error("Error loading config", "err", err)
os.Exit(1)
}
@@ -85,44 +85,44 @@ func main() {
hotline.WithConfig(*config),
)
if err != nil {
- slogger.Error(fmt.Sprintf("Error starting server: %s", err))
+ slogger.Error("Error starting server", "err", err)
os.Exit(1)
}
srv.MessageBoard, err = mobius.NewFlatNews(path.Join(*configDir, "MessageBoard.txt"))
if err != nil {
- slogger.Error(fmt.Sprintf("Error loading message board: %v", err))
+ slogger.Error("Error loading message board", "err", err)
os.Exit(1)
}
srv.BanList, err = mobius.NewBanFile(path.Join(*configDir, "Banlist.yaml"))
if err != nil {
- slogger.Error(fmt.Sprintf("Error loading ban list: %v", err))
+ slogger.Error("Error loading ban list", "err", err)
os.Exit(1)
}
srv.ThreadedNewsMgr, err = mobius.NewThreadedNewsYAML(path.Join(*configDir, "ThreadedNews.yaml"))
if err != nil {
- slogger.Error(fmt.Sprintf("Error loading news: %v", err))
+ slogger.Error("Error loading news", "err", err)
os.Exit(1)
}
srv.AccountManager, err = mobius.NewYAMLAccountManager(path.Join(*configDir, "Users/"))
if err != nil {
- slogger.Error(fmt.Sprintf("Error loading accounts: %v", err))
+ slogger.Error("Error loading accounts", "err", err)
os.Exit(1)
}
srv.Agreement, err = mobius.NewAgreement(*configDir, "\r")
if err != nil {
- slogger.Error(fmt.Sprintf("Error loading agreement: %v", err))
+ slogger.Error("Error loading agreement", "err", err)
os.Exit(1)
}
bannerPath := path.Join(*configDir, config.BannerFile)
srv.Banner, err = os.ReadFile(bannerPath)
if err != nil {
- slogger.Error(fmt.Sprintf("Error loading accounts: %v", err))
+ slogger.Error("Error loading banner", "err", err)
os.Exit(1)
}
@@ -140,15 +140,14 @@ func main() {
}
if err := srv.Agreement.(*mobius.Agreement).Reload(); err != nil {
- slogger.Error(fmt.Sprintf("Error reloading agreement: %v", err))
- os.Exit(1)
+ slogger.Error("Error reloading agreement", "err", err)
}
// Let's try to reload the banner
bannerPath := path.Join(*configDir, config.BannerFile)
srv.Banner, err = os.ReadFile(bannerPath)
if err != nil {
- slogger.Error(fmt.Sprintf("Error reloading banner: %v", err))
+ slogger.Error("Error reloading banner", "err", err)
}
}