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