...

Package tracelog

import "github.com/jackc/pgx/v5/tracelog"
Overview
Index

Overview ▾

Package tracelog provides a tracer that acts as a traditional logger.

Index ▾

Constants
type LogLevel
    func LogLevelFromString(s string) (LogLevel, error)
    func (ll LogLevel) String() string
type Logger
type LoggerFunc
    func (f LoggerFunc) Log(ctx context.Context, level LogLevel, msg string, data map[string]interface{})
type TraceLog
    func (tl *TraceLog) TraceBatchEnd(ctx context.Context, conn *pgx.Conn, data pgx.TraceBatchEndData)
    func (tl *TraceLog) TraceBatchQuery(ctx context.Context, conn *pgx.Conn, data pgx.TraceBatchQueryData)
    func (tl *TraceLog) TraceBatchStart(ctx context.Context, conn *pgx.Conn, data pgx.TraceBatchStartData) context.Context
    func (tl *TraceLog) TraceConnectEnd(ctx context.Context, data pgx.TraceConnectEndData)
    func (tl *TraceLog) TraceConnectStart(ctx context.Context, data pgx.TraceConnectStartData) context.Context
    func (tl *TraceLog) TraceCopyFromEnd(ctx context.Context, conn *pgx.Conn, data pgx.TraceCopyFromEndData)
    func (tl *TraceLog) TraceCopyFromStart(ctx context.Context, conn *pgx.Conn, data pgx.TraceCopyFromStartData) context.Context
    func (tl *TraceLog) TracePrepareEnd(ctx context.Context, conn *pgx.Conn, data pgx.TracePrepareEndData)
    func (tl *TraceLog) TracePrepareStart(ctx context.Context, _ *pgx.Conn, data pgx.TracePrepareStartData) context.Context
    func (tl *TraceLog) TraceQueryEnd(ctx context.Context, conn *pgx.Conn, data pgx.TraceQueryEndData)
    func (tl *TraceLog) TraceQueryStart(ctx context.Context, conn *pgx.Conn, data pgx.TraceQueryStartData) context.Context

Package files

tracelog.go

Constants

The values for log levels are chosen such that the zero value means that no log level was specified.

const (
    LogLevelTrace = LogLevel(6)
    LogLevelDebug = LogLevel(5)
    LogLevelInfo  = LogLevel(4)
    LogLevelWarn  = LogLevel(3)
    LogLevelError = LogLevel(2)
    LogLevelNone  = LogLevel(1)
)

type LogLevel

LogLevel represents the pgx logging level. See LogLevel* constants for possible values.

type LogLevel int

func LogLevelFromString

func LogLevelFromString(s string) (LogLevel, error)

LogLevelFromString converts log level string to constant

Valid levels:

trace
debug
info
warn
error
none

func (LogLevel) String

func (ll LogLevel) String() string

type Logger

Logger is the interface used to get log output from pgx.

type Logger interface {
    // Log a message at the given level with data key/value pairs. data may be nil.
    Log(ctx context.Context, level LogLevel, msg string, data map[string]any)
}

type LoggerFunc

LoggerFunc is a wrapper around a function to satisfy the pgx.Logger interface

type LoggerFunc func(ctx context.Context, level LogLevel, msg string, data map[string]interface{})

func (LoggerFunc) Log

func (f LoggerFunc) Log(ctx context.Context, level LogLevel, msg string, data map[string]interface{})

Log delegates the logging request to the wrapped function

type TraceLog

TraceLog implements pgx.QueryTracer, pgx.BatchTracer, pgx.ConnectTracer, and pgx.CopyFromTracer. All fields are required.

type TraceLog struct {
    Logger   Logger
    LogLevel LogLevel
}

func (*TraceLog) TraceBatchEnd

func (tl *TraceLog) TraceBatchEnd(ctx context.Context, conn *pgx.Conn, data pgx.TraceBatchEndData)

func (*TraceLog) TraceBatchQuery

func (tl *TraceLog) TraceBatchQuery(ctx context.Context, conn *pgx.Conn, data pgx.TraceBatchQueryData)

func (*TraceLog) TraceBatchStart

func (tl *TraceLog) TraceBatchStart(ctx context.Context, conn *pgx.Conn, data pgx.TraceBatchStartData) context.Context

func (*TraceLog) TraceConnectEnd

func (tl *TraceLog) TraceConnectEnd(ctx context.Context, data pgx.TraceConnectEndData)

func (*TraceLog) TraceConnectStart

func (tl *TraceLog) TraceConnectStart(ctx context.Context, data pgx.TraceConnectStartData) context.Context

func (*TraceLog) TraceCopyFromEnd

func (tl *TraceLog) TraceCopyFromEnd(ctx context.Context, conn *pgx.Conn, data pgx.TraceCopyFromEndData)

func (*TraceLog) TraceCopyFromStart

func (tl *TraceLog) TraceCopyFromStart(ctx context.Context, conn *pgx.Conn, data pgx.TraceCopyFromStartData) context.Context

func (*TraceLog) TracePrepareEnd

func (tl *TraceLog) TracePrepareEnd(ctx context.Context, conn *pgx.Conn, data pgx.TracePrepareEndData)

func (*TraceLog) TracePrepareStart

func (tl *TraceLog) TracePrepareStart(ctx context.Context, _ *pgx.Conn, data pgx.TracePrepareStartData) context.Context

func (*TraceLog) TraceQueryEnd

func (tl *TraceLog) TraceQueryEnd(ctx context.Context, conn *pgx.Conn, data pgx.TraceQueryEndData)

func (*TraceLog) TraceQueryStart

func (tl *TraceLog) TraceQueryStart(ctx context.Context, conn *pgx.Conn, data pgx.TraceQueryStartData) context.Context