| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- package internal
- import (
- "log"
- "os"
- "time"
- "gorm.io/gorm"
- "gorm.io/gorm/logger"
- "log-server/global"
- )
- type DBBASE interface {
- GetLogMode() string
- }
- var Gorm = new(_gorm)
- type _gorm struct{}
- // Config gorm 自定义配置
- // Author [SliverHorn](https://github.com/SliverHorn)
- func (g *_gorm) Config() *gorm.Config {
- config := &gorm.Config{DisableForeignKeyConstraintWhenMigrating: true}
- _default := logger.New(NewWriter(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
- break
- case "pgsql":
- logMode = &global.GVA_CONFIG.Pgsql
- break
- 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)
- }
- return config
- }
|