forked from SpectatorNan/gorm-zero
/
config.go
42 lines (38 loc) · 1.02 KB
/
config.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
package gormc
import (
"gorm.io/gorm/logger"
"log"
"os"
"time"
)
type GormLogConfigI interface {
GetGormLogMode() logger.LogLevel
GetSlowThreshold() time.Duration
GetColorful() bool
}
func newDefaultGormLogger(cfg GormLogConfigI) logger.Interface {
newLogger := logger.New(
log.New(os.Stderr, "\r\n", log.LstdFlags), // io writer(日志输出的目标,前缀和日志包含的内容——译者注)
logger.Config{
SlowThreshold: cfg.GetSlowThreshold(), // 慢 SQL 阈值
LogLevel: cfg.GetGormLogMode(), // 日志级别
IgnoreRecordNotFoundError: true, // 忽略ErrRecordNotFound(记录未找到)错误
Colorful: cfg.GetColorful(), // 禁用彩色打印
},
)
return newLogger
}
func overwriteGormLogMode(mode string) logger.LogLevel {
switch mode {
case "dev":
return logger.Info
case "test":
return logger.Warn
case "prod":
return logger.Error
case "silent":
return logger.Silent
default:
return logger.Info
}
}