improve logging set-up: return pointer, log set-up errors

This commit is contained in:
Helmut Merz 2023-06-26 14:07:47 +02:00
parent 2295213a4a
commit 4549cb3be3
4 changed files with 11 additions and 9 deletions

2
.gitignore vendored
View file

@ -1,2 +1,2 @@
bin*
scopes.log
*.log

View file

@ -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",
}
}

View file

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

View file

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