diff options
Diffstat (limited to 'middleware/roller.go')
-rw-r--r-- | middleware/roller.go | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/middleware/roller.go b/middleware/roller.go new file mode 100644 index 000000000..995cabf91 --- /dev/null +++ b/middleware/roller.go @@ -0,0 +1,27 @@ +package middleware + +import ( + "io" + + "gopkg.in/natefinch/lumberjack.v2" +) + +// LogRoller implements a middleware that provides a rolling logger. +type LogRoller struct { + Filename string + MaxSize int + MaxAge int + MaxBackups int + LocalTime bool +} + +// GetLogWriter returns an io.Writer that writes to a rolling logger. +func (l LogRoller) GetLogWriter() io.Writer { + return &lumberjack.Logger{ + Filename: l.Filename, + MaxSize: l.MaxSize, + MaxAge: l.MaxAge, + MaxBackups: l.MaxBackups, + LocalTime: l.LocalTime, + } +} |