Gorm
使用lumberjack对gorm日志进行分割
·112 字
示例demo # package mysql import ( "log" "github.com/natefinch/lumberjack" "gorm.io/driver/mysql" "gorm.io/gorm" "gorm.io/gorm/logger" ) func InitMySQL() { gormConf := &gorm.Config{ Logger: getLogger(), QueryFields: true, } dsn := "xxxxxxx" db, err := gorm.Open(mysql.Open(dsn), gormConf) //....... } func getLogger() logger.Interface { lg := logger.New(getLogWriter(), logger.Config{ SlowThreshold: 50 * time.Millisecond, Colorful: false, IgnoreRecordNotFoundError: false, LogLevel: logger.Silent, }) return lg } func getLogWriter() logger.Writer { writer := &lumberjack.Logger{ Filename: "xxx", // 日志文件地址 MaxSize: 500, // 500MB MaxBackups: 5, // 分割文件数量 MaxAge: 5, // 保存天数 Compress: false, // 是否压缩日志 } return log.New(writer, "\n", log.LstdFlags) return }
gorm使用问题集
gorm连接被mysql server断开 # 报错如下 # [mysql] 2023/01/11 16:41:19 packets.go:122: closing bad idle connection: EOF 查看MySQL服务器连接超时时间, 28800s(8小时) # mysql> show global variables like 'wait_timeout'; +---------------+-------+ | Variable_name | Value | +---------------+-------+ | wait_timeout | 28800 | +---------------+-------+ 连接池设置 # 默认情况下,gorm客户端最大连接时间为0,即不主动断开连接