put ContextLogger in higher priority

SetLogger use `Logger` when give a interface which implements both
ContextLogger and Logger.  Because Go's type `switch` uses prior `case`.
This commit is contained in:
MURAOKA Taro 2020-04-15 12:55:32 +09:00
parent 34dc7f8791
commit 42c005bf25
1 changed files with 2 additions and 2 deletions

View File

@ -143,10 +143,10 @@ func (engine *Engine) Logger() log.ContextLogger {
func (engine *Engine) SetLogger(logger interface{}) { func (engine *Engine) SetLogger(logger interface{}) {
var realLogger log.ContextLogger var realLogger log.ContextLogger
switch t := logger.(type) { switch t := logger.(type) {
case log.Logger:
realLogger = log.NewLoggerAdapter(t)
case log.ContextLogger: case log.ContextLogger:
realLogger = t realLogger = t
case log.Logger:
realLogger = log.NewLoggerAdapter(t)
} }
engine.logger = realLogger engine.logger = realLogger
engine.DB().Logger = realLogger engine.DB().Logger = realLogger