gorm

package
v0.1.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 31, 2025 License: Apache-2.0 Imports: 15 Imported by: 0

Documentation

Index

Constants

View Source
const (
	Reset       = "\033[0m"
	Red         = "\033[31m"
	Green       = "\033[32m"
	Yellow      = "\033[33m"
	Blue        = "\033[34m"
	Magenta     = "\033[35m"
	Cyan        = "\033[36m"
	White       = "\033[37m"
	BlueBold    = "\033[34;1m"
	MagentaBold = "\033[35;1m"
	RedBold     = "\033[31;1m"
	YellowBold  = "\033[33;1m"
)

Variables

This section is empty.

Functions

func ErrorDetails

func ErrorDetails(err error) error

func FromCommonsLevel

func FromCommonsLevel(l commons.Logger, level any) logger.LogLevel

func IsDBError

func IsDBError(err error) bool

func IsDeadlockError

func IsDeadlockError(err error) bool

func IsForeignKeyError

func IsForeignKeyError(err error) bool

func NewOopsPlugin

func NewOopsPlugin() gorm.Plugin

func NewSqlLogger

func NewSqlLogger(logger *commons.SlogLogger) logger.Interface

func PGMajorVersion

func PGMajorVersion(db *gorm.DB) (int, error)

PGMajorVersion retrieves the PostgreSQL major version

func ReadTable

func ReadTable(db *gorm.DB, tableName string, clauses ...clause.Expression) ([]map[string]any, error)

ReadTable reads a postgres table when the table model isn't known.

Types

type Config

type Config struct {
	SlowThreshold             time.Duration
	Colorful                  bool
	IgnoreRecordNotFoundError bool
	LogLevel                  int
}

type LogLevel

type LogLevel int

LogLevel log level

const (
	// Silent silent log level
	Silent LogLevel = iota + 1
	// Error error log level
	Error
	// Warn warn log level
	Warn
	// Info info log level
	Info
)

type Logger

type Logger interface {
	LogMode(LogLevel) logger.Interface
	Info(context.Context, string, ...interface{})
	Warn(context.Context, string, ...interface{})
	Error(context.Context, string, ...interface{})
	Trace(ctx context.Context, begin time.Time, fc func() (sql string, rowsAffected int64), err error)
}

type SqlLogger

type SqlLogger struct {
	Config
	commons.Logger
	// contains filtered or unexported fields
}

func (SqlLogger) Error

func (s SqlLogger) Error(ctx context.Context, format string, args ...interface{})

func (SqlLogger) Info

func (s SqlLogger) Info(ctx context.Context, format string, args ...interface{})

func (*SqlLogger) LogMode

func (l *SqlLogger) LogMode(level logger.LogLevel) logger.Interface

func (*SqlLogger) ParamsFilter

func (l *SqlLogger) ParamsFilter(ctx context.Context, sql string, params ...interface{}) (string, []interface{})

ParamsFilter filter params

func (*SqlLogger) Trace

func (l *SqlLogger) Trace(ctx context.Context, begin time.Time, fc func() (string, int64), err error)

Trace print sql message

func (SqlLogger) Warn

func (s SqlLogger) Warn(ctx context.Context, format string, args ...interface{})

func (*SqlLogger) WithLogLevel

func (l *SqlLogger) WithLogLevel(level any) *SqlLogger

func (*SqlLogger) WithLogger

func (l *SqlLogger) WithLogger(name string, level any) *SqlLogger

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL