mirror of
https://github.com/TeaOSLab/EdgeAPI.git
synced 2025-11-06 01:50:25 +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