You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by rp...@apache.org on 2016/03/04 15:23:18 UTC

[40/50] [abbrv] logging-log4j2 git commit: LOG4J2-1306 - JeroMqAppender should use ShutdownCallbackRegistry instead of runtime hooks

LOG4J2-1306 - JeroMqAppender should use ShutdownCallbackRegistry instead of runtime hooks


Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/a6af67c5
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/a6af67c5
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/a6af67c5

Branch: refs/heads/LOG4J2-1278-gc-free-logger
Commit: a6af67c5d6faee5b4d422add674e4c518c33d528
Parents: aaf734c
Author: Matt Sicker <bo...@gmail.com>
Authored: Wed Mar 2 21:24:06 2016 -0600
Committer: Matt Sicker <bo...@gmail.com>
Committed: Wed Mar 2 21:24:06 2016 -0600

----------------------------------------------------------------------
 .../log4j/core/appender/mom/jeromq/JeroMqAppender.java    | 10 +++++-----
 src/changes/changes.xml                                   |  3 +++
 2 files changed, 8 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/a6af67c5/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/mom/jeromq/JeroMqAppender.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/mom/jeromq/JeroMqAppender.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/mom/jeromq/JeroMqAppender.java
index 99968e4..058427f 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/mom/jeromq/JeroMqAppender.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/mom/jeromq/JeroMqAppender.java
@@ -22,6 +22,7 @@ import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
 
+import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
 import org.apache.logging.log4j.core.Filter;
 import org.apache.logging.log4j.core.Layout;
@@ -34,7 +35,7 @@ import org.apache.logging.log4j.core.config.plugins.PluginElement;
 import org.apache.logging.log4j.core.config.plugins.PluginFactory;
 import org.apache.logging.log4j.core.config.plugins.validation.constraints.Required;
 import org.apache.logging.log4j.core.layout.PatternLayout;
-import org.apache.logging.log4j.core.util.Log4jThread;
+import org.apache.logging.log4j.core.util.ShutdownCallbackRegistry;
 import org.apache.logging.log4j.status.StatusLogger;
 import org.apache.logging.log4j.util.PropertiesUtil;
 import org.apache.logging.log4j.util.Strings;
@@ -93,14 +94,13 @@ public final class JeroMqAppender extends AbstractAppender {
         context = ZMQ.context(ioThreads);
         logger.trace("{} created ZMQ context {}", simpleName, context);
         if (enableShutdownHook) {
-            final Thread hook = new Log4jThread(simpleName + "-shutdown") {
+            logger.trace("{} adding shutdown hook", simpleName);
+            ((ShutdownCallbackRegistry) LogManager.getFactory()).addShutdownCallback(new Runnable() {
                 @Override
                 public void run() {
                     shutdown();
                 }
-            };
-            logger.trace("{} adding shutdown hook {}", simpleName, hook);
-            Runtime.getRuntime().addShutdownHook(hook);
+            });
         }
     }
 

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/a6af67c5/src/changes/changes.xml
----------------------------------------------------------------------
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 80a67f7..aa6581c 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -187,6 +187,9 @@
       <action issue="LOG4J2-1227" dev="mattsicker" type="fix" due-to="Olivier Lemasle">
         NullPointerException in MapLookup.lookup is the event is null.
       </action>
+      <action issue="LOG4J2-1306" dev="mattsicker" type="update">
+        JeroMqAppender should use ShutdownCallbackRegistry instead of runtime hooks.
+      </action>
     </release>
     <release version="2.5" date="2015-12-06" description="GA Release 2.5">
       <action issue="LOG4J2-324" dev="rpopma" type="fix">