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 b41820a..b61e038 100644 --- a/src/main/java/org/wltea/analyzer/dic/Dictionary.java +++ b/src/main/java/org/wltea/analyzer/dic/Dictionary.java @@ -53,10 +53,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; /** @@ -80,7 +80,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()); + 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); - } - } + 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); + } + } }