From b07b1a7f1e2b5f455610de51ce2d71068846089a Mon Sep 17 00:00:00 2001 From: "1437892690@qq.com" <1437892690@qq.com> Date: Sat, 20 Sep 2025 14:47:40 +0800 Subject: [PATCH] =?UTF-8?q?[=E5=8A=9F=E8=83=BD]=20=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E8=B0=83=E7=94=A8=E8=AE=B0=E5=BD=95=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 关联 #[1514501688492032]接口调用记录优化 http://192.168.0.96:8090/demo/rdm.html#/story-detail/939050947543040/939050947543042/1514501688492032 --- .../neatlogic/framework/file/core/Event.java | 16 ++++------ .../neatlogic/framework/file/core/IEvent.java | 2 +- .../file/core/appender/AppenderManager.java | 30 +++++++------------ 3 files changed, 16 insertions(+), 32 deletions(-) diff --git a/src/main/java/neatlogic/framework/file/core/Event.java b/src/main/java/neatlogic/framework/file/core/Event.java index 1916dcb46..a7280990e 100644 --- a/src/main/java/neatlogic/framework/file/core/Event.java +++ b/src/main/java/neatlogic/framework/file/core/Event.java @@ -16,9 +16,6 @@ along with this program. If not, see .*/ package neatlogic.framework.file.core; import com.alibaba.fastjson.JSONObject; -import neatlogic.framework.asynchronization.thread.NeatLogicThread; -import neatlogic.framework.file.core.appender.Appender; -import neatlogic.framework.file.core.appender.AppenderManager; import java.util.function.Consumer; @@ -28,7 +25,7 @@ import java.util.function.Consumer; * 经典组件(如appenders)的编写者应该知道,某些Event字段是延迟初始化的。因此,希望输出数据以供接收器稍后正确读取的附加程序必须在写出“惰性”字段之前对其进行初始化。 * 有关确切列表,请参阅{@link#prepareForDeferredProcessing()}方法。 */ -public class Event extends NeatLogicThread implements IEvent { +public class Event implements IEvent { /** * 生成此日志记录事件的线程的名称。 */ @@ -54,7 +51,6 @@ public class Event extends NeatLogicThread implements IEvent { private IAuditType auditType; public Event(String name, long timeStamp, JSONObject data, Consumer preProcessor, Consumer postProcessor, IAuditType auditType) { - super("Event"); this.name = name; this.data = data; this.preProcessor = preProcessor; @@ -69,12 +65,6 @@ public class Event extends NeatLogicThread implements IEvent { return name; } - @Override - protected void execute() { - Appender appender = AppenderManager.getAppender(this.auditType); - appender.doAppend(this); - } - @Override public String getThreadName() { if (threadName == null) { @@ -138,6 +128,10 @@ public class Event extends NeatLogicThread implements IEvent { this.beforeAppendFileSize = fileSize; } + public IAuditType getAuditType() { + return auditType; + } + @Override public String toString() { return getFormattedMessage(); diff --git a/src/main/java/neatlogic/framework/file/core/IEvent.java b/src/main/java/neatlogic/framework/file/core/IEvent.java index 201a0f983..d776fde9d 100644 --- a/src/main/java/neatlogic/framework/file/core/IEvent.java +++ b/src/main/java/neatlogic/framework/file/core/IEvent.java @@ -20,7 +20,7 @@ import com.alibaba.fastjson.JSONObject; /** * 事件接口 */ -public interface IEvent extends Runnable { +public interface IEvent { /** * 线程名称 * @return diff --git a/src/main/java/neatlogic/framework/file/core/appender/AppenderManager.java b/src/main/java/neatlogic/framework/file/core/appender/AppenderManager.java index 2551dfaa0..9cb68f779 100644 --- a/src/main/java/neatlogic/framework/file/core/appender/AppenderManager.java +++ b/src/main/java/neatlogic/framework/file/core/appender/AppenderManager.java @@ -16,40 +16,30 @@ along with this program. If not, see .*/ package neatlogic.framework.file.core.appender; import ch.qos.logback.core.util.FileSize; -import neatlogic.framework.asynchronization.thread.NeatLogicThread; +import neatlogic.framework.asynchronization.taskmanager.AsyncTaskManager; import neatlogic.framework.asynchronization.threadlocal.TenantContext; import neatlogic.framework.common.config.Config; +import neatlogic.framework.file.core.Event; import neatlogic.framework.file.core.IAuditType; import neatlogic.framework.file.core.IEvent; import neatlogic.framework.file.core.encoder.PatternLayoutEncoder; import neatlogic.framework.file.core.rolling.FixedWindowRollingPolicy; import neatlogic.framework.file.core.rolling.SizeBasedTriggeringPolicy; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import java.io.File; -import java.util.concurrent.*; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.ConcurrentMap; public class AppenderManager { - private static final Logger logger = LoggerFactory.getLogger(AppenderManager.class); - - private static final ThreadPoolExecutor threadPool = new ThreadPoolExecutor( - 1, 3, - 60L, TimeUnit.SECONDS, - new ArrayBlockingQueue<>(1000), new ThreadPoolExecutor.DiscardPolicy()); - static { - // 如果阻塞队列中没有任务,线程池中活跃线程数降为0 - threadPool.allowCoreThreadTimeOut(true); - } private static ConcurrentMap> appenderCache = new ConcurrentHashMap<>(); - public static void execute(NeatLogicThread command) { - try { - threadPool.execute(command); - } catch (RejectedExecutionException e) { - logger.error(e.getMessage(), e); - } + public static void execute(Event event) { + AsyncTaskManager instance = AsyncTaskManager.getInstance(event.getAuditType().getType().toUpperCase() + "-THREAD", 1, event1 -> { + Appender appender = AppenderManager.getAppender(event1.getAuditType()); + appender.doAppend(event1); + }); + instance.submitTask(event); } public static Appender getAppender(IAuditType auditType) { -- Gitee