Add dynamic logging capability.
Change-Id: I98de8a6f30d5f82e5e5e902da6df0d8bf1fea889
diff --git a/common/log/log.go b/common/log/log.go
index d751c34..93b2072 100644
--- a/common/log/log.go
+++ b/common/log/log.go
@@ -110,12 +110,14 @@
}
}
+var cfg zp.Config
+
// SetLogger needs to be invoked before the logger API can be invoked. This function
// initialize the default logger (zap's sugaredlogger)
func SetLogger(outputType string, level int, defaultFields Fields) (Logger, error) {
// Build a custom config using zap
- cfg := getDefaultConfig(outputType, level, defaultFields)
+ cfg = getDefaultConfig(outputType, level, defaultFields)
l, err := cfg.Build()
if err != nil {
@@ -130,6 +132,25 @@
return defaultLogger, nil
}
+func SetLoglevel(level int) {
+ switch level {
+ case DebugLevel:
+ cfg.Level.SetLevel(zc.DebugLevel)
+ case InfoLevel:
+ cfg.Level.SetLevel(zc.InfoLevel)
+ case WarnLevel:
+ cfg.Level.SetLevel(zc.WarnLevel)
+ case ErrorLevel:
+ cfg.Level.SetLevel(zc.ErrorLevel)
+ case PanicLevel:
+ cfg.Level.SetLevel(zc.PanicLevel)
+ case FatalLevel:
+ cfg.Level.SetLevel(zc.FatalLevel)
+ default:
+ cfg.Level.SetLevel(zc.ErrorLevel)
+ }
+}
+
// CleanUp flushed any buffered log entries. Applications should take care to call
// CleanUp before exiting.
func CleanUp() error {