Logger
Gorm提供了一个默认的logger实现,默认情况下日志数据级别为warn,同时输出慢SQL:
Default = New(log.New(os.Stdout, "\r\n", log.LstdFlags), Config{
SlowThreshold: 200 * time.Millisecond, // 慢sql阈值,200ms
LogLevel: Warn, // 日志输出级别
IgnoreRecordNotFoundError: false, // 不忽略记录不存在的错误
Colorful: true, // 彩色输出日志
})
log配置可以全局配置,也可以配置为会话级别:
// 配置全局
db, err := gorm.Open(mysql.Open("test"), &gorm.Config{
Logger: newLogger,
})
// 配置会话
tx := db.Session(&Session{Logger: newLogger})
日志级别
支持Silent、Error、Warn、Info。
自定义Logger
Gorm也支持自定义Logger,需要实现以下接口:
// Interface logger 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)
}
声明:本作品采用署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)进行许可,使用时请注明出处。
Author: mengbin92
Github: mengbin92
cnblogs: 恋水无意