最近写项目的时候碰到个问题需要sql调出来看看,然后发现sql被淹没了 ,后面想着把sql输出到文件里这样就不会淹没了,
具体代码
type Writer struct {
}
// 格式化外部组件日志
func (lw Writer) Printf(format string, v ...interface{}) {
fmt.Printf(format, v...)
// 写入文件 这里就是你写入文件的地方
helper.WriteLog()
}
// 初始化gorm
var LWriter Writer
newLogger := logger.New(
LWriter,
logger.Config{
SlowThreshold: 1 * time.Second,
LogLevel: logger.Info,
Colorful: true,
},
)
db, err = gorm.Open(mysql.Open(dsn), Logger: logger.Default.LogMode(logger1),
}, Logger: newLogger,
})
主要是注册gorm的时候用自定义的打印方法 由于他源码是调用的本身自带的Printf方法,所以很简单,自己创建个就好了