From ff7fbf92e6a12796cbd4f013030183aabbd9df19 Mon Sep 17 00:00:00 2001 From: caozehui <2427765068@qq.com> Date: Mon, 17 Feb 2025 14:29:35 +0800 Subject: [PATCH] =?UTF-8?q?=E6=97=A5=E5=BF=97=E5=88=A0=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/njcn/gather/system/log/aop/LogAdvice.java | 1 + .../system/log/service/ISysLogAuditService.java | 5 +++++ .../log/service/impl/SysLogAuditServiceImpl.java | 12 ++++++++++++ 3 files changed, 18 insertions(+) diff --git a/system/src/main/java/com/njcn/gather/system/log/aop/LogAdvice.java b/system/src/main/java/com/njcn/gather/system/log/aop/LogAdvice.java index 1eeb8fdc..e71fdc71 100644 --- a/system/src/main/java/com/njcn/gather/system/log/aop/LogAdvice.java +++ b/system/src/main/java/com/njcn/gather/system/log/aop/LogAdvice.java @@ -75,6 +75,7 @@ public class LogAdvice implements ApplicationListener { Object result = null; try { + sysLogAuditService.scheduleRemoveLog(); result = joinPoint.proceed(); addLogToQueue(joinPoint, "".equals(username) ? UserConstant.UNKNOWN_USER_ID : username, LogOperationTypeEnum.OPERATE.getMsg(), 1, LogLevelEnum.INFO.getCode(), 0); } catch (Throwable e) { diff --git a/system/src/main/java/com/njcn/gather/system/log/service/ISysLogAuditService.java b/system/src/main/java/com/njcn/gather/system/log/service/ISysLogAuditService.java index b0aa151e..a1dbc0a2 100644 --- a/system/src/main/java/com/njcn/gather/system/log/service/ISysLogAuditService.java +++ b/system/src/main/java/com/njcn/gather/system/log/service/ISysLogAuditService.java @@ -51,4 +51,9 @@ public interface ISysLogAuditService extends IService { * @return */ Integer getMaxSort(); + + /** + * 按照 一定规则 清除日志 + */ + void scheduleRemoveLog(); } diff --git a/system/src/main/java/com/njcn/gather/system/log/service/impl/SysLogAuditServiceImpl.java b/system/src/main/java/com/njcn/gather/system/log/service/impl/SysLogAuditServiceImpl.java index 7c5018f3..ad4b13e9 100644 --- a/system/src/main/java/com/njcn/gather/system/log/service/impl/SysLogAuditServiceImpl.java +++ b/system/src/main/java/com/njcn/gather/system/log/service/impl/SysLogAuditServiceImpl.java @@ -2,6 +2,7 @@ package com.njcn.gather.system.log.service.impl; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -117,4 +118,15 @@ public class SysLogAuditServiceImpl extends ServiceImpl wrapper = new QueryWrapper<>(); + wrapper.lt("Create_Time", LocalDateTime.now().minusDays(30*6)); + int count = this.count(); + if (count > 1e6) { + wrapper.or().orderByAsc("Create_Time").last("limit "+(count-1e6)); + } + this.remove(wrapper); + } }