...

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

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

     1  // Package logrusadapter provides a logger that writes to a github.com/sirupsen/logrus.Logger
     2  // log.
     3  package logrusadapter
     4  
     5  import (
     6  	"context"
     7  
     8  	"github.com/jackc/pgx/v4"
     9  	"github.com/sirupsen/logrus"
    10  )
    11  
    12  type Logger struct {
    13  	l logrus.FieldLogger
    14  }
    15  
    16  func NewLogger(l logrus.FieldLogger) *Logger {
    17  	return &Logger{l: l}
    18  }
    19  
    20  func (l *Logger) Log(ctx context.Context, level pgx.LogLevel, msg string, data map[string]interface{}) {
    21  	var logger logrus.FieldLogger
    22  	if data != nil {
    23  		logger = l.l.WithFields(data)
    24  	} else {
    25  		logger = l.l
    26  	}
    27  
    28  	switch level {
    29  	case pgx.LogLevelTrace:
    30  		logger.WithField("PGX_LOG_LEVEL", level).Debug(msg)
    31  	case pgx.LogLevelDebug:
    32  		logger.Debug(msg)
    33  	case pgx.LogLevelInfo:
    34  		logger.Info(msg)
    35  	case pgx.LogLevelWarn:
    36  		logger.Warn(msg)
    37  	case pgx.LogLevelError:
    38  		logger.Error(msg)
    39  	default:
    40  		logger.WithField("INVALID_PGX_LOG_LEVEL", level).Error(msg)
    41  	}
    42  }
    43  

View as plain text