...

Source file src/github.com/jackc/pgx/v4/log/kitlogadapter/adapter.go

Documentation: github.com/jackc/pgx/v4/log/kitlogadapter

     1  package kitlogadapter
     2  
     3  import (
     4  	"context"
     5  
     6  	"github.com/go-kit/log"
     7  	kitlevel "github.com/go-kit/log/level"
     8  	"github.com/jackc/pgx/v4"
     9  )
    10  
    11  type Logger struct {
    12  	l log.Logger
    13  }
    14  
    15  func NewLogger(l log.Logger) *Logger {
    16  	return &Logger{l: l}
    17  }
    18  
    19  func (l *Logger) Log(ctx context.Context, level pgx.LogLevel, msg string, data map[string]interface{}) {
    20  	logger := l.l
    21  	for k, v := range data {
    22  		logger = log.With(logger, k, v)
    23  	}
    24  
    25  	switch level {
    26  	case pgx.LogLevelTrace:
    27  		logger.Log("PGX_LOG_LEVEL", level, "msg", msg)
    28  	case pgx.LogLevelDebug:
    29  		kitlevel.Debug(logger).Log("msg", msg)
    30  	case pgx.LogLevelInfo:
    31  		kitlevel.Info(logger).Log("msg", msg)
    32  	case pgx.LogLevelWarn:
    33  		kitlevel.Warn(logger).Log("msg", msg)
    34  	case pgx.LogLevelError:
    35  		kitlevel.Error(logger).Log("msg", msg)
    36  	default:
    37  		logger.Log("INVALID_PGX_LOG_LEVEL", level, "error", msg)
    38  	}
    39  }
    40  

View as plain text