@@ -14,8 +14,8 @@ import (
1414)
1515
1616var (
17- Discard = New (log .New (ioutil .Discard , "" , log .LstdFlags ), GormConfig {})
18- Default = New (log .New (os .Stdout , "\r \n " , log .LstdFlags ), GormConfig {
17+ Discard = New (log .New (ioutil .Discard , "" , log .LstdFlags ), log . New ( ioutil . Discard , "" , log . LstdFlags ), GormConfig {})
18+ Default = New (log .New (os .Stdout , "\r \n " , log .LstdFlags ), log . New ( os . Stdout , " \r \n " , log . LstdFlags ), GormConfig {
1919 SlowThreshold : 200 * time .Millisecond ,
2020 LogLevel : logger .Warn ,
2121 Colorful : true ,
@@ -31,7 +31,7 @@ type traceRecorder struct {
3131 Err error
3232}
3333
34- func New (writer Writer , config GormConfig ) logger.Interface {
34+ func New (writer Writer , gormWriter logger. Writer , config GormConfig ) logger.Interface {
3535 var (
3636 infoStr = "%s\n [info] "
3737 warnStr = "%s\n [warn] "
@@ -52,6 +52,7 @@ func New(writer Writer, config GormConfig) logger.Interface {
5252
5353 return & GormLogger {
5454 Writer : writer ,
55+ gormWriter : gormWriter ,
5556 GormConfig : config ,
5657 infoStr : infoStr ,
5758 warnStr : warnStr ,
@@ -75,6 +76,7 @@ type GormConfig struct {
7576
7677type GormLogger struct {
7778 Writer
79+ gormWriter logger.Writer
7880 GormConfig
7981 infoStr , warnStr , errStr string
8082 traceStr , traceErrStr , traceWarnStr string
@@ -135,16 +137,31 @@ func (g *GormLogger) Trace(ctx context.Context, begin time.Time, fc func() (stri
135137}
136138
137139func (g * GormLogger ) Printf (message string , data ... interface {}) {
140+ if global .GVA_CONFIG .Mysql .LogZap == "Info" && ! global .GVA_CONFIG .Mysql .LogMode {
141+ switch len (data ) {
142+ case 0 :
143+ global .GVA_LOG .Info (message )
144+ case 1 :
145+ global .GVA_LOG .Info ("gorm" , zap .Any ("src" , data [0 ]))
146+ case 2 :
147+ global .GVA_LOG .Info ("gorm" , zap .Any ("src" , data [0 ]), zap .Any ("duration" , data [1 ]))
148+ case 3 :
149+ global .GVA_LOG .Info ("gorm" , zap .Any ("src" , data [0 ]), zap .Any ("duration" , data [1 ]), zap .Any ("rows" , data [2 ]))
150+ case 4 :
151+ 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 ]))
152+ }
153+ return
154+ }
138155 switch len (data ) {
139156 case 0 :
140- global . GVA_LOG . Info (message )
157+ g . gormWriter . Printf (message , "" )
141158 case 1 :
142- global . GVA_LOG . Info ( "gorm" , zap . Any ( "src" , data [0 ]))
159+ g . gormWriter . Printf ( message , data [0 ].( string ))
143160 case 2 :
144- global . GVA_LOG . Info ( "gorm" , zap . Any ( "src" , data [0 ]), zap . Any ( "duration" , data [1 ]))
161+ g . gormWriter . Printf ( message , data [0 ].( string ) , data [1 ].( float64 ))
145162 case 3 :
146- global . GVA_LOG . Info ( "gorm" , zap . Any ( "src" , data [0 ]), zap . Any ( "duration" , data [1 ]), zap . Any ( "rows" , data [2 ]))
163+ g . gormWriter . Printf ( message , data [0 ].( string ) , data [1 ].( float64 ) , data [2 ].( string ))
147164 case 4 :
148- 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 ]))
165+ g . gormWriter . Printf ( message , data [0 ].( string ) , data [1 ].( float64 ) , data [2 ].( string ) , data [3 ].( string ))
149166 }
150167}
0 commit comments