mirror of
				https://github.com/TeaOSLab/EdgeAPI.git
				synced 2025-11-04 16:00:24 +08:00 
			
		
		
		
	优化节点运行日志清理时间
This commit is contained in:
		@@ -80,6 +80,21 @@ func (this *NodeLogDAO) CreateLog(tx *dbs.Tx, nodeRole nodeconfigs.NodeRole, nod
 | 
				
			|||||||
	return err
 | 
						return err
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// DeleteExpiredLogsWithLevel 清除超出一定日期的某级别日志
 | 
				
			||||||
 | 
					func (this *NodeLogDAO) DeleteExpiredLogsWithLevel(tx *dbs.Tx, level string, days int) error {
 | 
				
			||||||
 | 
						if days <= 0 {
 | 
				
			||||||
 | 
							return errors.New("invalid days '" + strconv.Itoa(days) + "'")
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						date := time.Now().AddDate(0, 0, -days)
 | 
				
			||||||
 | 
						expireDay := timeutil.Format("Ymd", date)
 | 
				
			||||||
 | 
						_, err := this.Query(tx).
 | 
				
			||||||
 | 
							Attr("level", level).
 | 
				
			||||||
 | 
							Where("day<=:day").
 | 
				
			||||||
 | 
							Param("day", expireDay).
 | 
				
			||||||
 | 
							Delete()
 | 
				
			||||||
 | 
						return err
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// DeleteExpiredLogs 清除超出一定日期的日志
 | 
					// DeleteExpiredLogs 清除超出一定日期的日志
 | 
				
			||||||
func (this *NodeLogDAO) DeleteExpiredLogs(tx *dbs.Tx, days int) error {
 | 
					func (this *NodeLogDAO) DeleteExpiredLogs(tx *dbs.Tx, days int) error {
 | 
				
			||||||
	if days <= 0 {
 | 
						if days <= 0 {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -13,7 +13,7 @@ func init() {
 | 
				
			|||||||
	})
 | 
						})
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// 清理节点日志的工具
 | 
					// NodeLogCleanerTask 清理节点日志的任务
 | 
				
			||||||
type NodeLogCleanerTask struct {
 | 
					type NodeLogCleanerTask struct {
 | 
				
			||||||
	duration time.Duration
 | 
						duration time.Duration
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@@ -35,6 +35,12 @@ func (this *NodeLogCleanerTask) Start() {
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func (this *NodeLogCleanerTask) loop() error {
 | 
					func (this *NodeLogCleanerTask) loop() error {
 | 
				
			||||||
	// TODO 30天这个数值改成可以设置
 | 
						// 删除7天以前的info日志
 | 
				
			||||||
	return models.SharedNodeLogDAO.DeleteExpiredLogs(nil, 30)
 | 
						err := models.SharedNodeLogDAO.DeleteExpiredLogsWithLevel(nil, "info", 7)
 | 
				
			||||||
 | 
						if err != nil {
 | 
				
			||||||
 | 
							return err
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						// TODO 14天这个数值改成可以设置
 | 
				
			||||||
 | 
						return models.SharedNodeLogDAO.DeleteExpiredLogs(nil, 14)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user