有没有办法从https://github.com/jinzhu/gorm获取SQL查询日志?
例如在开发环境中,能够将已调用的mysql查询记录到控制台是有用的 .
例如如何获取以下查询的基础SQL查询日志:
gorm.Find(&todos)
gorm.Preload("User").Find(&todos)
我知道我可以打电话:
gorm.Debug().Find(&todos)
gorm.Debug().Preload("User").Find(&todos)
但是我想在开发环境中只调用 Debug()
而不是 生产环境
2 回答
这样就可以了:
您可以使用gorm.SetLogger方法将自己的 Logger 传递给gorm . 它使用 Logger 的Print方法来打印日志和SQL查询 . 任何 Logger (logrus / go的内置 Logger )的Print方法的日志级别通常设置为INFO . 在将 Logger 传递给gorm时,如果将日志级别设置为低于或等于INFO(DEBUG / INFO),则可以通过gorm查看sql查询和其他日志
您还可以从配置文件中解析日志级别,您可以根据环境对其进行设置