Browse Source

add logger interface defination#153

pull/156/head
liulei 4 years ago
parent
commit
886965f5cd
  1. 18
      dtmcli/logger/log.go
  2. 12
      dtmcli/logger/logger_test.go

18
dtmcli/logger/log.go

@ -8,13 +8,27 @@ import (
"go.uber.org/zap/zapcore"
)
var logger *zap.SugaredLogger = nil
//var logger *zap.SugaredLogger = nil
var logger Logger = nil
func init() {
InitLog("info")
}
// InitLog is a initialization for a logger
// Logger logger interface
type Logger interface {
Debugf(format string, args ...interface{})
Infof(format string, args ...interface{})
Warnf(format string, args ...interface{})
Errorf(format string, args ...interface{})
}
func WithLogger(log Logger) {
logger = log
}
// InitLog is an initialization for a logger
// level can be: debug info warn error
func InitLog(level string) {
config := zap.NewProductionConfig()

12
dtmcli/logger/logger_test.go

@ -1,6 +1,7 @@
package logger
import (
"github.com/sirupsen/logrus"
"os"
"testing"
)
@ -15,3 +16,14 @@ func TestInitLog(t *testing.T) {
FatalfIf(false, "nothing")
FatalIfError(nil)
}
func TestWithLogger(t *testing.T) {
logger := logrus.New()
WithLogger(logger)
Debugf("a debug msg")
Infof("a info msg")
Warnf("a warn msg")
Errorf("a error msg")
FatalfIf(false, "nothing")
FatalIfError(nil)
}
Loading…
Cancel
Save