123456789101112131415161718192021222324252627282930313233 |
- package logx
- type LogRotationRuleType int
- const (
- LogRotationRuleTypeDaily LogRotationRuleType = iota
- LogRotationRuleTypeSizeLimit
- )
- // A LogConf is a logging config.
- type LogConf struct {
- ServiceName string `json:",optional"`
- Mode string `json:",default=console,options=[console,file,volume]"`
- Encoding string `json:",default=json,options=[json,plain]"`
- TimeFormat string `json:",optional"`
- Path string `json:",default=logs"`
- Level string `json:",default=info,options=[info,error,severe]"`
- Compress bool `json:",optional"`
- KeepDays int `json:",optional"`
- StackCooldownMillis int `json:",default=100"`
- // MaxBackups represents how many backup log files will be kept. 0 means all files will be kept forever.
- // Only take effect when RotationRuleType is `LogRotationRuleTypeSizeLimit`
- // NOTE: the level of option `KeepDays` will be higher. Even thougth `MaxBackups` sets 0, log files will
- // still be removed if the `KeepDays` limitation is reached.
- MaxBackups int `json:",default=0"`
- // MaxSize represents how much space the writing log file takes up. 0 means no limit. The unit is `MB`.
- // Only take effect when RotationRuleType is `LogRotationRuleTypeSizeLimit`
- MaxSize int `json:",default=0"`
- // RotationRuleType represents the type of log rotation rule. Default is DailyRotateRule.
- // 0: LogRotationRuleTypeDaily
- // 1: LogRotationRuleTypeSizeLimit
- RotationRuleType LogRotationRuleType `json:",default=0,options=[0,1]"`
- }
|