...

Source file src/github.com/go-kit/kit/log/zap/zap_sugar_logger.go

Documentation: github.com/go-kit/kit/log/zap

     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  // NewZapSugarLogger returns a Go kit log.Logger that sends
    17  // log events to a zap.Logger.
    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