优化节点运行日志清理时间

This commit is contained in:
GoEdgeLab
2021-11-01 15:58:58 +08:00
parent cdd03eee29
commit 5124f12125
2 changed files with 24 additions and 3 deletions

View File

@@ -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 {

View File

@@ -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)
} }