in logger/logger.go [68:100]
func InitLoggerRotate(level, filename string, maxBackups, maxAge, maxSize int, compress bool) error {
// if file path is empty, use default zapLogger, print in console
if len(filename) == 0 {
return nil
}
if level != "info" && level != "warn" && level != "error" {
return fmt.Errorf("log level must be one of info,warn,error")
}
if maxBackups > 100 || maxBackups < 10 {
return fmt.Errorf("log max_backups must be between 10 and 100")
}
if maxAge > 30 || maxAge < 1 {
return fmt.Errorf("log max_age must be between 1 and 30")
}
if maxSize > 500 || maxSize < 100 {
return fmt.Errorf("log max_size must be between 100 and 500")
}
var l = new(zapcore.Level)
if err := l.UnmarshalText([]byte(level)); err != nil {
return err
}
encoder := getEncoder()
writeSync, err := getWriteSyncer(filename, maxBackups, maxAge, maxSize, compress)
if err != nil {
return err
}
core := zapcore.NewCore(encoder, writeSync, l)
rotateLogger := zap.New(core, zap.AddCaller())
zapLogger = rotateLogger
return nil
}