From 42c005bf25ae71f4c85d70aeb7ec15ebbeeacf40 Mon Sep 17 00:00:00 2001 From: MURAOKA Taro Date: Wed, 15 Apr 2020 12:55:32 +0900 Subject: [PATCH] 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`. --- engine.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/engine.go b/engine.go index 7399f41a..fe641ef3 100644 --- a/engine.go +++ b/engine.go @@ -143,10 +143,10 @@ func (engine *Engine) Logger() log.ContextLogger { func (engine *Engine) SetLogger(logger interface{}) { var realLogger log.ContextLogger switch t := logger.(type) { - case log.Logger: - realLogger = log.NewLoggerAdapter(t) case log.ContextLogger: realLogger = t + case log.Logger: + realLogger = log.NewLoggerAdapter(t) } engine.logger = realLogger engine.DB().Logger = realLogger