diff --git a/logging/log/log.go b/logging/log/log.go index d8e17b2..a2367bd 100644 --- a/logging/log/log.go +++ b/logging/log/log.go @@ -7,6 +7,8 @@ import ( const ( DebugLevel = logging.DebugLevel InfoLevel = logging.InfoLevel + WarnLevel = logging.WarnLevel + ErrorLevel = logging.ErrorLevel ) var ( diff --git a/logging/logging.go b/logging/logging.go index 9fb7bba..de5a09c 100644 --- a/logging/logging.go +++ b/logging/logging.go @@ -13,8 +13,12 @@ import ( const ( DebugLevel = zerolog.DebugLevel InfoLevel = zerolog.InfoLevel + WarnLevel = zerolog.WarnLevel + ErrorLevel = zerolog.ErrorLevel ) +var Levels = map[string]zerolog.Level{} + type Logger = zerolog.Logger var globalLogger *Logger = &log.Logger @@ -22,7 +26,7 @@ var globalLogger *Logger = &log.Logger type Cfg struct { *config.BaseCfg Logfile string - Level zerolog.Level + Level 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") 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 } @@ -60,3 +67,10 @@ func GetLogger(ctx lib.Context) *Logger { // return ctx.Logger() return globalLogger } + +func init() { + Levels["debug"] = DebugLevel + Levels["info"] = InfoLevel + Levels["warn"] = WarnLevel + Levels["error"] = ErrorLevel +} diff --git a/tests/etc/etc.go b/tests/etc/etc.go index 40e85e0..8083213 100644 --- a/tests/etc/etc.go +++ b/tests/etc/etc.go @@ -20,6 +20,7 @@ func Config() lib.Config { AppType: "standard", Logging: &logging.Cfg{ Logfile: ovr("log/scopes.log", LOGFILE), + Level: ovr("info", LOGLEVEL), }, } app_c.AddAction("demo", action.Base(action.Forward, "test-receiver")) @@ -45,8 +46,9 @@ var ( // collect here the names of fields that may be overridden via // explicit Override() or SCOPES_* environment settings. const ( - HOME = "home" - LOGFILE = "logfile" + HOME = "home" + LOGFILE = "logfile" + LOGLEVEL = "loglevel" ) // in a production scenario this should be put in a separate @@ -54,5 +56,6 @@ const ( func Overrides() config.Settings { return config.Settings{ //HOME: "tests", + LOGLEVEL: "debug", } }