类 LogRetentionService
java.lang.Object
net.sohelp.boot.demo.core.task.LogRetentionService
操作日志留存服务
等保2.0合规要求(分级保留策略):
- 普通操作日志(is_important=0):主表保留 ≥ 6个月(180天),归档保留 2年
- 重要操作日志(is_important=1):主表保留 ≥ 1年(365天),归档保留 3年
重要操作包括:权限变更、角色分配、系统配置修改、菜单变更等高风险操作,
通过 @OperationLog(important = true) 标记。
数据分层: 在线(主表 pb_operation_record) :最近 90 天,供日常查询 近线(归档表 pb_operation_record_archive) :90天 ~ 2~3年,供审计追溯
执行策略(每日凌晨3点触发):
- 将主表中超过 90 天的日志全量复制到归档表(NOT EXISTS 保证幂等)
- 删除主表中普通日志(is_important=0)超过 180 天的记录
- 删除主表中重要日志(is_important=1)超过 365 天的记录
- 清理归档表中普通日志超过 730 天(2年)的记录
- 清理归档表中重要日志超过 1095 天(3年)的记录
- 从以下版本开始:
- 2026-03-23
- 作者:
- AaronFung
-
构造器概要
构造器 -
方法概要
-
构造器详细资料
-
LogRetentionService
public LogRetentionService()
-
-
方法详细资料
-
runDailyRetention
@Scheduled(cron="0 0 3 * * ?") public void runDailyRetention()每日凌晨3点执行日志归档和清理
-