Gorm日志设置
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: 恋水无意
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步