From 949531572bcdbd82f7fede9982a529e8e0d14625 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E6=99=93=E4=B8=9C?= <03131302@163.com> Date: Tue, 20 Nov 2018 21:36:39 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=80=82=E9=85=8Delasticsear?= =?UTF-8?q?ch=206.5.0=20(#615)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 杨晓东 <03131302@163.com> --- pom.xml | 2 +- .../org/wltea/analyzer/dic/Dictionary.java | 4 +- .../java/org/wltea/analyzer/dic/Monitor.java | 4 +- .../analyzer/help/ESPluginLoggerFactory.java | 27 +++++++++ .../analyzer/help/PrefixPluginLogger.java | 48 ++++++++++++++++ .../java/org/wltea/analyzer/help/Sleep.java | 56 ++++++++++--------- 6 files changed, 109 insertions(+), 32 deletions(-) create mode 100644 src/main/java/org/wltea/analyzer/help/ESPluginLoggerFactory.java create mode 100644 src/main/java/org/wltea/analyzer/help/PrefixPluginLogger.java diff --git a/pom.xml b/pom.xml index 12d940b..32fb4e1 100644 --- a/pom.xml +++ b/pom.xml @@ -12,7 +12,7 @@ 2011 - 6.3.0 + 6.5.0 1.8 ${project.basedir}/src/main/assemblies/plugin.xml analysis-ik diff --git a/src/main/java/org/wltea/analyzer/dic/Dictionary.java b/src/main/java/org/wltea/analyzer/dic/Dictionary.java index 33105be..43f7d0e 100644 --- a/src/main/java/org/wltea/analyzer/dic/Dictionary.java +++ b/src/main/java/org/wltea/analyzer/dic/Dictionary.java @@ -51,10 +51,10 @@ import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; import org.elasticsearch.SpecialPermission; import org.elasticsearch.common.io.PathUtils; -import org.elasticsearch.common.logging.ESLoggerFactory; import org.elasticsearch.plugin.analysis.ik.AnalysisIkPlugin; import org.wltea.analyzer.cfg.Configuration; import org.apache.logging.log4j.Logger; +import org.wltea.analyzer.help.ESPluginLoggerFactory; /** @@ -84,7 +84,7 @@ public class Dictionary { */ private Configuration configuration; - private static final Logger logger = ESLoggerFactory.getLogger(Monitor.class.getName()); + private static final Logger logger = ESPluginLoggerFactory.getLogger(Monitor.class.getName()); private static ScheduledExecutorService pool = Executors.newScheduledThreadPool(1); diff --git a/src/main/java/org/wltea/analyzer/dic/Monitor.java b/src/main/java/org/wltea/analyzer/dic/Monitor.java index f820647..a5771ef 100644 --- a/src/main/java/org/wltea/analyzer/dic/Monitor.java +++ b/src/main/java/org/wltea/analyzer/dic/Monitor.java @@ -11,11 +11,11 @@ import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; import org.apache.logging.log4j.Logger; import org.elasticsearch.SpecialPermission; -import org.elasticsearch.common.logging.ESLoggerFactory; +import org.wltea.analyzer.help.ESPluginLoggerFactory; public class Monitor implements Runnable { - private static final Logger logger = ESLoggerFactory.getLogger(Monitor.class.getName()); + private static final Logger logger = ESPluginLoggerFactory.getLogger(Monitor.class.getName()); private static CloseableHttpClient httpclient = HttpClients.createDefault(); /* diff --git a/src/main/java/org/wltea/analyzer/help/ESPluginLoggerFactory.java b/src/main/java/org/wltea/analyzer/help/ESPluginLoggerFactory.java new file mode 100644 index 0000000..5c74b68 --- /dev/null +++ b/src/main/java/org/wltea/analyzer/help/ESPluginLoggerFactory.java @@ -0,0 +1,27 @@ +package org.wltea.analyzer.help; + +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; +import org.apache.logging.log4j.spi.ExtendedLogger; + +public class ESPluginLoggerFactory { + + private ESPluginLoggerFactory() { + } + + static public Logger getLogger(String name) { + return getLogger("", LogManager.getLogger(name)); + } + + static public Logger getLogger(String prefix, String name) { + return getLogger(prefix, LogManager.getLogger(name)); + } + + static public Logger getLogger(String prefix, Class clazz) { + return getLogger(prefix, LogManager.getLogger(clazz.getName())); + } + + static public Logger getLogger(String prefix, Logger logger) { + return (Logger)(prefix != null && prefix.length() != 0 ? new PrefixPluginLogger((ExtendedLogger)logger, logger.getName(), prefix) : logger); + } +} diff --git a/src/main/java/org/wltea/analyzer/help/PrefixPluginLogger.java b/src/main/java/org/wltea/analyzer/help/PrefixPluginLogger.java new file mode 100644 index 0000000..56f2140 --- /dev/null +++ b/src/main/java/org/wltea/analyzer/help/PrefixPluginLogger.java @@ -0,0 +1,48 @@ +package org.wltea.analyzer.help; + +import org.apache.logging.log4j.Level; +import org.apache.logging.log4j.Marker; +import org.apache.logging.log4j.MarkerManager; +import org.apache.logging.log4j.message.Message; +import org.apache.logging.log4j.message.MessageFactory; +import org.apache.logging.log4j.spi.ExtendedLogger; +import org.apache.logging.log4j.spi.ExtendedLoggerWrapper; + +import java.util.WeakHashMap; + +public class PrefixPluginLogger extends ExtendedLoggerWrapper { + private static final WeakHashMap markers = new WeakHashMap(); + private final Marker marker; + + static int markersSize() { + return markers.size(); + } + + public String prefix() { + return this.marker.getName(); + } + + PrefixPluginLogger(ExtendedLogger logger, String name, String prefix) { + super(logger, name, (MessageFactory) null); + String actualPrefix = prefix == null ? "" : prefix; + WeakHashMap var6 = markers; + MarkerManager.Log4jMarker actualMarker; + synchronized (markers) { + MarkerManager.Log4jMarker maybeMarker = (MarkerManager.Log4jMarker) markers.get(actualPrefix); + if (maybeMarker == null) { + actualMarker = new MarkerManager.Log4jMarker(actualPrefix); + markers.put(new String(actualPrefix), actualMarker); + } else { + actualMarker = maybeMarker; + } + } + + this.marker = (Marker) actualMarker; + } + + public void logMessage(String fqcn, Level level, Marker marker, Message message, Throwable t) { + assert marker == null; + + super.logMessage(fqcn, level, this.marker, message, t); + } +} \ No newline at end of file diff --git a/src/main/java/org/wltea/analyzer/help/Sleep.java b/src/main/java/org/wltea/analyzer/help/Sleep.java index 94a2278..b6ef110 100644 --- a/src/main/java/org/wltea/analyzer/help/Sleep.java +++ b/src/main/java/org/wltea/analyzer/help/Sleep.java @@ -1,36 +1,38 @@ package org.wltea.analyzer.help; import org.apache.logging.log4j.Logger; -import org.elasticsearch.common.logging.ESLoggerFactory; public class Sleep { - private static final Logger logger = ESLoggerFactory.getLogger(Sleep.class.getName()); - - public enum Type{MSEC,SEC,MIN,HOUR}; - public static void sleep(Type type,int num){ - try { - switch(type){ - case MSEC: - Thread.sleep(num); - return; - case SEC: - Thread.sleep(num*1000); - return; - case MIN: - Thread.sleep(num*60*1000); - return; - case HOUR: - Thread.sleep(num*60*60*1000); - return; - default: - System.err.println("输入类型错误,应为MSEC,SEC,MIN,HOUR之一"); - return; - } - } catch (InterruptedException e) { - logger.error(e.getMessage(), e); - } - } + private static final Logger logger = ESPluginLoggerFactory.getLogger(Sleep.class.getName()); + + public enum Type {MSEC, SEC, MIN, HOUR} + + ; + + public static void sleep(Type type, int num) { + try { + switch (type) { + case MSEC: + Thread.sleep(num); + return; + case SEC: + Thread.sleep(num * 1000); + return; + case MIN: + Thread.sleep(num * 60 * 1000); + return; + case HOUR: + Thread.sleep(num * 60 * 60 * 1000); + return; + default: + System.err.println("输入类型错误,应为MSEC,SEC,MIN,HOUR之一"); + return; + } + } catch (InterruptedException e) { + logger.error(e.getMessage(), e); + } + } } -- GitLab