Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/winking324/rzap
easy rotatable zap
https://github.com/winking324/rzap
golang log lumberjack rotate zap
Last synced: 8 days ago
JSON representation
easy rotatable zap
- Host: GitHub
- URL: https://github.com/winking324/rzap
- Owner: winking324
- License: mit
- Created: 2022-01-12T03:59:15.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2024-12-07T09:54:08.000Z (27 days ago)
- Last Synced: 2024-12-07T10:26:03.347Z (27 days ago)
- Topics: golang, log, lumberjack, rotate, zap
- Language: Go
- Homepage:
- Size: 5.86 KB
- Stars: 4
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# rzap
Log rotate for uber-zap
## How to install
`go get github.com/winking324/rzap`
## How to use
``` go
rzap.NewGlobalLogger([]zapcore.Core{
rzap.NewCore(&lumberjack.Logger{
Filename: "/your/log/path/app.log",
MaxSize: 10, // 10 megabytes, defaults to 100 megabytes
MaxAge: 10, // 10 days, default is not to remove old log files
MaxBackups: 10, // 10 files, default is to retain all old log files
Compress: true, // compress to gzio, default is not to perform compression
}, zap.InfoLevel),
})zap.L().Info("some message", zap.Int("status", 0))
```## Log to files at different levels
``` go
rzap.NewGlobalLogger([]zapcore.Core{
rzap.NewCore(&lumberjack.Logger{
Filename: "/path/to/info.log",
}, zap.LevelEnablerFunc(func(level zapcore.Level) bool {
return level <= zap.InfoLevel
})),
rzap.NewCore(&lumberjack.Logger{
Filename: "/path/to/error.log",
}, zap.LevelEnablerFunc(func(level zapcore.Level) bool {
return level > zap.InfoLevel
})),
})zap.L().Info("some info message", zap.Int("status", 0)) // only output to /path/to/info.log
zap.L().Error("some error message", zap.Int("status", 1)) // only output to /path/to/error.log
```