diff --git a/logging/logging.go b/logging/logging.go index 917fd4c..1813658 100644 --- a/logging/logging.go +++ b/logging/logging.go @@ -2,6 +2,7 @@ package logging import ( "fmt" + "os" "path/filepath" "git.sr.ht/~cco/go-scopes/config" @@ -12,7 +13,7 @@ import ( type Logger = zerolog.Logger -var globalLogger Logger = log.Logger +var globalLogger *Logger = &log.Logger type Cfg struct { *config.BaseCfg @@ -24,23 +25,30 @@ func Setup(ctx lib.Context, cfg *Cfg, home string) { if cfg == nil { return // use unchanged predefined logger } - fmt.Println("logging:", home, cfg.Logfile) + home, _ = filepath.Abs(home) fn := cfg.Logfile + // TODO: use: logger := New(cfg, home) if fn == "" { fn = filepath.Join(home, "log", "scopes.log") } else if !filepath.IsAbs(fn) { fn = filepath.Join(home, fn) } fmt.Println("logfile:", fn) + if f, err := os.OpenFile(fn, os.O_WRONLY|os.O_APPEND|os.O_CREATE, 0664); err == nil { + logger := zerolog.New(f).With().Timestamp().Logger() + *globalLogger = logger + } else { + panic(err) + } } func New(cfg *Cfg, home string) *Logger { return nil } -func GetLogger(ctx lib.Context) *zerolog.Logger { +func GetLogger(ctx lib.Context) *Logger { if ctx == nil { - return &globalLogger + return globalLogger } return nil } diff --git a/tests/etc/etc.go b/tests/etc/etc.go index 75a08d1..40e85e0 100644 --- a/tests/etc/etc.go +++ b/tests/etc/etc.go @@ -53,6 +53,6 @@ const ( // file `settings.go` that should not be stored in code repository. func Overrides() config.Settings { return config.Settings{ - HOME: "tests", + //HOME: "tests", } } diff --git a/tests/log/scopes.log b/tests/log/scopes.log new file mode 100644 index 0000000..b2b1f72 --- /dev/null +++ b/tests/log/scopes.log @@ -0,0 +1,4 @@ +{"level":"info","service":"config","time":"2023-06-26T10:21:47+02:00","message":"started"} +{"level":"info","service":"test-receiver","time":"2023-06-26T10:21:47+02:00","message":"started"} +{"level":"info","service":"config","time":"2023-06-26T10:28:53+02:00","message":"started"} +{"level":"info","service":"test-receiver","time":"2023-06-26T10:28:53+02:00","message":"started"}