| | |
| | | package internal |
| | | |
| | | import ( |
| | | "gorm.io/gorm/schema" |
| | | "log" |
| | | "os" |
| | | "time" |
| | | |
| | | "gorm.io/gorm" |
| | | "gorm.io/gorm/logger" |
| | | "gorm.io/gorm/schema" |
| | | "moul.io/zapgorm2" |
| | | "srm/global" |
| | | ) |
| | | |
| | |
| | | }, |
| | | DisableForeignKeyConstraintWhenMigrating: true, |
| | | } |
| | | _default := logger.New(log.New(os.Stdout, "\r\n", log.LstdFlags), logger.Config{ |
| | | SlowThreshold: 200 * time.Millisecond, |
| | | LogLevel: logger.Warn, |
| | | Colorful: true, |
| | | }) |
| | | var logMode DBBASE |
| | | switch global.GVA_CONFIG.System.DbType { |
| | | case "mysql": |
| | | logMode = &global.GVA_CONFIG.Mysql |
| | | case "pgsql": |
| | | logMode = &global.GVA_CONFIG.Pgsql |
| | | case "oracle": |
| | | logMode = &global.GVA_CONFIG.Oracle |
| | | default: |
| | | logMode = &global.GVA_CONFIG.Mysql |
| | | } |
| | | |
| | | switch logMode.GetLogMode() { |
| | | case "silent", "Silent": |
| | | config.Logger = _default.LogMode(logger.Silent) |
| | | case "error", "Error": |
| | | config.Logger = _default.LogMode(logger.Error) |
| | | case "warn", "Warn": |
| | | config.Logger = _default.LogMode(logger.Warn) |
| | | case "info", "Info": |
| | | config.Logger = _default.LogMode(logger.Info) |
| | | default: |
| | | config.Logger = _default.LogMode(logger.Info) |
| | | } |
| | | dbLogger := zapgorm2.New(global.GVA_LOG).LogMode(logger.Info) |
| | | config.Logger = dbLogger |
| | | return config |
| | | } |