C rmr context is now protected. Stabilizes rmr usage with multithreads
[ric-plt/xapp-frame.git] / pkg / xapp / logger.go
index 484df2c..5009354 100755 (executable)
@@ -20,7 +20,9 @@
 package xapp
 
 import (
+       "fmt"
        mdclog "gerrit.o-ran-sc.org/r/com/golog"
+       "time"
 )
 
 type Log struct {
@@ -43,17 +45,38 @@ func (l *Log) SetMdc(key string, value string) {
 }
 
 func (l *Log) Error(pattern string, args ...interface{}) {
+       if l.logger.LevelGet() < mdclog.ERR {
+               return
+       }
+       l.SetMdc("time", timeFormat())
        l.logger.Error(pattern, args...)
 }
 
 func (l *Log) Warn(pattern string, args ...interface{}) {
+       if l.logger.LevelGet() < mdclog.WARN {
+               return
+       }
+       l.SetMdc("time", timeFormat())
        l.logger.Warning(pattern, args...)
 }
 
 func (l *Log) Info(pattern string, args ...interface{}) {
+       if l.logger.LevelGet() < mdclog.INFO {
+               return
+       }
+       l.SetMdc("time", timeFormat())
        l.logger.Info(pattern, args...)
 }
 
 func (l *Log) Debug(pattern string, args ...interface{}) {
+       if l.logger.LevelGet() < mdclog.DEBUG {
+               return
+       }
+       l.SetMdc("time", timeFormat())
        l.logger.Debug(pattern, args...)
 }
+
+func timeFormat() string {
+       t := time.Now()
+       return fmt.Sprintf("%d-%02d-%02dT%02d:%02d:%02d", t.Year(), t.Month(), t.Day(), t.Hour(), t.Minute(), t.Second())
+}