package logger
import "gorm.io/gorm/logger"
Index ¶
- Constants
- Variables
- func ExplainSQL(sql string, numericPlaceholder *regexp.Regexp, escaper string, avars ...interface{}) string
- type Config
- type Interface
- type LogLevel
- type Writer
Constants ¶
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" )
Colors
Variables ¶
var ( // Discard logger will print any log to io.Discard Discard = New(log.New(io.Discard, "", log.LstdFlags), Config{}) // Default Default logger Default = New(log.New(os.Stdout, "\r\n", log.LstdFlags), Config{ SlowThreshold: 200 * time.Millisecond, LogLevel: Warn, IgnoreRecordNotFoundError: false, Colorful: true, }) // Recorder logger records running SQL into a recorder instance Recorder = traceRecorder{Interface: Default, BeginAt: time.Now()} // RecorderParamsFilter defaults to no-op, allows to be run-over by a different implementation RecorderParamsFilter = func(ctx context.Context, sql string, params ...interface{}) (string, []interface{}) { return sql, params } )
ErrRecordNotFound record not found error
Functions ¶
func ExplainSQL ¶
func ExplainSQL(sql string, numericPlaceholder *regexp.Regexp, escaper string, avars ...interface{}) string
ExplainSQL generate SQL string with given parameters, the generated SQL is expected to be used in logger, execute it might introduce a SQL injection vulnerability
Types ¶
type Config ¶
type Config struct { SlowThreshold time.Duration Colorful bool IgnoreRecordNotFoundError bool ParameterizedQueries bool LogLevel LogLevel }
Config logger config
type Interface ¶
type Interface interface { LogMode(LogLevel) 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) }
Interface logger interface
func New ¶
New initialize logger
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 Writer ¶
type Writer interface { Printf(string, ...interface{}) }
Writer log writer interface
Source Files ¶
logger.go sql.go
- Version
- v1.26.1 (latest)
- Published
- May 7, 2025
- Platform
- linux/amd64
- Imports
- 14 packages
- Last checked
- 1 week ago –
Tools for package owners.