...
1 package zap
2
3 import (
4 "github.com/go-kit/log"
5 "go.uber.org/zap"
6 "go.uber.org/zap/zapcore"
7 )
8
9 type zapSugarLogger func(msg string, keysAndValues ...interface{})
10
11 func (l zapSugarLogger) Log(kv ...interface{}) error {
12 l("", kv...)
13 return nil
14 }
15
16
17
18 func NewZapSugarLogger(logger *zap.Logger, level zapcore.Level) log.Logger {
19 sugarLogger := logger.WithOptions(zap.AddCallerSkip(2)).Sugar()
20 var sugar zapSugarLogger
21 switch level {
22 case zapcore.DebugLevel:
23 sugar = sugarLogger.Debugw
24 case zapcore.InfoLevel:
25 sugar = sugarLogger.Infow
26 case zapcore.WarnLevel:
27 sugar = sugarLogger.Warnw
28 case zapcore.ErrorLevel:
29 sugar = sugarLogger.Errorw
30 case zapcore.DPanicLevel:
31 sugar = sugarLogger.DPanicw
32 case zapcore.PanicLevel:
33 sugar = sugarLogger.Panicw
34 case zapcore.FatalLevel:
35 sugar = sugarLogger.Fatalw
36 default:
37 sugar = sugarLogger.Infow
38 }
39 return sugar
40 }
41
View as plain text