行深善食-项目优化-GORM 日志级别生产切 Warn

GORM 日志级别:生产切 Warn

文件:config/db.go 的 InitGormDB() 函数

把原来的 GORM 初始化那段:

gormDB, err := gorm.Open(mysql.New(mysql.Config{
    DSN: dsn,
}), &gorm.Config{
    Logger: logger.Default.LogMode(logger.Info),
})

改成:

// 按环境切 GORM 日志级别:本地 Info 看 SQL,生产 Warn 只输出慢查询/错误
gormLogLevel := logger.Warn
if env := os.Getenv("APP_ENV"); env == "local" || env == "dev" || env == "development" {
    gormLogLevel = logger.Info
}

gormDB, err := gorm.Open(mysql.New(mysql.Config{
    DSN: dsn,
}), &gorm.Config{
    Logger: logger.Default.LogMode(gormLogLevel),
})

生产环境每条 SQL 都打 Info 级日志,量大了 zap 写盘本身就成了 IO 瓶颈,还会拖慢请求;

Warn 级别下,GORM 只打慢 SQL(默认 >200ms)和错误,正好和你 “核心接口 RT<200ms” 的目标对齐,慢查询自动暴露;

本地开发还是 Info,方便调试。