Update logging interface
[ric-plt/appmgr.git] / cmd / appmgr / logger.go
index 877bcbe..b8a7475 100755 (executable)
 
 package main
 
-/*
-#cgo CFLAGS: -I/usr/local/include
-#cgo LDFLAGS: -lmdclog
-#
-#include <mdclog/mdclog.h>
-void xAppMgr_mdclog_write(mdclog_severity_t severity, const char *msg) {
-     mdclog_write(severity, "%s", msg);
-}
-*/
-import "C"
-
 import (
-       "fmt"
        "net/http"
        "time"
+       mdclog "gerrit.o-ran-sc.org/r/com/golog"
 )
 
-func mdclog(severity C.mdclog_severity_t, msg string) {
-       msg = fmt.Sprintf("%s:: %s ", time.Now().Format("2019-01-02 15:04:05"), msg)
+type Log struct {
+       logger *mdclog.MdcLogger
+}
+
+func NewLogger(name string) *Log {
+       l, _ := mdclog.InitLogger(name)
+       return &Log{
+               logger: l,
+       }
+}
+
+func (l *Log) SetLevel(level int) {
+       l.logger.LevelSet(mdclog.Level(level))
+}
+
+func (l *Log) SetMdc(key string, value string) {
+       l.logger.MdcAdd(key, value)
+}
+
+func (l *Log) Error(pattern string, args ...interface{}) {
+       l.SetMdc("time", time.Now().Format("2019-01-02 15:04:05"))
+       l.logger.Error(pattern, args...)
+}
+
+func (l *Log) Warn(pattern string, args ...interface{}) {
+       l.SetMdc("time", time.Now().Format("2019-01-02 15:04:05"))
+       l.logger.Warning(pattern, args...)
+}
 
-       C.mdclog_mdc_add(C.CString("XM"), C.CString("1.0.1"))
-       C.xAppMgr_mdclog_write(severity, C.CString(msg))
+func (l *Log) Info(pattern string, args ...interface{}) {
+       l.SetMdc("time", time.Now().Format("2019-01-02 15:04:05"))
+       l.logger.Info(pattern, args...)
 }
 
-func mdclogSetLevel(severity C.mdclog_severity_t) {
-       C.mdclog_level_set(severity)
+func (l *Log) Debug(pattern string, args ...interface{}) {
+       l.SetMdc("time", time.Now().Format("2019-01-02 15:04:05"))
+       l.logger.Debug(pattern, args...)
 }
 
-func Logger(inner http.Handler) http.Handler {
+func LogRestRequests(inner http.Handler) http.Handler {
        return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
                inner.ServeHTTP(w, r)
-               s := fmt.Sprintf("Logger: method=%s url=%s", r.Method, r.URL.RequestURI())
-               mdclog(C.MDCLOG_DEBUG, s)
+               Logger.Info("Logger: method=%s url=%s", r.Method, r.URL.RequestURI())
        })
 }