From 5f66ef3f086146fe8505bfb52660d875b57f389e Mon Sep 17 00:00:00 2001 From: zack Date: Mon, 20 May 2019 15:03:34 +0800 Subject: [PATCH] =?UTF-8?q?REPORT-15183=2010.0=E8=BF=9C=E7=A8=8B=E6=97=A5?= =?UTF-8?q?=E5=BF=97=E8=BE=93=E5=87=BA=E6=8E=A5=E5=8F=A3=EF=BC=88=E6=97=A5?= =?UTF-8?q?=E5=BF=97=E5=88=86=E7=B1=BB=E6=8F=92=E4=BB=B6=E9=9C=80=E6=B1=82?= =?UTF-8?q?=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fr/design/fun/DesignerLoggingProcessor.java | 16 ++++++++++++++++ .../impl/AbstractDesignerLoggingProcessor.java | 17 +++++++++++++++++ .../mainframe/socketio/DesignerSocketIO.java | 9 ++++++++- 3 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 designer-base/src/main/java/com/fr/design/fun/DesignerLoggingProcessor.java create mode 100644 designer-base/src/main/java/com/fr/design/fun/impl/AbstractDesignerLoggingProcessor.java diff --git a/designer-base/src/main/java/com/fr/design/fun/DesignerLoggingProcessor.java b/designer-base/src/main/java/com/fr/design/fun/DesignerLoggingProcessor.java new file mode 100644 index 0000000000..bc5540558b --- /dev/null +++ b/designer-base/src/main/java/com/fr/design/fun/DesignerLoggingProcessor.java @@ -0,0 +1,16 @@ +package com.fr.design.fun; + +import com.fr.stable.fun.mark.Immutable; +import com.fr.third.apache.log4j.spi.LoggingEvent; + +public interface DesignerLoggingProcessor extends Immutable { + int CURRENT_LEVEL = 1; + + String XML_TAG = "DesignerLoggingProcessor"; + + /** + * 输出日志对象 + * @param loggingEvent 日志对象 + */ + void printLoggingEvent(LoggingEvent loggingEvent); +} \ No newline at end of file diff --git a/designer-base/src/main/java/com/fr/design/fun/impl/AbstractDesignerLoggingProcessor.java b/designer-base/src/main/java/com/fr/design/fun/impl/AbstractDesignerLoggingProcessor.java new file mode 100644 index 0000000000..177851d9bd --- /dev/null +++ b/designer-base/src/main/java/com/fr/design/fun/impl/AbstractDesignerLoggingProcessor.java @@ -0,0 +1,17 @@ +package com.fr.design.fun.impl; + +import com.fr.design.fun.DesignerLoggingProcessor; +import com.fr.stable.fun.mark.API; + +@API(level = DesignerLoggingProcessor.CURRENT_LEVEL) +public abstract class AbstractDesignerLoggingProcessor implements DesignerLoggingProcessor { + @Override + public int currentAPILevel() { + return CURRENT_LEVEL; + } + + @Override + public int layerIndex() { + return DEFAULT_LAYER_INDEX; + } +} \ No newline at end of file diff --git a/designer-realize/src/main/java/com/fr/design/mainframe/socketio/DesignerSocketIO.java b/designer-realize/src/main/java/com/fr/design/mainframe/socketio/DesignerSocketIO.java index dac28a627a..6af58f8cd3 100644 --- a/designer-realize/src/main/java/com/fr/design/mainframe/socketio/DesignerSocketIO.java +++ b/designer-realize/src/main/java/com/fr/design/mainframe/socketio/DesignerSocketIO.java @@ -3,6 +3,8 @@ package com.fr.design.mainframe.socketio; import com.fr.config.RemoteConfigEvent; import com.fr.decision.webservice.utils.DecisionServiceConstants; import com.fr.design.EnvChangeEntrance; +import com.fr.design.ExtraDesignClassManager; +import com.fr.design.fun.DesignerLoggingProcessor; import com.fr.design.i18n.Toolkit; import com.fr.design.mainframe.DesignerContext; import com.fr.design.mainframe.loghandler.DesignerLogHandler; @@ -46,7 +48,12 @@ public class DesignerSocketIO { if (ArrayUtils.isNotEmpty(objects)) { try { LoggingEvent event = SerializerHelper.deserialize((byte[]) objects[0]); - DesignerLogHandler.getInstance().printLoggingEvent(event); + DesignerLoggingProcessor processor = ExtraDesignClassManager.getInstance().getSingle(DesignerLoggingProcessor.XML_TAG); + if (processor != null) { + processor.printLoggingEvent(event); + }else { + DesignerLogHandler.getInstance().printLoggingEvent(event); + } } catch (Exception e) { FineLoggerFactory.getLogger().error(e.getMessage(), e); }