每日清理
This commit is contained in:
@@ -79,10 +79,11 @@ type QueueConfig struct {
|
||||
|
||||
// LoggingConfig 日志配置
|
||||
type LoggingConfig struct {
|
||||
Level string `mapstructure:"level"` // debug, info, warn, error
|
||||
Development bool `mapstructure:"development"` // 启用开发模式(美化输出)
|
||||
AppLog LogRotationConfig `mapstructure:"app_log"` // 应用日志配置
|
||||
AccessLog LogRotationConfig `mapstructure:"access_log"` // HTTP 访问日志配置
|
||||
Level string `mapstructure:"level"` // debug, info, warn, error
|
||||
Development bool `mapstructure:"development"` // 启用开发模式(美化输出)
|
||||
AppLog LogRotationConfig `mapstructure:"app_log"` // 应用日志配置
|
||||
AccessLog LogRotationConfig `mapstructure:"access_log"` // HTTP 访问日志配置
|
||||
RetentionLog LogRotationConfig `mapstructure:"retention_log"` // Worker 日留存日志配置
|
||||
}
|
||||
|
||||
// LogRotationConfig Lumberjack 日志轮转配置
|
||||
@@ -168,7 +169,7 @@ type GatewayConfig struct {
|
||||
type WorkerConfig struct {
|
||||
Role string `mapstructure:"role"` // Worker 运行角色:all、leader、consumer
|
||||
InstanceName string `mapstructure:"instance_name"` // Worker 实例名称,用于多实例日志区分
|
||||
AuditRetentionCleanupEnabled bool `mapstructure:"audit_retention_cleanup_enabled"` // 是否启用审计日志月度物理清理
|
||||
AuditRetentionCleanupEnabled bool `mapstructure:"audit_retention_cleanup_enabled"` // 是否启用审计日志物理清理
|
||||
}
|
||||
|
||||
// ApprovalConfig 审批新旧入口切换配置。
|
||||
@@ -291,12 +292,18 @@ func (c *Config) Validate() error {
|
||||
if c.Logging.AccessLog.Filename == "" {
|
||||
return fmt.Errorf("invalid configuration: logging.access_log.filename: must be non-empty valid file path")
|
||||
}
|
||||
if c.Logging.RetentionLog.Filename == "" {
|
||||
return fmt.Errorf("invalid configuration: logging.retention_log.filename: must be non-empty valid file path")
|
||||
}
|
||||
if c.Logging.AppLog.MaxSize < 1 || c.Logging.AppLog.MaxSize > 1000 {
|
||||
return fmt.Errorf("invalid configuration: logging.app_log.max_size: size out of range (current value: %d, expected: 1-1000 MB)", c.Logging.AppLog.MaxSize)
|
||||
}
|
||||
if c.Logging.AccessLog.MaxSize < 1 || c.Logging.AccessLog.MaxSize > 1000 {
|
||||
return fmt.Errorf("invalid configuration: logging.access_log.max_size: size out of range (current value: %d, expected: 1-1000 MB)", c.Logging.AccessLog.MaxSize)
|
||||
}
|
||||
if c.Logging.RetentionLog.MaxSize < 1 || c.Logging.RetentionLog.MaxSize > 1000 {
|
||||
return fmt.Errorf("invalid configuration: logging.retention_log.max_size: size out of range (current value: %d, expected: 1-1000 MB)", c.Logging.RetentionLog.MaxSize)
|
||||
}
|
||||
|
||||
// 中间件验证
|
||||
if c.Middleware.RateLimiter.Max <= 0 {
|
||||
|
||||
@@ -65,6 +65,12 @@ logging:
|
||||
max_backups: 3
|
||||
max_age: 7
|
||||
compress: true
|
||||
retention_log:
|
||||
filename: "logs/audit-retention.log"
|
||||
max_size: 100
|
||||
max_backups: 3
|
||||
max_age: 7
|
||||
compress: true
|
||||
|
||||
# 任务队列配置
|
||||
queue:
|
||||
@@ -137,7 +143,7 @@ polling_auto_trigger:
|
||||
worker:
|
||||
role: "all"
|
||||
instance_name: ""
|
||||
# 完整自然月灰度验收通过前必须保持关闭
|
||||
# 日留存只读演练验收通过前必须保持关闭
|
||||
audit_retention_cleanup_enabled: false
|
||||
|
||||
# 审批新旧入口切换配置
|
||||
|
||||
@@ -94,6 +94,11 @@ func bindEnvVariables(v *viper.Viper) {
|
||||
"logging.access_log.max_backups",
|
||||
"logging.access_log.max_age",
|
||||
"logging.access_log.compress",
|
||||
"logging.retention_log.filename",
|
||||
"logging.retention_log.max_size",
|
||||
"logging.retention_log.max_backups",
|
||||
"logging.retention_log.max_age",
|
||||
"logging.retention_log.compress",
|
||||
"queue.concurrency",
|
||||
"queue.retry_max",
|
||||
"queue.timeout",
|
||||
|
||||
Reference in New Issue
Block a user