diff --git a/error.go b/error.go index b3d1933..25c3cae 100644 --- a/error.go +++ b/error.go @@ -44,13 +44,3 @@ func logWaitError(err error) { } } } - -func logBaseError(err error, message string) { - var e *fmsg.BaseError - - if fmsg.AsBaseError(err, &e) { - log.Print(e.Message()) - } else { - log.Println(message, err) - } -} diff --git a/internal/fmsg/errors.go b/internal/fmsg/errors.go index 079c555..1a0632d 100644 --- a/internal/fmsg/errors.go +++ b/internal/fmsg/errors.go @@ -2,6 +2,7 @@ package fmsg import ( "fmt" + "log" "reflect" ) @@ -70,3 +71,13 @@ func AsBaseError(err error, target **BaseError) bool { *target = v.Convert(baseErrorType).Interface().(*BaseError) return true } + +func PrintBaseError(err error, fallback string) { + var e *BaseError + + if AsBaseError(err, &e) { + log.Print(e.Message()) + } else { + log.Println(fallback, err) + } +} diff --git a/main.go b/main.go index ca3b918..14ca352 100644 --- a/main.go +++ b/main.go @@ -330,11 +330,11 @@ func runApp(config *fst.Config) { if a, err := app.New(sys); err != nil { log.Fatalf("cannot create app: %s", err) } else if err = a.Seal(config); err != nil { - logBaseError(err, "cannot seal app:") + fmsg.PrintBaseError(err, "cannot seal app:") internal.Exit(1) } else if err = a.Run(ctx, rs); err != nil { if !rs.Start { - logBaseError(err, "cannot start app:") + fmsg.PrintBaseError(err, "cannot start app:") } else { logWaitError(err) }