From 4549cb3be3c453f2e0a0cacf92d0485c7c8ba4fc Mon Sep 17 00:00:00 2001 From: Helmut Merz Date: Mon, 26 Jun 2023 14:07:47 +0200 Subject: [PATCH] improve logging set-up: return pointer, log set-up errors --- .gitignore | 2 +- examples/demo/etc/settings.go | 2 +- logging/logging.go | 14 +++++++------- tests/scopes_test.go | 2 ++ 4 files changed, 11 insertions(+), 9 deletions(-) diff --git a/.gitignore b/.gitignore index 829be05..13c8366 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,2 @@ bin* -scopes.log +*.log diff --git a/examples/demo/etc/settings.go b/examples/demo/etc/settings.go index 790196e..69708c7 100644 --- a/examples/demo/etc/settings.go +++ b/examples/demo/etc/settings.go @@ -4,6 +4,6 @@ import "git.sr.ht/~cco/go-scopes/config" func Overrides() config.Settings { return config.Settings{ - HOME: "/home/scopes/app", + //HOME: "/home/scopes/app", } } diff --git a/logging/logging.go b/logging/logging.go index 9e45032..db661e9 100644 --- a/logging/logging.go +++ b/logging/logging.go @@ -26,15 +26,13 @@ func Setup(ctx lib.Context, cfg *Cfg, home string) { return // use unchanged predefined logger } if logger, err := New(cfg, home); err != nil { - //panic(err) - logger.Err(err) - //GetLogger(nil).Err(err) + panic("error when trying to set up logger.") } else { - *globalLogger = logger + *globalLogger = *logger } } -func New(cfg *Cfg, home string) (Logger, error) { +func New(cfg *Cfg, home string) (*Logger, error) { home, _ = filepath.Abs(home) fn := cfg.Logfile if fn == "" { @@ -45,9 +43,11 @@ func New(cfg *Cfg, home string) (Logger, error) { fmt.Println("logfile:", fn) f, err := os.OpenFile(fn, os.O_WRONLY|os.O_APPEND|os.O_CREATE, 0664) if err != nil { - return *globalLogger, err + GetLogger(nil).Err(err).Msg("logging.New: open log file") + return nil, err } - return zerolog.New(f).With().Timestamp().Logger(), nil + logger := zerolog.New(f).With().Timestamp().Logger() + return &logger, nil } func GetLogger(ctx lib.Context) *Logger { diff --git a/tests/scopes_test.go b/tests/scopes_test.go index 9deb4b2..a8dbc4a 100644 --- a/tests/scopes_test.go +++ b/tests/scopes_test.go @@ -2,6 +2,7 @@ package scopes_test import ( "fmt" + "os" tbase "testing" "git.sr.ht/~cco/go-scopes/app" @@ -12,6 +13,7 @@ import ( ) func TestConfig(tb *tbase.T) { + os.Remove("log/scopes.log") // make sure we start with a fresh log file t := testing.SetUpApp(tb, etc.Config()) t.Run("app", AppTest) t.Run("config", ConfigTest)