From fc11169ee38c7698e84e4e1af2c3e9f1e847215f Mon Sep 17 00:00:00 2001 From: astaxie Date: Sun, 14 Jun 2015 01:13:34 +0800 Subject: [PATCH 01/10] Revert "fix multiple filters execute issue" --- router.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/router.go b/router.go index 688b227d..ca6d917a 100644 --- a/router.go +++ b/router.go @@ -611,6 +611,9 @@ func (p *ControllerRegistor) ServeHTTP(rw http.ResponseWriter, r *http.Request) if p.enableFilter { if l, ok := p.filters[pos]; ok { for _, filterR := range l { + if filterR.returnOnOutput && w.started { + return true + } if ok, params := filterR.ValidRouter(urlPath); ok { for k, v := range params { context.Input.Params[k] = v From b275d7c6f5800be132a3f37734bf91e693726759 Mon Sep 17 00:00:00 2001 From: astaxie Date: Sun, 14 Jun 2015 01:14:33 +0800 Subject: [PATCH 02/10] Revert "Revert "fix multiple filters execute issue"" --- router.go | 3 --- 1 file changed, 3 deletions(-) diff --git a/router.go b/router.go index ca6d917a..688b227d 100644 --- a/router.go +++ b/router.go @@ -611,9 +611,6 @@ func (p *ControllerRegistor) ServeHTTP(rw http.ResponseWriter, r *http.Request) if p.enableFilter { if l, ok := p.filters[pos]; ok { for _, filterR := range l { - if filterR.returnOnOutput && w.started { - return true - } if ok, params := filterR.ValidRouter(urlPath); ok { for k, v := range params { context.Input.Params[k] = v From 64d4f6518b4558cd1c10a591705ba9ea6471dbd6 Mon Sep 17 00:00:00 2001 From: astaxie Date: Sun, 14 Jun 2015 18:10:10 +0800 Subject: [PATCH 03/10] fix #1213 --- beego.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/beego.go b/beego.go index 9c34c9f9..1ee4c65f 100644 --- a/beego.go +++ b/beego.go @@ -336,7 +336,7 @@ func initBeforeHttpRun() { // this function is for test package init func TestBeegoInit(apppath string) { AppPath = apppath - RunMode = "test" + os.Setenv("BEEGO_RUNMODE", "test") AppConfigPath = filepath.Join(AppPath, "conf", "app.conf") err := ParseConfig() if err != nil && !os.IsNotExist(err) { From ba1232dfafeffd52cd86cb002b61bd44d8e0fdff Mon Sep 17 00:00:00 2001 From: astaxie Date: Sun, 14 Jun 2015 18:35:46 +0800 Subject: [PATCH 04/10] filter should be always the same --- router.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/router.go b/router.go index 688b227d..ca6d917a 100644 --- a/router.go +++ b/router.go @@ -611,6 +611,9 @@ func (p *ControllerRegistor) ServeHTTP(rw http.ResponseWriter, r *http.Request) if p.enableFilter { if l, ok := p.filters[pos]; ok { for _, filterR := range l { + if filterR.returnOnOutput && w.started { + return true + } if ok, params := filterR.ValidRouter(urlPath); ok { for k, v := range params { context.Input.Params[k] = v From 817650aa3341cf9ce21fa9cc416c6c9cf99118e9 Mon Sep 17 00:00:00 2001 From: astaxie Date: Mon, 15 Jun 2015 20:20:37 +0800 Subject: [PATCH 05/10] keep the short name for logs --- logs/log.go | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/logs/log.go b/logs/log.go index 5c94a9d8..a7f45956 100644 --- a/logs/log.go +++ b/logs/log.go @@ -298,21 +298,33 @@ func (bl *BeeLogger) Debug(format string, v ...interface{}) { // // Deprecated: compatibility alias for Warning(), Will be removed in 1.5.0. func (bl *BeeLogger) Warn(format string, v ...interface{}) { - bl.Warning(format, v...) + if LevelWarning > bl.level { + return + } + msg := fmt.Sprintf("[W] "+format, v...) + bl.writerMsg(LevelWarning, msg) } // Log INFO level message. // // Deprecated: compatibility alias for Informational(), Will be removed in 1.5.0. func (bl *BeeLogger) Info(format string, v ...interface{}) { - bl.Informational(format, v...) + if LevelInformational > bl.level { + return + } + msg := fmt.Sprintf("[I] "+format, v...) + bl.writerMsg(LevelInformational, msg) } // Log TRACE level message. // // Deprecated: compatibility alias for Debug(), Will be removed in 1.5.0. func (bl *BeeLogger) Trace(format string, v ...interface{}) { - bl.Debug(format, v...) + if LevelDebug > bl.level { + return + } + msg := fmt.Sprintf("[D] "+format, v...) + bl.writerMsg(LevelDebug, msg) } // flush all chan data. From d629c1d3d0142661c687137fd0ef5aaa3848ecb5 Mon Sep 17 00:00:00 2001 From: astaxie Date: Mon, 15 Jun 2015 20:22:05 +0800 Subject: [PATCH 06/10] change the comments --- logs/log.go | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/logs/log.go b/logs/log.go index a7f45956..49899a48 100644 --- a/logs/log.go +++ b/logs/log.go @@ -295,8 +295,7 @@ func (bl *BeeLogger) Debug(format string, v ...interface{}) { } // Log WARN level message. -// -// Deprecated: compatibility alias for Warning(), Will be removed in 1.5.0. +// compatibility alias for Warning() func (bl *BeeLogger) Warn(format string, v ...interface{}) { if LevelWarning > bl.level { return @@ -306,8 +305,7 @@ func (bl *BeeLogger) Warn(format string, v ...interface{}) { } // Log INFO level message. -// -// Deprecated: compatibility alias for Informational(), Will be removed in 1.5.0. +// compatibility alias for Informational() func (bl *BeeLogger) Info(format string, v ...interface{}) { if LevelInformational > bl.level { return @@ -317,8 +315,7 @@ func (bl *BeeLogger) Info(format string, v ...interface{}) { } // Log TRACE level message. -// -// Deprecated: compatibility alias for Debug(), Will be removed in 1.5.0. +// compatibility alias for Debug() func (bl *BeeLogger) Trace(format string, v ...interface{}) { if LevelDebug > bl.level { return From 0207caab6f3af311b8630ab4d0c74096e1ec3053 Mon Sep 17 00:00:00 2001 From: astaxie Date: Mon, 15 Jun 2015 20:44:14 +0800 Subject: [PATCH 07/10] keep the shortname for logs info/warn/debug --- log.go | 10 +++++----- staticfile.go | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/log.go b/log.go index 5afba8ed..7949ed96 100644 --- a/log.go +++ b/log.go @@ -78,9 +78,9 @@ func Warning(v ...interface{}) { BeeLogger.Warning(generateFmtStr(len(v)), v...) } -// Deprecated: compatibility alias for Warning(), Will be removed in 1.5.0. +// compatibility alias for Warning() func Warn(v ...interface{}) { - Warning(v...) + BeeLogger.Warn(generateFmtStr(len(v)), v...) } func Notice(v ...interface{}) { @@ -92,9 +92,9 @@ func Informational(v ...interface{}) { BeeLogger.Informational(generateFmtStr(len(v)), v...) } -// Deprecated: compatibility alias for Warning(), Will be removed in 1.5.0. +// compatibility alias for Warning() func Info(v ...interface{}) { - Informational(v...) + BeeLogger.Info(generateFmtStr(len(v)), v...) } // Debug logs a message at debug level. @@ -103,7 +103,7 @@ func Debug(v ...interface{}) { } // Trace logs a message at trace level. -// Deprecated: compatibility alias for Warning(), Will be removed in 1.5.0. +// compatibility alias for Warning() func Trace(v ...interface{}) { BeeLogger.Trace(generateFmtStr(len(v)), v...) } diff --git a/staticfile.go b/staticfile.go index 5ab853a3..7c1ed98c 100644 --- a/staticfile.go +++ b/staticfile.go @@ -58,7 +58,7 @@ func serverStaticRouter(ctx *context.Context) { finfo, err := os.Stat(file) if err != nil { if RunMode == "dev" { - Warn(err) + Warn("Can't find the file:", file, err) } http.NotFound(ctx.ResponseWriter, ctx.Request) return From c8f6e0f1560b1ee52d45a5b6b53ad07d2448bf62 Mon Sep 17 00:00:00 2001 From: astaxie Date: Mon, 15 Jun 2015 20:53:49 +0800 Subject: [PATCH 08/10] remove the hardcode in runtime.Caller --- logs/log.go | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/logs/log.go b/logs/log.go index 49899a48..cebbc737 100644 --- a/logs/log.go +++ b/logs/log.go @@ -157,15 +157,12 @@ func (bl *BeeLogger) writerMsg(loglevel int, msg string) error { lm.level = loglevel if bl.enableFuncCallDepth { _, file, line, ok := runtime.Caller(bl.loggerFuncCallDepth) - if _, filename := path.Split(file); filename == "log.go" && (line == 97 || line == 83) { - _, file, line, ok = runtime.Caller(bl.loggerFuncCallDepth + 1) - } - if ok { - _, filename := path.Split(file) - lm.msg = fmt.Sprintf("[%s:%d] %s", filename, line, msg) - } else { - lm.msg = msg + if !ok { + file = "???" + line = 0 } + _, filename := path.Split(file) + lm.msg = fmt.Sprintf("[%s:%d] %s", filename, line, msg) } else { lm.msg = msg } From 8f7246e17b504c858592a28a87e96fa7537a5aaf Mon Sep 17 00:00:00 2001 From: astaxie Date: Mon, 15 Jun 2015 23:49:13 +0800 Subject: [PATCH 09/10] change to version 1.5.0 --- beego.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/beego.go b/beego.go index 1ee4c65f..cfebfbea 100644 --- a/beego.go +++ b/beego.go @@ -37,7 +37,7 @@ import ( ) // beego web framework version. -const VERSION = "1.4.3" +const VERSION = "1.5.0" type hookfunc func() error //hook function to run var hooks []hookfunc //hook function slice to store the hookfunc From f7f390dfecc5d2c37e5457e9789b8962c78a4403 Mon Sep 17 00:00:00 2001 From: astaxie Date: Tue, 16 Jun 2015 14:53:38 +0800 Subject: [PATCH 10/10] fix #1221 --- controller.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/controller.go b/controller.go index 9011593a..a8b9e8d3 100644 --- a/controller.go +++ b/controller.go @@ -527,7 +527,7 @@ func (c *Controller) GetFile(key string) (multipart.File, *multipart.FileHeader, // } // } func (c *Controller) GetFiles(key string) ([]*multipart.FileHeader, error) { - files, ok := c.Ctx.Request.MultipartForm.File["key"] + files, ok := c.Ctx.Request.MultipartForm.File[key] if ok { return files, nil }