ArchiveEvents 归档事件
(ctx context.Context, before time.Time)
| 783 | |
| 784 | // ArchiveEvents 归档事件 |
| 785 | func (al *InMemoryAuditLog) ArchiveEvents(ctx context.Context, before time.Time) (int64, error) { |
| 786 | al.mu.Lock() |
| 787 | defer al.mu.Unlock() |
| 788 | |
| 789 | var archivedCount int64 |
| 790 | var remainingEvents []AuditEvent |
| 791 | |
| 792 | for _, event := range al.events { |
| 793 | if event.Timestamp.Before(before) { |
| 794 | archivedCount++ |
| 795 | } else { |
| 796 | remainingEvents = append(remainingEvents, event) |
| 797 | } |
| 798 | } |
| 799 | |
| 800 | al.events = remainingEvents |
| 801 | // 更新TotalEvents计数 |
| 802 | al.status.TotalEvents = int64(len(remainingEvents)) |
| 803 | |
| 804 | return archivedCount, nil |
| 805 | } |
| 806 | |
| 807 | // PurgeEvents 清理事件 |
| 808 | func (al *InMemoryAuditLog) PurgeEvents(ctx context.Context, before time.Time) (int64, error) { |