From d99ae3e3a2dfcc093d54065f54ec5085e0427f1f Mon Sep 17 00:00:00 2001 From: astaxie Date: Tue, 25 Jun 2013 08:13:06 +0800 Subject: [PATCH] add logrotate's setting for rotate --- log.go | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/log.go b/log.go index d69b2e89..f225f69f 100644 --- a/log.go +++ b/log.go @@ -46,6 +46,30 @@ func NewFileWriter(fname string, rotate bool) *FileLogWriter { return w } +// Set rotate at linecount (chainable). Must be called before call StartLogger +func (w *FileLogWriter) SetRotateLines(maxlines int) *FileLogWriter { + w.maxlines = maxlines + return w +} + +// Set rotate at size (chainable). Must be called before call StartLogger +func (w *FileLogWriter) SetRotateSize(maxsize int) *FileLogWriter { + w.maxsize = maxsize + return w +} + +// Set rotate daily (chainable). Must be called before call StartLogger +func (w *FileLogWriter) SetRotateDaily(daily bool) *FileLogWriter { + w.daily = daily + return w +} + +// Set rotate daily's log keep for maxday,other will delete +func (w *FileLogWriter) SetRotateMaxDay(maxday int64) *FileLogWriter { + w.maxday = maxday + return w +} + func (w *FileLogWriter) StartLogger() error { if err := w.DoRotate(false); err != nil { return err