50 lines
1.1 KiB
Markdown
50 lines
1.1 KiB
Markdown
# Rotate Hook
|
|
|
|
This is a simple hook for logrus [logrus](https://git.corp.kornet35.ru/gopkg/logrus) to write log files using [gopkg/lumberjack](https://git.corp.kornet35.ru/gopkg/lumberjack)
|
|
|
|
## Usage
|
|
|
|
```go
|
|
import (
|
|
"git.corp.kornet35.ru/gopkg/logrus"
|
|
"git.corp.kornet35.ru/gopkg/nested"
|
|
"git.corp.kornet35.ru/gopkg/rotatehook"
|
|
"github.com/mattn/go-colorable"
|
|
)
|
|
|
|
log := &logrus.Logger{
|
|
Out: colorable.NewColorableStdout(),
|
|
Formatter: &nested.Formatter{
|
|
TimestampFormat: "2006-01-02 15:04:05",
|
|
HideKeys: true,
|
|
},
|
|
Hooks: make(logrus.LevelHooks),
|
|
Level: logrus.InfoLevel,
|
|
}
|
|
|
|
hook := rotatehook.NewRotateHook(&rotatehook.Config{
|
|
Filename: "debug.log",
|
|
MaxSize: 5,
|
|
MaxAge: 30,
|
|
MaxBackups: 10,
|
|
LocalTime: true,
|
|
Compress: true,
|
|
FileMode: 0o644,
|
|
Formatter: &nested.Formatter{
|
|
TimestampFormat: "2006-01-02 15:04:05",
|
|
HideKeys: true,
|
|
NoColors: true,
|
|
},
|
|
Level: logrus.DebugLevel,
|
|
Enabled: true,
|
|
})
|
|
|
|
log.AddHook(hook)
|
|
|
|
log.Infoln("just info message")
|
|
log.Debugln("first debug message")
|
|
|
|
hook.SetEnabled(false)
|
|
log.Debugln("second debug message")
|
|
```
|