gorm默认打印的是错误和慢sql,可以自定义显示日志的等级。
全局 在gorm.config去添加
package main
import (
"gorm.io/driver/mysql"
"gorm.io/gorm"
"gorm.io/gorm/logger"
"gorm.io/gorm/schema"
)
type Student struct {
ID uint
StudentName string
Age int
}
var DB *gorm.DB
func init() {
dsn := "root:7PXjAkY!&nlR@tcp(192.168.11.128:3306)/test?charset=utf8mb4&parseTime=True&loc=Local&timeout=10s"
var mysqlLogger logger.Interface
mysqlLogger = logger.Default.LogMode(logger.Info)
db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{
NamingStrategy: schema.NamingStrategy{
TablePrefix: "f_", //表名前缀,都加上f_
SingularTable: true, //单数表名
NoLowerCase: false, //不要小写转换
},
SkipDefaultTransaction: true,
Logger: mysqlLogger,
})
if err != nil {
panic("数据库连接失败,err=" + err.Error())
}
//连接成功
DB = db
}
func main() {
DB.AutoMigrate(&Student{})
}
第二种写日志的功能 创建session 在session里面去添加
package main
import (
"gorm.io/driver/mysql"
"gorm.io/gorm"
"gorm.io/gorm/logger"
"gorm.io/gorm/schema"
)
type Student struct {
ID uint
StudentName string
Age int
}
var DB *gorm.DB
var mysqlLogger logger.Interface
func init() {
dsn := "root:7PXjAkY!&nlR@tcp(192.168.11.128:3306)/test?charset=utf8mb4&parseTime=True&loc=Local&timeout=10s"
mysqlLogger = logger.Default.LogMode(logger.Info)
db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{
NamingStrategy: schema.NamingStrategy{
TablePrefix: "f_", //表名前缀,都加上f_
SingularTable: true, //单数表名
NoLowerCase: false, //不要小写转换
},
SkipDefaultTransaction: true,
})
if err != nil {
panic("数据库连接失败,err=" + err.Error())
}
//连接成功
DB = db
}
func main() {
DB := DB.Session(&gorm.Session{
Logger: mysqlLogger,
})
DB.AutoMigrate(&Student{})
}
第三种 debug
func main() {
DB.Debug().AutoMigrate(&Student{})
}