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