golang使用gorm初始化全局db对象,并设置日志级别
package initialize import ( "fmt" "gorm.io/driver/mysql" "gorm.io/gorm" "gorm.io/gorm/logger" "gorm.io/gorm/schema" "log" "os" "shop_srvs/order_srv/global" "time" ) func InitDb() { newLogger := logger.New( log.New(os.Stdout, "\r\n", log.LstdFlags), // io writer(日志输出的目标,前缀和日志包含的内容——译者注) logger.Config{ SlowThreshold: time.Second, // 慢 SQL 阈值 LogLevel: logger.Info, // 日志级别 IgnoreRecordNotFoundError: true, // 忽略ErrRecordNotFound(记录未找到)错误 Colorful: true, // 禁用彩色打印 }, ) //dsn := "root:root@tcp(192.168.0.104:3306)/shop_goods_srv?charset=utf8mb4&parseTime=True&loc=Local" c := global.ServerConfig.Mysql dsn := fmt.Sprintf("%s:%s@tcp(%s:%d)/%s?charset=utf8mb4&parseTime=True&loc=Local", c.User, c.Pwd, c.Host, c.Port, c.Database) var err error global.Db, err = gorm.Open(mysql.Open(dsn), &gorm.Config{ NamingStrategy: schema.NamingStrategy{ SingularTable: true, }, Logger: newLogger, }) if err != nil { panic("failed to connect database") } fmt.Println("数据库初始化成功") }
发表评论