MCPcopy Create free account
hub / github.com/apache/kvrocks-controller / InitLoggerRotate

Function InitLoggerRotate

logger/logger.go:68–100  ·  view source on GitHub ↗
(level, filename string, maxBackups, maxAge, maxSize int, compress bool)

Source from the content-addressed store, hash-verified

66}
67
68func InitLoggerRotate(level, filename string, maxBackups, maxAge, maxSize int, compress bool) error {
69 // if file path is empty, use default zapLogger, print in console
70 if len(filename) == 0 {
71 return nil
72 }
73 if level != "info" && level != "warn" && level != "error" {
74 return fmt.Errorf("log level must be one of info,warn,error")
75 }
76 if maxBackups > 100 || maxBackups < 10 {
77 return fmt.Errorf("log max_backups must be between 10 and 100")
78 }
79 if maxAge > 30 || maxAge < 1 {
80 return fmt.Errorf("log max_age must be between 1 and 30")
81 }
82 if maxSize > 500 || maxSize < 100 {
83 return fmt.Errorf("log max_size must be between 100 and 500")
84 }
85
86 var l = new(zapcore.Level)
87 if err := l.UnmarshalText([]byte(level)); err != nil {
88 return err
89 }
90 encoder := getEncoder()
91 writeSync, err := getWriteSyncer(filename, maxBackups, maxAge, maxSize, compress)
92 if err != nil {
93 return err
94 }
95 core := zapcore.NewCore(encoder, writeSync, l)
96 rotateLogger := zap.New(core, zap.AddCaller())
97 zapLogger = rotateLogger
98
99 return nil
100}
101
102func Sync() {
103 if zapLogger != nil {

Callers 1

mainFunction · 0.92

Calls 3

getEncoderFunction · 0.85
getWriteSyncerFunction · 0.85
ErrorfMethod · 0.80

Tested by

no test coverage detected