...

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

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

     1  // Package log15adapter provides a logger that writes to a github.com/inconshreveable/log15.Logger
     2  // log.
     3  package log15adapter
     4  
     5  import (
     6  	"context"
     7  
     8  	"github.com/jackc/pgx/v4"
     9  )
    10  
    11  // Log15Logger interface defines the subset of
    12  // github.com/inconshreveable/log15.Logger that this adapter uses.
    13  type Log15Logger interface {
    14  	Debug(msg string, ctx ...interface{})
    15  	Info(msg string, ctx ...interface{})
    16  	Warn(msg string, ctx ...interface{})
    17  	Error(msg string, ctx ...interface{})
    18  	Crit(msg string, ctx ...interface{})
    19  }
    20  
    21  type Logger struct {
    22  	l Log15Logger
    23  }
    24  
    25  func NewLogger(l Log15Logger) *Logger {
    26  	return &Logger{l: l}
    27  }
    28  
    29  func (l *Logger) Log(ctx context.Context, level pgx.LogLevel, msg string, data map[string]interface{}) {
    30  	logArgs := make([]interface{}, 0, len(data))
    31  	for k, v := range data {
    32  		logArgs = append(logArgs, k, v)
    33  	}
    34  
    35  	switch level {
    36  	case pgx.LogLevelTrace:
    37  		l.l.Debug(msg, append(logArgs, "PGX_LOG_LEVEL", level)...)
    38  	case pgx.LogLevelDebug:
    39  		l.l.Debug(msg, logArgs...)
    40  	case pgx.LogLevelInfo:
    41  		l.l.Info(msg, logArgs...)
    42  	case pgx.LogLevelWarn:
    43  		l.l.Warn(msg, logArgs...)
    44  	case pgx.LogLevelError:
    45  		l.l.Error(msg, logArgs...)
    46  	default:
    47  		l.l.Error(msg, append(logArgs, "INVALID_PGX_LOG_LEVEL", level)...)
    48  	}
    49  }
    50  

View as plain text