diff options
author | Unknwon <joe2010xtmf@163.com> | 2014-08-27 16:39:36 +0800 |
---|---|---|
committer | Unknwon <joe2010xtmf@163.com> | 2014-08-27 16:39:36 +0800 |
commit | 9baf2b38d025eaf1d9bbb10a4616c71813ea7054 (patch) | |
tree | a6b8f31a638f2ca286e2c99e1c43c48e59e9c9c6 /modules/log | |
parent | 50de06056be67ab8433fa796608e38004f2e8733 (diff) |
Bug fix on organization
Diffstat (limited to 'modules/log')
-rw-r--r-- | modules/log/file.go | 10 | ||||
-rw-r--r-- | modules/log/log.go | 8 |
2 files changed, 14 insertions, 4 deletions
diff --git a/modules/log/file.go b/modules/log/file.go index 52a2f68c..e9402815 100644 --- a/modules/log/file.go +++ b/modules/log/file.go @@ -210,13 +210,19 @@ func (w *FileLogWriter) DoRotate() error { func (w *FileLogWriter) deleteOldLog() { dir := filepath.Dir(w.Filename) - filepath.Walk(dir, func(path string, info os.FileInfo, err error) error { + filepath.Walk(dir, func(path string, info os.FileInfo, err error) (returnErr error) { + defer func() { + if r := recover(); r != nil { + returnErr = fmt.Errorf("Unable to delete old log '%s', error: %+v", path, r) + } + }() + if !info.IsDir() && info.ModTime().Unix() < (time.Now().Unix()-60*60*24*w.Maxdays) { if strings.HasPrefix(filepath.Base(path), filepath.Base(w.Filename)) { os.Remove(path) } } - return nil + return returnErr }) } diff --git a/modules/log/log.go b/modules/log/log.go index 00f777e7..8f4de1e1 100644 --- a/modules/log/log.go +++ b/modules/log/log.go @@ -225,7 +225,9 @@ func (l *Logger) StartLogger() { select { case bm := <-l.msg: for _, l := range l.outputs { - l.WriteMsg(bm.msg, bm.skip, bm.level) + if err := l.WriteMsg(bm.msg, bm.skip, bm.level); err != nil { + fmt.Println("ERROR, unable to WriteMsg:", err) + } } case <-l.quit: return @@ -247,7 +249,9 @@ func (l *Logger) Close() { if len(l.msg) > 0 { bm := <-l.msg for _, l := range l.outputs { - l.WriteMsg(bm.msg, bm.skip, bm.level) + if err := l.WriteMsg(bm.msg, bm.skip, bm.level); err != nil { + fmt.Println("ERROR, unable to WriteMsg:", err) + } } } else { break |