| 1234567891011121314151617181920212223242526272829 |
- package core
- import (
- "mtp20_assisted/global"
- "os"
- "path"
- "time"
- rotatelogs "github.com/lestrrat-go/file-rotatelogs"
- "go.uber.org/zap/zapcore"
- )
- var FileRotatelogs = new(fileRotatelogs)
- type fileRotatelogs struct{}
- // GetWriteSyncer 获取 zapcore.WriteSyncer
- func (r *fileRotatelogs) GetWriteSyncer(level string) (zapcore.WriteSyncer, error) {
- fileWriter, err := rotatelogs.New(
- path.Join(global.M2A_CONFIG.Zap.Director, "%Y-%m-%d", level+".log"),
- rotatelogs.WithClock(rotatelogs.Local),
- rotatelogs.WithMaxAge(time.Duration(global.M2A_CONFIG.Zap.MaxAge)*24*time.Hour), // 日志留存时间
- rotatelogs.WithRotationTime(time.Hour*24),
- )
- if global.M2A_CONFIG.Zap.LogInConsole {
- return zapcore.NewMultiWriteSyncer(zapcore.AddSync(os.Stdout), zapcore.AddSync(fileWriter)), err
- }
- return zapcore.AddSync(fileWriter), err
- }
|