improve logging set-up: return pointer, log set-up errors
This commit is contained in:
parent
2295213a4a
commit
4549cb3be3
4 changed files with 11 additions and 9 deletions
2
.gitignore
vendored
2
.gitignore
vendored
|
@ -1,2 +1,2 @@
|
||||||
bin*
|
bin*
|
||||||
scopes.log
|
*.log
|
||||||
|
|
|
@ -4,6 +4,6 @@ import "git.sr.ht/~cco/go-scopes/config"
|
||||||
|
|
||||||
func Overrides() config.Settings {
|
func Overrides() config.Settings {
|
||||||
return config.Settings{
|
return config.Settings{
|
||||||
HOME: "/home/scopes/app",
|
//HOME: "/home/scopes/app",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,15 +26,13 @@ func Setup(ctx lib.Context, cfg *Cfg, home string) {
|
||||||
return // use unchanged predefined logger
|
return // use unchanged predefined logger
|
||||||
}
|
}
|
||||||
if logger, err := New(cfg, home); err != nil {
|
if logger, err := New(cfg, home); err != nil {
|
||||||
//panic(err)
|
panic("error when trying to set up logger.")
|
||||||
logger.Err(err)
|
|
||||||
//GetLogger(nil).Err(err)
|
|
||||||
} else {
|
} 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)
|
home, _ = filepath.Abs(home)
|
||||||
fn := cfg.Logfile
|
fn := cfg.Logfile
|
||||||
if fn == "" {
|
if fn == "" {
|
||||||
|
@ -45,9 +43,11 @@ func New(cfg *Cfg, home string) (Logger, error) {
|
||||||
fmt.Println("logfile:", fn)
|
fmt.Println("logfile:", fn)
|
||||||
f, err := os.OpenFile(fn, os.O_WRONLY|os.O_APPEND|os.O_CREATE, 0664)
|
f, err := os.OpenFile(fn, os.O_WRONLY|os.O_APPEND|os.O_CREATE, 0664)
|
||||||
if err != nil {
|
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 {
|
func GetLogger(ctx lib.Context) *Logger {
|
||||||
|
|
|
@ -2,6 +2,7 @@ package scopes_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"os"
|
||||||
tbase "testing"
|
tbase "testing"
|
||||||
|
|
||||||
"git.sr.ht/~cco/go-scopes/app"
|
"git.sr.ht/~cco/go-scopes/app"
|
||||||
|
@ -12,6 +13,7 @@ import (
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestConfig(tb *tbase.T) {
|
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 := testing.SetUpApp(tb, etc.Config())
|
||||||
t.Run("app", AppTest)
|
t.Run("app", AppTest)
|
||||||
t.Run("config", ConfigTest)
|
t.Run("config", ConfigTest)
|
||||||
|
|
Loading…
Add table
Reference in a new issue