JMX small improvements

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

Branch: refs/heads/LOG4J2-1161
Commit: d7b1a023c9b0127a3d6b887d36563c8da47a4b2f
Parents: a0d9be5
Author: rpopma <rpo...@apache.org>
Authored: Thu Oct 22 00:03:50 2015 +0900
Committer: rpopma <rpo...@apache.org>
Committed: Thu Oct 22 00:03:50 2015 +0900

----------------------------------------------------------------------
 .../log4j/core/async/AsyncLoggerContextSelector.java        | 2 +-
 .../main/java/org/apache/logging/log4j/core/jmx/Server.java | 9 ++++++++-
 .../log4j/core/selector/ClassLoaderContextSelector.java     | 2 +-
 3 files changed, 10 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/d7b1a023/log4j-core/src/main/java/org/apache/logging/log4j/core/async/AsyncLoggerContextSelector.java
----------------------------------------------------------------------
diff --git 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/async/AsyncLoggerContextSelector.java
 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/async/AsyncLoggerContextSelector.java
index 68420a3..83e644c 100644
--- 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/async/AsyncLoggerContextSelector.java
+++ 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/async/AsyncLoggerContextSelector.java
@@ -33,7 +33,7 @@ public class AsyncLoggerContextSelector implements 
ContextSelector {
 
     // LOG4J2-666 ensure unique name across separate instances created by 
webapp classloaders
     private static final AsyncLoggerContext CONTEXT = new 
AsyncLoggerContext("AsyncLoggerContext@"
-            + AsyncLoggerContext.class.hashCode());
+            + Integer.toHexString(AsyncLoggerContext.class.hashCode()));
 
     /**
      * Returns {@code true} if the user specified this selector as the 
Log4jContextSelector, to make all loggers

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/d7b1a023/log4j-core/src/main/java/org/apache/logging/log4j/core/jmx/Server.java
----------------------------------------------------------------------
diff --git 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/jmx/Server.java 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/jmx/Server.java
index 1ea55e9..4860551 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/jmx/Server.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/jmx/Server.java
@@ -161,8 +161,11 @@ public final class Server {
                 LOGGER.debug("Could not register MBeans: no ContextSelector 
found.");
                 return;
             }
+            LOGGER.trace("Reregistering MBeans after reconfigure. 
Selector={}", selector);
             final List<LoggerContext> contexts = selector.getLoggerContexts();
+            int i = 0;
             for (final LoggerContext ctx : contexts) {
+                LOGGER.trace("Reregistering context ({}/{}): '{}' {}", ++i, 
contexts.size(), ctx.getName(), ctx);
                 // first unregister the context and all nested loggers,
                 // appenders, statusLogger, contextSelector, ringbuffers...
                 unregisterLoggerContext(ctx.getName(), mbs);
@@ -329,8 +332,12 @@ public final class Server {
         try {
             final ObjectName pattern = new ObjectName(search);
             final Set<ObjectName> found = mbs.queryNames(pattern, null);
+            if (found.isEmpty()) {
+               LOGGER.trace("Unregistering but no MBeans found matching '{}'", 
search);
+            } else {
+               LOGGER.trace("Unregistering {} MBeans: {}", found.size(), 
found);
+            }
             for (final ObjectName objectName : found) {
-                LOGGER.debug("Unregistering MBean {}", objectName);
                 mbs.unregisterMBean(objectName);
             }
         } catch (final Exception ex) {

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/d7b1a023/log4j-core/src/main/java/org/apache/logging/log4j/core/selector/ClassLoaderContextSelector.java
----------------------------------------------------------------------
diff --git 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/selector/ClassLoaderContextSelector.java
 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/selector/ClassLoaderContextSelector.java
index e3b5679..f7fa5d4 100644
--- 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/selector/ClassLoaderContextSelector.java
+++ 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/selector/ClassLoaderContextSelector.java
@@ -169,7 +169,7 @@ public class ClassLoaderContextSelector implements 
ContextSelector {
     }
 
     private String toContextMapKey(final ClassLoader loader) {
-        return String.valueOf(System.identityHashCode(loader));
+        return Integer.toHexString(System.identityHashCode(loader));
     }
 
     protected LoggerContext getDefault() {

Reply via email to