work in progress: logging config: evaluate Level setting

This commit is contained in:
Helmut Merz 2023-06-26 21:00:53 +02:00
parent 348478c220
commit 8dad97f6be
3 changed files with 23 additions and 4 deletions

View file

@ -7,6 +7,8 @@ import (
const ( const (
DebugLevel = logging.DebugLevel DebugLevel = logging.DebugLevel
InfoLevel = logging.InfoLevel InfoLevel = logging.InfoLevel
WarnLevel = logging.WarnLevel
ErrorLevel = logging.ErrorLevel
) )
var ( var (

View file

@ -13,8 +13,12 @@ import (
const ( const (
DebugLevel = zerolog.DebugLevel DebugLevel = zerolog.DebugLevel
InfoLevel = zerolog.InfoLevel InfoLevel = zerolog.InfoLevel
WarnLevel = zerolog.WarnLevel
ErrorLevel = zerolog.ErrorLevel
) )
var Levels = map[string]zerolog.Level{}
type Logger = zerolog.Logger type Logger = zerolog.Logger
var globalLogger *Logger = &log.Logger var globalLogger *Logger = &log.Logger
@ -22,7 +26,7 @@ var globalLogger *Logger = &log.Logger
type Cfg struct { type Cfg struct {
*config.BaseCfg *config.BaseCfg
Logfile string Logfile string
Level zerolog.Level Level string
} }
func Setup(ctx lib.Context, cfg *Cfg, home string) { func Setup(ctx lib.Context, cfg *Cfg, home string) {
@ -49,7 +53,10 @@ func New(cfg *Cfg, home string) (*Logger, error) {
GetLogger(nil).Err(err).Msg("logging.New: open log file") GetLogger(nil).Err(err).Msg("logging.New: open log file")
return nil, err return nil, err
} }
logger := zerolog.New(f).With().Timestamp().Logger() lc := zerolog.New(f).With().Timestamp()
// TODO: evaluate cfg.Level
// lc.Level(level)
logger := lc.Logger()
return &logger, nil return &logger, nil
} }
@ -60,3 +67,10 @@ func GetLogger(ctx lib.Context) *Logger {
// return ctx.Logger() // return ctx.Logger()
return globalLogger return globalLogger
} }
func init() {
Levels["debug"] = DebugLevel
Levels["info"] = InfoLevel
Levels["warn"] = WarnLevel
Levels["error"] = ErrorLevel
}

View file

@ -20,6 +20,7 @@ func Config() lib.Config {
AppType: "standard", AppType: "standard",
Logging: &logging.Cfg{ Logging: &logging.Cfg{
Logfile: ovr("log/scopes.log", LOGFILE), Logfile: ovr("log/scopes.log", LOGFILE),
Level: ovr("info", LOGLEVEL),
}, },
} }
app_c.AddAction("demo", action.Base(action.Forward, "test-receiver")) app_c.AddAction("demo", action.Base(action.Forward, "test-receiver"))
@ -47,6 +48,7 @@ var (
const ( const (
HOME = "home" HOME = "home"
LOGFILE = "logfile" LOGFILE = "logfile"
LOGLEVEL = "loglevel"
) )
// in a production scenario this should be put in a separate // in a production scenario this should be put in a separate
@ -54,5 +56,6 @@ const (
func Overrides() config.Settings { func Overrides() config.Settings {
return config.Settings{ return config.Settings{
//HOME: "tests", //HOME: "tests",
LOGLEVEL: "debug",
} }
} }