44 "context"
55 "fmt"
66 "gin-vue-admin/global"
7- "go.uber.org/zap"
87 "gorm.io/gorm/logger"
98 "gorm.io/gorm/utils"
109 "io/ioutil"
@@ -13,11 +12,6 @@ import (
1312 "time"
1413)
1514
16- // writer log writer interface
17- type writer interface {
18- Printf (string , ... interface {})
19- }
20-
2115type config struct {
2216 SlowThreshold time.Duration
2317 Colorful bool
@@ -34,27 +28,27 @@ var (
3428 Recorder = traceRecorder {Interface : Default , BeginAt : time .Now ()}
3529)
3630
37- func New (writer writer , config config ) logger.Interface {
31+ func New (writer logger. Writer , config config ) logger.Interface {
3832 var (
3933 infoStr = "%s\n [info] "
4034 warnStr = "%s\n [warn] "
4135 errStr = "%s\n [error] "
42- traceStr = "%s\n [%.3fms] [rows:%v] %s"
43- traceWarnStr = "%s %s\n [%.3fms] [rows:%v] %s"
44- traceErrStr = "%s %s\n [%.3fms] [rows:%v] %s"
36+ traceStr = "%s\n [%.3fms] [rows:%v] %s\n "
37+ traceWarnStr = "%s %s\n [%.3fms] [rows:%v] %s\n "
38+ traceErrStr = "%s %s\n [%.3fms] [rows:%v] %s\n "
4539 )
4640
4741 if config .Colorful {
4842 infoStr = logger .Green + "%s\n " + logger .Reset + logger .Green + "[info] " + logger .Reset
4943 warnStr = logger .BlueBold + "%s\n " + logger .Reset + logger .Magenta + "[warn] " + logger .Reset
5044 errStr = logger .Magenta + "%s\n " + logger .Reset + logger .Red + "[error] " + logger .Reset
51- traceStr = logger .Green + "%s\n " + logger .Reset + logger .Yellow + "[%.3fms] " + logger .BlueBold + "[rows:%v]" + logger .Reset + " %s"
52- traceWarnStr = logger .Green + "%s " + logger .Yellow + "%s\n " + logger .Reset + logger .RedBold + "[%.3fms] " + logger .Yellow + "[rows:%v]" + logger .Magenta + " %s" + logger .Reset
53- traceErrStr = logger .RedBold + "%s " + logger .MagentaBold + "%s\n " + logger .Reset + logger .Yellow + "[%.3fms] " + logger .BlueBold + "[rows:%v]" + logger .Reset + " %s"
45+ traceStr = logger .Green + "%s\n " + logger .Reset + logger .Yellow + "[%.3fms] " + logger .BlueBold + "[rows:%v]" + logger .Reset + " %s\n "
46+ traceWarnStr = logger .Green + "%s " + logger .Yellow + "%s\n " + logger .Reset + logger .RedBold + "[%.3fms] " + logger .Yellow + "[rows:%v]" + logger .Magenta + " %s\n " + logger .Reset
47+ traceErrStr = logger .RedBold + "%s " + logger .MagentaBold + "%s\n " + logger .Reset + logger .Yellow + "[%.3fms] " + logger .BlueBold + "[rows:%v]" + logger .Reset + " %s\n "
5448 }
5549
56- return & customLogger {
57- writer : writer ,
50+ return & _logger {
51+ Writer : writer ,
5852 config : config ,
5953 infoStr : infoStr ,
6054 warnStr : warnStr ,
@@ -65,43 +59,43 @@ func New(writer writer, config config) logger.Interface {
6559 }
6660}
6761
68- type customLogger struct {
69- writer
62+ type _logger struct {
7063 config
64+ logger.Writer
7165 infoStr , warnStr , errStr string
7266 traceStr , traceErrStr , traceWarnStr string
7367}
7468
7569// LogMode log mode
76- func (c * customLogger ) LogMode (level logger.LogLevel ) logger.Interface {
70+ func (c * _logger ) LogMode (level logger.LogLevel ) logger.Interface {
7771 newLogger := * c
7872 newLogger .LogLevel = level
7973 return & newLogger
8074}
8175
8276// Info print info
83- func (c * customLogger ) Info (ctx context.Context , message string , data ... interface {}) {
77+ func (c * _logger ) Info (ctx context.Context , message string , data ... interface {}) {
8478 if c .LogLevel >= logger .Info {
8579 c .Printf (c .infoStr + message , append ([]interface {}{utils .FileWithLineNum ()}, data ... )... )
8680 }
8781}
8882
8983// Warn print warn messages
90- func (c * customLogger ) Warn (ctx context.Context , message string , data ... interface {}) {
84+ func (c * _logger ) Warn (ctx context.Context , message string , data ... interface {}) {
9185 if c .LogLevel >= logger .Warn {
9286 c .Printf (c .warnStr + message , append ([]interface {}{utils .FileWithLineNum ()}, data ... )... )
9387 }
9488}
9589
9690// Error print error messages
97- func (c * customLogger ) Error (ctx context.Context , message string , data ... interface {}) {
91+ func (c * _logger ) Error (ctx context.Context , message string , data ... interface {}) {
9892 if c .LogLevel >= logger .Error {
9993 c .Printf (c .errStr + message , append ([]interface {}{utils .FileWithLineNum ()}, data ... )... )
10094 }
10195}
10296
10397// Trace print sql message
104- func (c * customLogger ) Trace (ctx context.Context , begin time.Time , fc func () (string , int64 ), err error ) {
98+ func (c * _logger ) Trace (ctx context.Context , begin time.Time , fc func () (string , int64 ), err error ) {
10599 if c .LogLevel > 0 {
106100 elapsed := time .Since (begin )
107101 switch {
@@ -131,35 +125,11 @@ func (c *customLogger) Trace(ctx context.Context, begin time.Time, fc func() (st
131125 }
132126}
133127
134- func (c * customLogger ) Printf (message string , data ... interface {}) {
135- if global .GVA_CONFIG .Mysql .LogZap != "" {
136- switch len (data ) {
137- case 0 :
138- global .GVA_LOG .Info (message )
139- case 1 :
140- global .GVA_LOG .Info ("gorm" , zap .Any ("src" , data [0 ]))
141- case 2 :
142- global .GVA_LOG .Info ("gorm" , zap .Any ("src" , data [0 ]), zap .Any ("duration" , data [1 ]))
143- case 3 :
144- global .GVA_LOG .Info ("gorm" , zap .Any ("src" , data [0 ]), zap .Any ("duration" , data [1 ]), zap .Any ("rows" , data [2 ]))
145- case 4 :
146- global .GVA_LOG .Info ("gorm" , zap .Any ("src" , data [0 ]), zap .Any ("duration" , data [1 ]), zap .Any ("rows" , data [2 ]), zap .Any ("sql" , data [3 ]))
147- }
148- return
149- }
150- switch len (data ) {
151- case 0 :
152- c .writer .Printf (message , "" )
153- case 1 :
154- c .writer .Printf (message , data [0 ])
155- case 2 :
156- c .writer .Printf (message , data [0 ], data [1 ])
157- case 3 :
158- c .writer .Printf (message , data [0 ], data [1 ], data [2 ])
159- case 4 :
160- c .writer .Printf (message , data [0 ], data [1 ], data [2 ], data [3 ])
161- case 5 :
162- c .writer .Printf (message , data [0 ], data [1 ], data [2 ], data [3 ], data [4 ])
128+ func (c * _logger ) Printf (message string , data ... interface {}) {
129+ if global .GVA_CONFIG .Mysql .LogZap {
130+ global .GVA_LOG .Info (fmt .Sprintf (message , data ... ))
131+ } else {
132+ c .Writer .Printf (message , data ... )
163133 }
164134}
165135
0 commit comments