From b5a07c6ba89dd7aa0903ba09fd3a5059a3318f3b Mon Sep 17 00:00:00 2001 From: JessonChan Date: Tue, 26 Jan 2016 09:20:49 +0800 Subject: [PATCH 1/3] log file name bug fixed this bug happens when daily rotate. ex,when it is 2016-01-22 23:59:59 and need a rotate,the file name should named with 2016-01-22 but named with 2016-01-23(next day) --- logs/file.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/logs/file.go b/logs/file.go index f277317c..e7401922 100644 --- a/logs/file.go +++ b/logs/file.go @@ -127,7 +127,7 @@ func (w *fileLogWriter) WriteMsg(when time.Time, msg string, level int) error { if w.needRotate(len(msg), d) { w.Lock() if w.needRotate(len(msg), d) { - if err := w.doRotate(); err != nil { + if err := w.doRotate(when); err != nil { fmt.Fprintf(os.Stderr, "FileLogWriter(%q): %s\n", w.Filename, err) } @@ -200,7 +200,7 @@ func (w *fileLogWriter) lines() (int, error) { // DoRotate means it need to write file in new file. // new file name like xx.2013-01-01.2.log -func (w *fileLogWriter) doRotate() error { +func (w *fileLogWriter) doRotate(logTime time.Time) error { _, err := os.Lstat(w.Filename) if err != nil { return err @@ -215,7 +215,7 @@ func (w *fileLogWriter) doRotate() error { suffix = ".log" } for ; err == nil && num <= 999; num++ { - fName = filenameOnly + fmt.Sprintf(".%s.%03d%s", time.Now().Format("2006-01-02"), num, suffix) + fName = filenameOnly + fmt.Sprintf(".%s.%03d%s", logTime.Format("2006-01-02"), num, suffix) _, err = os.Lstat(fName) } // return error if the last file checked still existed From f2567bc114f8f01bc2e8493bf13a1a1bcfc72c64 Mon Sep 17 00:00:00 2001 From: JessonChan Date: Tue, 26 Jan 2016 09:29:04 +0800 Subject: [PATCH 2/3] some typo fixed --- logs/console.go | 24 ++++++++++++------------ logs/file.go | 5 +---- 2 files changed, 13 insertions(+), 16 deletions(-) diff --git a/logs/console.go b/logs/console.go index e6da0df9..b717a12e 100644 --- a/logs/console.go +++ b/logs/console.go @@ -35,14 +35,14 @@ func newBrush(color string) brush { } var colors = []brush{ - newBrush("1;37"), // Emergency white - newBrush("1;36"), // Alert cyan - newBrush("1;35"), // Critical magenta - newBrush("1;31"), // Error red - newBrush("1;33"), // Warning yellow - newBrush("1;32"), // Notice green + newBrush("1;37"), // Emergency white + newBrush("1;36"), // Alert cyan + newBrush("1;35"), // Critical magenta + newBrush("1;31"), // Error red + newBrush("1;33"), // Warning yellow + newBrush("1;32"), // Notice green newBrush("1;34"), // Informational blue - newBrush("1;34"), // Debug blue + newBrush("1;34"), // Debug blue } // consoleWriter implements LoggerInterface and writes messages to terminal. @@ -61,12 +61,12 @@ func NewConsole() Logger { } // Init init console logger. -// jsonconfig like '{"level":LevelTrace}'. -func (c *consoleWriter) Init(jsonconfig string) error { - if len(jsonconfig) == 0 { +// jsonConfig like '{"level":LevelTrace}'. +func (c *consoleWriter) Init(jsonConfig string) error { + if len(jsonConfig) == 0 { return nil } - return json.Unmarshal([]byte(jsonconfig), c) + return json.Unmarshal([]byte(jsonConfig), c) } // WriteMsg write message in console. @@ -75,7 +75,7 @@ func (c *consoleWriter) WriteMsg(when time.Time, msg string, level int) error { return nil } msg = formatLogTime(when) + msg - if goos := runtime.GOOS; goos == "windows" { + if runtime.GOOS == "windows" { c.lg.Println(msg) return nil } diff --git a/logs/file.go b/logs/file.go index e7401922..3a042164 100644 --- a/logs/file.go +++ b/logs/file.go @@ -118,19 +118,16 @@ func (w *fileLogWriter) WriteMsg(when time.Time, msg string, level int) error { if level > w.Level { return nil } - //2016/01/12 21:34:33 - // now := time.Now() - d := when.Day() msg = formatLogTime(when) + msg + "\n" if w.Rotate { + d := when.Day() if w.needRotate(len(msg), d) { w.Lock() if w.needRotate(len(msg), d) { if err := w.doRotate(when); err != nil { fmt.Fprintf(os.Stderr, "FileLogWriter(%q): %s\n", w.Filename, err) } - } w.Unlock() } From e11d150e8b989a258c0a99576f7485b879c8a151 Mon Sep 17 00:00:00 2001 From: JessonChan Date: Tue, 26 Jan 2016 09:35:39 +0800 Subject: [PATCH 3/3] replace \t with space --- logs/console.go | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/logs/console.go b/logs/console.go index b717a12e..10d8e8b2 100644 --- a/logs/console.go +++ b/logs/console.go @@ -35,14 +35,14 @@ func newBrush(color string) brush { } var colors = []brush{ - newBrush("1;37"), // Emergency white - newBrush("1;36"), // Alert cyan - newBrush("1;35"), // Critical magenta - newBrush("1;31"), // Error red - newBrush("1;33"), // Warning yellow - newBrush("1;32"), // Notice green - newBrush("1;34"), // Informational blue - newBrush("1;34"), // Debug blue + newBrush("1;37"), // Emergency white + newBrush("1;36"), // Alert cyan + newBrush("1;35"), // Critical magenta + newBrush("1;31"), // Error red + newBrush("1;33"), // Warning yellow + newBrush("1;32"), // Notice green + newBrush("1;34"), // Informational blue + newBrush("1;34"), // Debug blue } // consoleWriter implements LoggerInterface and writes messages to terminal.