Log4j 2
  1. Log4j 2
  2. LOG4J2-443

log4j2 LoggerContext not showing up in JMX Gui or JConsole

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 2.0-beta9
    • Fix Version/s: 2.0-rc1, 2.0
    • Component/s: JMX
    • Labels:
      None
    • Environment:

      Java 1.6.0_45-b06 on win7 (same behaviour on Java 7)

      Description

      This issue raised after request to do so by Remko in StackOverflow question .

      I am trying to configure log4j2 so that I can access the loggers via JMX and change their log levels.

      However, when I hook everything up, none of the loggers show up in the JMX tree (or log4j-jmx-gui) as shown in the [log4j2 JMX docs](http://logging.apache.org/log4j/2.x/manual/jmx.html#ClientGUI). Only the log4j2 ContextSelector and StatusLogger in the JConsole attribute tree and the StatusLogger tab in the log4j-jmx-gui (stand-alone or as a plugin) show up. No LoggerContext elements.

      I've googled and not come up with anything! That probably means I'm missing something somewhere. Any help would be greatly appreciated by me and wall which I'm banging my head against

      I'm using Log4j2 beta9 with Java 1.6.0_45-b06 on win7. I have tried it on Java 7 and it results in the same behaviour.

      The log4j2 dependencies being used:

          log4j-api-2.0-beta9.jar
          log4j-core-2.0-beta9.jar
      

      My log4j2.xml:

          <?xml version="1.0" encoding="UTF-8" ?>
          <Configuration  status="debug">
              <Appenders>
                  <Console name="log-test" target="SYSTEM_OUT">
                      <PatternLayout pattern="%d{DATE} %-5p LJX2 %c{1}: %m%n" />
                  </Console>
              </Appenders>
              <Loggers>
                  <Logger name="top.Log4J2TestApp" level="debug"  additivity="false">
                      <AppenderRef ref="log-test" />
                  </Logger>
                  <Root level="trace">
                      <AppenderRef ref="log-test" />
                  </Root>
              </Loggers>
          </Configuration>
      

      My test program:

          package top;   
          import org.apache.logging.log4j.LogManager;
          import org.apache.logging.log4j.Logger;
          
          public class Log4J2TestApp { 
              public static void main(String[] args) {
                  System.out.println("******** Started ZZZ ****************");
                  Logger log = LogManager.getLogger(Log4J2TestApp.class);
                  int cnt = 0;
                  while (true) {
                      log.warn("=========== Test message: {} ================", cnt++);
                      Thread.sleep(1000);
                  }
              }
          }
      

      The output of the test program looks like this:

      	******** Started ZZZ ****************
      	2013-11-06 15:07:29,720 DEBUG Generated plugins in 0.000020959 seconds
      	2013-11-06 15:07:29,733 DEBUG Calling createLayout on class org.apache.logging.log4j.core.layout.PatternLayout for element PatternLayout with params(pattern="%d{DATE} %-5p LJX2 %c{1}: %m%n", Configuration(log4j2.xml), null, charset="null",alwaysWriteExceptions="null")
      	2013-11-06 15:07:29,735 DEBUG Generated plugins in 0.000013687 seconds
      	2013-11-06 15:07:29,737 DEBUG Calling createAppender on class org.apache.logging.log4j.core.appender.ConsoleAppender for element Console with params(PatternLayout(%d{DATE} %-5p LJX2 %c{1}: %m%n), null, target="SYSTEM_OUT", name="log-test",follow="null", ignoreExceptions="null")
      	2013-11-06 15:07:29,739 DEBUG Jansi is not installed, cannot find org.fusesource.jansi.WindowsAnsiOutputStream2013-11-06 15:07:29,740 DEBUG Calling createAppenders on class org.apache.logging.log4j.core.config.plugins.AppendersPlugin for element Appenders with params(Appenders={log-test})
      	2013-11-06 15:07:29,742 DEBUG Generated plugins in 0.000012832 seconds
      	2013-11-06 15:07:29,743 DEBUG Calling createAppenderRef on class org.apache.logging.log4j.core.config.AppenderRef for element AppenderRef with params(ref="log-test", level="null", null)
      	2013-11-06 15:07:29,746 DEBUG Calling createLogger on class org.apache.logging.log4j.core.config.LoggerConfig for element Logger with params(additivity="false", level="debug", name="top.Log4J2TestApp", includeLocation="null", AppenderRef={log-test}, Properties={}, Configuration(log4j2.xml), null)
      	2013-11-06 15:07:29,749 DEBUG Calling createAppenderRef on class org.apache.logging.log4j.core.config.AppenderRef for element AppenderRef with params(ref="log-test", level="null", null)
      	2013-11-06 15:07:29,751 DEBUG Calling createLogger on class org.apache.logging.log4j.core.config.LoggerConfig$RootLogger for element Root with params(additivity="null", level="trace", includeLocation="null", AppenderRef={log-test}, Properties={}, Configuration(log4j2.xml), null)
      	2013-11-06 15:07:29,754 DEBUG Calling createLoggers on class org.apache.logging.log4j.core.config.plugins.LoggersPluginfor element Loggers with params(Loggers={top.Log4J2TestApp, root})
      	2013-11-06 15:07:29,755 DEBUG Reconfiguration completed
      	06 Nov 2013 15:07:29,763 WARN  LJX2 Log4J2TestApp: =========== Test message: 0 ================
          ....
      	06 Nov 2013 15:07:36,766 WARN  LJX2 Log4J2TestApp: =========== Test message: 7 ================
      
      	2013-11-06 15:07:51,450 DEBUG ServletContext not present - WebLookup not added
      	2013-11-06 15:07:51,451 DEBUG Shutting down OutputStreamManager SYSTEM_OUT
      

      The StatusLogger tab in the log4j-jmx-gui does have one exception but it would seem to have nothing to do with the loggers.

          2013-11-06 15:41:01,403 WARN Multiple logging implementations found: 
          Factory: org.apache.logging.log4j.core.impl.Log4jContextFactory, Weighting: 10
          Using factory: org.apache.logging.log4j.core.impl.Log4jContextFactory
          2013-11-06 15:41:01,505 WARN JmDNS or serviceInfo class not found java.lang.ClassNotFoundException: javax.jmdns.JmDNS
              at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
              at java.security.AccessController.doPrivileged(Native Method)
              at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
              at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
              at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
              at java.lang.Class.forName0(Native Method)
              at java.lang.Class.forName(Class.java:171)
              at org.apache.logging.log4j.core.net.MulticastDNSAdvertiser.initializeJMDNS(MulticastDNSAdvertiser.java:228)
              at org.apache.logging.log4j.core.net.MulticastDNSAdvertiser.<clinit>(MulticastDNSAdvertiser.java:41)
              at java.lang.Class.forName0(Native Method)
              at java.lang.Class.forName(Class.java:171)
              at org.apache.logging.log4j.core.config.plugins.PluginManager.decode(PluginManager.java:241)
              at org.apache.logging.log4j.core.config.plugins.PluginManager.collectPlugins(PluginManager.java:152)
              at org.apache.logging.log4j.core.config.plugins.PluginManager.collectPlugins(PluginManager.java:130)
              at org.apache.logging.log4j.core.pattern.PatternParser.<init>(PatternParser.java:116)
              at org.apache.logging.log4j.core.pattern.PatternParser.<init>(PatternParser.java:102)
              at org.apache.logging.log4j.core.layout.PatternLayout.createPatternParser(PatternLayout.java:183)
              at org.apache.logging.log4j.core.layout.PatternLayout.<init>(PatternLayout.java:115)
              at org.apache.logging.log4j.core.layout.PatternLayout.createLayout(PatternLayout.java:219)
              at org.apache.logging.log4j.core.config.DefaultConfiguration.<init>(DefaultConfiguration.java:51)
              at org.apache.logging.log4j.core.LoggerContext.<init>(LoggerContext.java:63)
              at org.apache.logging.log4j.core.selector.ClassLoaderContextSelector.locateContext(ClassLoaderContextSelector.java:217)
              at org.apache.logging.log4j.core.selector.ClassLoaderContextSelector.getContext(ClassLoaderContextSelector.java:114)
              at org.apache.logging.log4j.core.selector.ClassLoaderContextSelector.getContext(ClassLoaderContextSelector.java:81)
              at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:83)
              at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:34)
              at org.apache.logging.log4j.LogManager.getLogger(LogManager.java:387)
              at org.apache.logging.log4j.LogManager.getLogger(LogManager.java:332)
              at top.Log4J2TestApp.main(Log4J2TestApp.java:10)
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
              at java.lang.reflect.Method.invoke(Method.java:597)
              at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:58)
      
          2013-11-06 15:41:01,612 DEBUG Generated plugins in 0.000017537 seconds
          2013-11-06 15:41:01,625 DEBUG Calling createLayout on class org.apache.logging.log4j.core.layout.PatternLayout for element PatternLayout with params(pattern="%d{DATE} %-5p LJX2 %c{1}: %m%n", Configuration(log4j2.xml), null, charset="null", alwaysWriteExceptions="null")
          2013-11-06 15:41:01,627 DEBUG Generated plugins in 0.000011977 seconds
          2013-11-06 15:41:01,629 DEBUG Calling createAppender on class org.apache.logging.log4j.core.appender.ConsoleAppender for element Console with params(PatternLayout(%d{DATE} %-5p LJX2 %c{1}: %m%n), null, target="SYSTEM_OUT", name="log-test", follow="null", ignoreExceptions="null")
          2013-11-06 15:41:01,631 DEBUG Jansi is not installed, cannot find org.fusesource.jansi.WindowsAnsiOutputStream
          2013-11-06 15:41:01,632 DEBUG Calling createAppenders on class org.apache.logging.log4j.core.config.plugins.AppendersPlugin for element Appenders with params(Appenders={log-test})
          2013-11-06 15:41:01,633 DEBUG Generated plugins in 0.000011977 seconds
          2013-11-06 15:41:01,635 DEBUG Calling createAppenderRef on class org.apache.logging.log4j.core.config.AppenderRef for element AppenderRef with params(ref="log-test", level="null", null)
          2013-11-06 15:41:01,637 DEBUG Calling createLogger on class org.apache.logging.log4j.core.config.LoggerConfig for element Logger with params(additivity="false", level="debug", name="top.Log4J2TestApp", includeLocation="null", AppenderRef={log-test}, Properties={}, Configuration(log4j2.xml), null)
          2013-11-06 15:41:01,640 DEBUG Calling createAppenderRef on class org.apache.logging.log4j.core.config.AppenderRef for element AppenderRef with params(ref="log-test", level="null", null)
          2013-11-06 15:41:01,642 DEBUG Calling createLogger on class org.apache.logging.log4j.core.config.LoggerConfig$RootLogger for element Root with params(additivity="null", level="trace", includeLocation="null", AppenderRef={log-test}, Properties={}, Configuration(log4j2.xml), null)
          2013-11-06 15:41:01,644 DEBUG Calling createLoggers on class org.apache.logging.log4j.core.config.plugins.LoggersPlugin for element Loggers with params(Loggers={top.Log4J2TestApp, root})
          2013-11-06 15:41:01,646 DEBUG Reconfiguration completed
      

        Activity

        Hide
        Tudor Har added a comment -

        I got same issue running same Log4J release JMX GUI, on MacOS, same Java version:

        java version "1.6.0_45"
        Java(TM) SE Runtime Environment (build 1.6.0_45-b06-451-10M4406)
        Java HotSpot(TM) 64-Bit Server VM (build 20.45-b01-451, mixed mode)
        

        The same issue happens when I connect remotely, to a server running on CentOS, with slightly older JVM

        java version "1.6.0_23"
        Java(TM) SE Runtime Environment (build 1.6.0_23-b05)
        Java HotSpot(TM) 64-Bit Server VM (build 19.0-b09, mixed mode)
        

        In both environments, I have couple more logging JARs:

        log4j-1.2-api-2.0-beta9.jar
        log4j-api-2.0-beta9.jar
        log4j-core-2.0-beta9.jar
        slf4j-log4j12-1.6.1.jar
        
        Show
        Tudor Har added a comment - I got same issue running same Log4J release JMX GUI, on MacOS, same Java version: java version "1.6.0_45" Java(TM) SE Runtime Environment (build 1.6.0_45-b06-451-10M4406) Java HotSpot(TM) 64-Bit Server VM (build 20.45-b01-451, mixed mode) The same issue happens when I connect remotely, to a server running on CentOS, with slightly older JVM java version "1.6.0_23" Java(TM) SE Runtime Environment (build 1.6.0_23-b05) Java HotSpot(TM) 64-Bit Server VM (build 19.0-b09, mixed mode) In both environments, I have couple more logging JARs: log4j-1.2-api-2.0-beta9.jar log4j-api-2.0-beta9.jar log4j-core-2.0-beta9.jar slf4j-log4j12-1.6.1.jar
        Hide
        Remko Popma added a comment -

        My mistake. I only tested this with AsyncLoggers, which have a different ContextSelector.

        Fixed in revision 1555481.
        Please verify and close.

        Show
        Remko Popma added a comment - My mistake. I only tested this with AsyncLoggers, which have a different ContextSelector. Fixed in revision 1555481. Please verify and close.
        Hide
        Colin Froggatt added a comment -

        Thats great. I would like to test but cannot find a working download of the 2.0-rc1 build. I did find one for the 'core' jar but that had a different package structure and so would not play nice with the rest of the modules.

        Any pointers would be great.

        cheers, Colin

        Show
        Colin Froggatt added a comment - Thats great. I would like to test but cannot find a working download of the 2.0-rc1 build. I did find one for the 'core' jar but that had a different package structure and so would not play nice with the rest of the modules. Any pointers would be great. cheers, Colin
        Hide
        Colin Froggatt added a comment -

        Hi. First of all, I forgot to apologise for the time its taken me to get back to this. I have been assigned on different work for some time.

        I found an 2.0-rc1 build (noted in a diff bug) here :
        https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/

        I grabbed the core and jmx-gui jars. My test program runs up ok, but as soon as I try to start JConsole with the Plugin or try to start the JMX Gui standalone, I get the following error:

        cmd line:

        C:\Users\cfrogatt\Downloads>java -cp C:\Users\cfrogatt\Downloads\log4j-core-2.0-rc1.jar;C:\Users\cfrogatt\Downloads\log4j-jmx-gui-2.0-rc1.jar org.apache.logging.log4j.jmx.gui.ClientGUI localhost:33445
        

        Exception from standalone version:

        java.lang.reflect.UndeclaredThrowableException
                at com.sun.proxy.$Proxy0.getObjectName(Unknown Source)
                at org.apache.logging.log4j.jmx.gui.ClientGUI.addWidgetForLoggerContext(ClientGUI.java:105)
                at org.apache.logging.log4j.jmx.gui.ClientGUI.populateWidgets(ClientGUI.java:98)
                at org.apache.logging.log4j.jmx.gui.ClientGUI.<init>(ClientGUI.java:81)
                at org.apache.logging.log4j.jmx.gui.ClientGUI$2.run(ClientGUI.java:276)
                at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
                at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:672)
                at java.awt.EventQueue.access$400(EventQueue.java:81)
                at java.awt.EventQueue$2.run(EventQueue.java:633)
                at java.awt.EventQueue$2.run(EventQueue.java:631)
                at java.security.AccessController.doPrivileged(Native Method)
                at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
                at java.awt.EventQueue.dispatchEvent(EventQueue.java:642)
                at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
                at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
                at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
                at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
                at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
                at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
        Caused by: javax.management.AttributeNotFoundException: No such attribute: ObjectName
                at com.sun.jmx.mbeanserver.PerInterface.getAttribute(PerInterface.java:63)
                at com.sun.jmx.mbeanserver.MBeanSupport.getAttribute(MBeanSupport.java:218)
                at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.getAttribute(DefaultMBeanServerInterceptor.java:666)
                at com.sun.jmx.mbeanserver.JmxMBeanServer.getAttribute(JmxMBeanServer.java:639)
                at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1431)
                at javax.management.remote.rmi.RMIConnectionImpl.access$300(RMIConnectionImpl.java:74)
                at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1295)
                at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1387)
                at javax.management.remote.rmi.RMIConnectionImpl.getAttribute(RMIConnectionImpl.java:630)
                at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
                at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                at java.lang.reflect.Method.invoke(Method.java:597)
                at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:303)
                at sun.rmi.transport.Transport$1.run(Transport.java:159)
                at java.security.AccessController.doPrivileged(Native Method)
                at sun.rmi.transport.Transport.serviceCall(Transport.java:155)
                at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:535)
                at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790)
                at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649)
                at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
                at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
                at java.lang.Thread.run(Thread.java:662)
                at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:255)
                at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:233)
                at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:142)
                at com.sun.jmx.remote.internal.PRef.invoke(Unknown Source)
                at javax.management.remote.rmi.RMIConnectionImpl_Stub.getAttribute(Unknown Source)
                at javax.management.remote.rmi.RMIConnector$RemoteMBeanServerConnection.getAttribute(RMIConnector.java:878)
                at javax.management.MBeanServerInvocationHandler.invoke(MBeanServerInvocationHandler.java:263)
                ... 19 more
        
        Show
        Colin Froggatt added a comment - Hi. First of all, I forgot to apologise for the time its taken me to get back to this. I have been assigned on different work for some time. I found an 2.0-rc1 build (noted in a diff bug) here : https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/ I grabbed the core and jmx-gui jars. My test program runs up ok, but as soon as I try to start JConsole with the Plugin or try to start the JMX Gui standalone, I get the following error: cmd line: C:\Users\cfrogatt\Downloads>java -cp C:\Users\cfrogatt\Downloads\log4j-core-2.0-rc1.jar;C:\Users\cfrogatt\Downloads\log4j-jmx-gui-2.0-rc1.jar org.apache.logging.log4j.jmx.gui.ClientGUI localhost:33445 Exception from standalone version: java.lang.reflect.UndeclaredThrowableException at com.sun.proxy.$Proxy0.getObjectName(Unknown Source) at org.apache.logging.log4j.jmx.gui.ClientGUI.addWidgetForLoggerContext(ClientGUI.java:105) at org.apache.logging.log4j.jmx.gui.ClientGUI.populateWidgets(ClientGUI.java:98) at org.apache.logging.log4j.jmx.gui.ClientGUI.<init>(ClientGUI.java:81) at org.apache.logging.log4j.jmx.gui.ClientGUI$2.run(ClientGUI.java:276) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:672) at java.awt.EventQueue.access$400(EventQueue.java:81) at java.awt.EventQueue$2.run(EventQueue.java:633) at java.awt.EventQueue$2.run(EventQueue.java:631) at java.security.AccessController.doPrivileged(Native Method) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87) at java.awt.EventQueue.dispatchEvent(EventQueue.java:642) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161) at java.awt.EventDispatchThread.run(EventDispatchThread.java:122) Caused by: javax.management.AttributeNotFoundException: No such attribute: ObjectName at com.sun.jmx.mbeanserver.PerInterface.getAttribute(PerInterface.java:63) at com.sun.jmx.mbeanserver.MBeanSupport.getAttribute(MBeanSupport.java:218) at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.getAttribute(DefaultMBeanServerInterceptor.java:666) at com.sun.jmx.mbeanserver.JmxMBeanServer.getAttribute(JmxMBeanServer.java:639) at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1431) at javax.management.remote.rmi.RMIConnectionImpl.access$300(RMIConnectionImpl.java:74) at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1295) at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1387) at javax.management.remote.rmi.RMIConnectionImpl.getAttribute(RMIConnectionImpl.java:630) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:303) at sun.rmi.transport.Transport$1.run(Transport.java:159) at java.security.AccessController.doPrivileged(Native Method) at sun.rmi.transport.Transport.serviceCall(Transport.java:155) at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:535) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918) at java.lang. Thread .run( Thread .java:662) at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:255) at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:233) at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:142) at com.sun.jmx.remote.internal.PRef.invoke(Unknown Source) at javax.management.remote.rmi.RMIConnectionImpl_Stub.getAttribute(Unknown Source) at javax.management.remote.rmi.RMIConnector$RemoteMBeanServerConnection.getAttribute(RMIConnector.java:878) at javax.management.MBeanServerInvocationHandler.invoke(MBeanServerInvocationHandler.java:263) ... 19 more
        Hide
        Remko Popma added a comment - - edited

        I saw a similar error when I was testing my fixes for LOG4J2-500 and LOG4J2-530.
        It turned out that the test app that published the MBeans was using an older version of log4j2 than the JMX Client GUI. The ObjectName and API of the MBeans have changed recently, and the client & server app must use the same version. Could that be what's happening?

        Show
        Remko Popma added a comment - - edited I saw a similar error when I was testing my fixes for LOG4J2-500 and LOG4J2-530 . It turned out that the test app that published the MBeans was using an older version of log4j2 than the JMX Client GUI. The ObjectName and API of the MBeans have changed recently, and the client & server app must use the same version. Could that be what's happening?
        Hide
        Colin Froggatt added a comment - - edited

        Hi Remko, thanks for the quick reply. Yes, you were right, my test app was still using beta9 jars!.

        So, got it all using the correct versions and the exception above has gone away.

        I have started the JMX plugin in JConsole and I have been able to change the log level once. However, I am unable to change it again as an error is displayed in place of the XML config after the first change. I followed the steps below:

        1. Start JConsole with the plugin.

        jconsole -pluginpath C:\Users\cfrogatt\Downloads\log4j-core-2.0-rc1.jar;C:\Users\cfrogatt\Downloads\log4j-jmx-gui-2.0-rc1.jar;C:\Users\cfrogatt\Downloads\log4j-api-2.0-rc1.jar
        

        Note here that I had to add the log4j-api-2.0-rc1.jar otherwise you get another exception. Doc's may need updating on JMX page.

        2. Connect to running test program by selecting PID. I did try using the host:port syntax and got the same problem.

        3. Switch to log4j2 tab.
        Status Logger log is as follows:

        2014-02-12 14:52:37,803 DEBUG Checking to see if class org.apache.logging.log4j.core.jmx.Server matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,803 DEBUG Checking to see if class org.apache.logging.log4j.core.jmx.StatusLoggerAdmin matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,803 DEBUG Checking to see if class org.apache.logging.log4j.core.jmx.StatusLoggerAdminMBean matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,803 DEBUG Checking to see if class org.apache.logging.log4j.core.layout.AbstractLayout matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,803 DEBUG Checking to see if class org.apache.logging.log4j.core.layout.AbstractStringLayout matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,804 DEBUG Checking to see if class org.apache.logging.log4j.core.layout.HTMLLayout$FontSize matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,804 DEBUG Checking to see if class org.apache.logging.log4j.core.layout.HTMLLayout matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,804 DEBUG Checking to see if class org.apache.logging.log4j.core.layout.JSONLayout matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,804 DEBUG Checking to see if class org.apache.logging.log4j.core.layout.LoggerFields matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,805 DEBUG Checking to see if class org.apache.logging.log4j.core.layout.PatternLayout matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,805 DEBUG Checking to see if class org.apache.logging.log4j.core.layout.RFC5424Layout$1 matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,805 DEBUG Checking to see if class org.apache.logging.log4j.core.layout.RFC5424Layout$ExcludeChecker matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,805 DEBUG Checking to see if class org.apache.logging.log4j.core.layout.RFC5424Layout$FieldFormatter matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,805 DEBUG Checking to see if class org.apache.logging.log4j.core.layout.RFC5424Layout$IncludeChecker matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,805 DEBUG Checking to see if class org.apache.logging.log4j.core.layout.RFC5424Layout$ListChecker matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,806 DEBUG Checking to see if class org.apache.logging.log4j.core.layout.RFC5424Layout$NoopChecker matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,806 DEBUG Checking to see if class org.apache.logging.log4j.core.layout.RFC5424Layout$StructuredDataElement matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,806 DEBUG Checking to see if class org.apache.logging.log4j.core.layout.RFC5424Layout matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,806 DEBUG Checking to see if class org.apache.logging.log4j.core.layout.SerializedLayout$PrivateObjectOutputStream matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,807 DEBUG Checking to see if class org.apache.logging.log4j.core.layout.SerializedLayout matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,807 DEBUG Checking to see if class org.apache.logging.log4j.core.layout.SyslogLayout matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,807 DEBUG Checking to see if class org.apache.logging.log4j.core.layout.XMLLayout matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,807 DEBUG Checking to see if class org.apache.logging.log4j.core.Layout matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,808 DEBUG Checking to see if class org.apache.logging.log4j.core.LifeCycle matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,808 DEBUG Checking to see if class org.apache.logging.log4j.core.LogEvent matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,808 DEBUG Checking to see if class org.apache.logging.log4j.core.Logger$PrivateConfig matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,808 DEBUG Checking to see if class org.apache.logging.log4j.core.Logger matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,808 DEBUG Checking to see if class org.apache.logging.log4j.core.LoggerContext$ShutdownThread matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,808 DEBUG Checking to see if class org.apache.logging.log4j.core.LoggerContext$Status matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,809 DEBUG Checking to see if class org.apache.logging.log4j.core.LoggerContext matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,809 DEBUG Checking to see if class org.apache.logging.log4j.core.lookup.ContextMapLookup matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,809 DEBUG Checking to see if class org.apache.logging.log4j.core.lookup.DateLookup matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,809 DEBUG Checking to see if class org.apache.logging.log4j.core.lookup.EnvironmentLookup matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,809 DEBUG Checking to see if class org.apache.logging.log4j.core.lookup.Interpolator matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,810 DEBUG Checking to see if class org.apache.logging.log4j.core.lookup.JndiLookup matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,810 DEBUG Checking to see if class org.apache.logging.log4j.core.lookup.MapLookup matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,810 DEBUG Checking to see if class org.apache.logging.log4j.core.lookup.ResourceBundleLookup matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,810 DEBUG Checking to see if class org.apache.logging.log4j.core.lookup.StrLookup matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,810 DEBUG Checking to see if class org.apache.logging.log4j.core.lookup.StrMatcher$CharMatcher matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,810 DEBUG Checking to see if class org.apache.logging.log4j.core.lookup.StrMatcher$CharSetMatcher matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,811 DEBUG Checking to see if class org.apache.logging.log4j.core.lookup.StrMatcher$NoMatcher matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,811 DEBUG Checking to see if class org.apache.logging.log4j.core.lookup.StrMatcher$StringMatcher matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,811 DEBUG Checking to see if class org.apache.logging.log4j.core.lookup.StrMatcher$TrimMatcher matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,811 DEBUG Checking to see if class org.apache.logging.log4j.core.lookup.StrMatcher matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,811 DEBUG Checking to see if class org.apache.logging.log4j.core.lookup.StrSubstitutor matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,812 DEBUG Checking to see if class org.apache.logging.log4j.core.lookup.StructuredDataLookup matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,812 DEBUG Checking to see if class org.apache.logging.log4j.core.lookup.SystemPropertiesLookup matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,812 DEBUG Checking to see if class org.apache.logging.log4j.core.lookup.WebLookup matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,812 DEBUG Checking to see if class org.apache.logging.log4j.core.net.AbstractJMSManager matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,812 DEBUG Checking to see if class org.apache.logging.log4j.core.net.AbstractJMSReceiver matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,813 WARN Could not examine class 'org/apache/logging/log4j/core/net/AbstractJMSReceiver.class' due to a java.lang.NoClassDefFoundError with message: javax/jms/MessageListener
        2014-02-12 14:52:37,813 DEBUG Checking to see if class org.apache.logging.log4j.core.net.AbstractSocketManager matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,813 DEBUG Checking to see if class org.apache.logging.log4j.core.net.Advertiser matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,813 DEBUG Checking to see if class org.apache.logging.log4j.core.net.DatagramOutputStream matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,813 DEBUG Checking to see if class org.apache.logging.log4j.core.net.DatagramSocketManager$1 matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,814 DEBUG Checking to see if class org.apache.logging.log4j.core.net.DatagramSocketManager$DatagramSocketManagerFactory matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,814 DEBUG Checking to see if class org.apache.logging.log4j.core.net.DatagramSocketManager$FactoryData matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,814 DEBUG Checking to see if class org.apache.logging.log4j.core.net.DatagramSocketManager matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,814 DEBUG Checking to see if class org.apache.logging.log4j.core.net.Facility matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,814 DEBUG Checking to see if class org.apache.logging.log4j.core.net.JMSQueueManager$1 matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,814 DEBUG Checking to see if class org.apache.logging.log4j.core.net.JMSQueueManager$FactoryData matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,815 DEBUG Checking to see if class org.apache.logging.log4j.core.net.JMSQueueManager$JMSQueueManagerFactory matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,815 DEBUG Checking to see if class org.apache.logging.log4j.core.net.JMSQueueManager$QueueInfo matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,815 DEBUG Checking to see if class org.apache.logging.log4j.core.net.JMSQueueManager matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,815 DEBUG Checking to see if class org.apache.logging.log4j.core.net.JMSQueueReceiver matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,816 WARN Could not examine class 'org/apache/logging/log4j/core/net/JMSQueueReceiver.class' due to a java.lang.NoClassDefFoundError with message: javax/jms/MessageListener
        2014-02-12 14:52:37,816 DEBUG Checking to see if class org.apache.logging.log4j.core.net.JMSTopicManager$1 matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,816 DEBUG Checking to see if class org.apache.logging.log4j.core.net.JMSTopicManager$FactoryData matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,817 DEBUG Checking to see if class org.apache.logging.log4j.core.net.JMSTopicManager$JMSTopicManagerFactory matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,817 DEBUG Checking to see if class org.apache.logging.log4j.core.net.JMSTopicManager$TopicInfo matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,817 DEBUG Checking to see if class org.apache.logging.log4j.core.net.JMSTopicManager matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,817 DEBUG Checking to see if class org.apache.logging.log4j.core.net.JMSTopicReceiver matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,818 WARN Could not examine class 'org/apache/logging/log4j/core/net/JMSTopicReceiver.class' due to a java.lang.NoClassDefFoundError with message: javax/jms/MessageListener
        2014-02-12 14:52:37,818 DEBUG Checking to see if class org.apache.logging.log4j.core.net.MimeMessageBuilder matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,818 DEBUG Checking to see if class org.apache.logging.log4j.core.net.MulticastDNSAdvertiser matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,819 DEBUG Checking to see if class org.apache.logging.log4j.core.net.Priority matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,819 DEBUG Checking to see if class org.apache.logging.log4j.core.net.Protocol matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,819 DEBUG Checking to see if class org.apache.logging.log4j.core.net.Severity$1 matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,819 DEBUG Checking to see if class org.apache.logging.log4j.core.net.Severity matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,819 DEBUG Checking to see if class org.apache.logging.log4j.core.net.SMTPManager$1 matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,820 DEBUG Checking to see if class org.apache.logging.log4j.core.net.SMTPManager$FactoryData matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,820 DEBUG Checking to see if class org.apache.logging.log4j.core.net.SMTPManager$SMTPManagerFactory$1 matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,820 WARN Could not examine class 'org/apache/logging/log4j/core/net/SMTPManager$SMTPManagerFactory$1.class' due to a java.lang.NoClassDefFoundError with message: javax/mail/Authenticator
        2014-02-12 14:52:37,820 DEBUG Checking to see if class org.apache.logging.log4j.core.net.SMTPManager$SMTPManagerFactory matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,821 DEBUG Checking to see if class org.apache.logging.log4j.core.net.SMTPManager matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,821 DEBUG Checking to see if class org.apache.logging.log4j.core.net.SocketServer$ServerConfigurationFactory matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,821 DEBUG Checking to see if class org.apache.logging.log4j.core.net.SocketServer$SocketHandler matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,821 DEBUG Checking to see if class org.apache.logging.log4j.core.net.SocketServer matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,822 DEBUG Checking to see if class org.apache.logging.log4j.core.net.ssl.KeyStoreConfiguration matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,822 DEBUG Checking to see if class org.apache.logging.log4j.core.net.ssl.KeyStoreConfigurationException matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,822 DEBUG Checking to see if class org.apache.logging.log4j.core.net.ssl.SSLConfiguration matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,822 DEBUG Checking to see if class org.apache.logging.log4j.core.net.ssl.SSLConfigurationDefaults matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,822 DEBUG Checking to see if class org.apache.logging.log4j.core.net.ssl.SSLConfigurationException matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,822 DEBUG Checking to see if class org.apache.logging.log4j.core.net.ssl.StoreConfiguration matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,823 DEBUG Checking to see if class org.apache.logging.log4j.core.net.ssl.StoreConfigurationException matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,823 DEBUG Checking to see if class org.apache.logging.log4j.core.net.ssl.TrustStoreConfiguration matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,823 DEBUG Checking to see if class org.apache.logging.log4j.core.net.ssl.TrustStoreConfigurationException matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,823 DEBUG Checking to see if class org.apache.logging.log4j.core.net.TCPSocketManager$FactoryData matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,823 DEBUG Checking to see if class org.apache.logging.log4j.core.net.TCPSocketManager$Reconnector matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,823 DEBUG Checking to see if class org.apache.logging.log4j.core.net.TCPSocketManager$TCPSocketManagerFactory matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,824 DEBUG Checking to see if class org.apache.logging.log4j.core.net.TCPSocketManager matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,824 DEBUG Checking to see if class org.apache.logging.log4j.core.net.TLSSocketManager$1 matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,824 DEBUG Checking to see if class org.apache.logging.log4j.core.net.TLSSocketManager$TLSFactoryData matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,824 DEBUG Checking to see if class org.apache.logging.log4j.core.net.TLSSocketManager$TLSSocketManagerFactory$TLSSocketManagerFactoryException matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,824 DEBUG Checking to see if class org.apache.logging.log4j.core.net.TLSSocketManager$TLSSocketManagerFactory matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,825 DEBUG Checking to see if class org.apache.logging.log4j.core.net.TLSSocketManager matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,825 DEBUG Checking to see if class org.apache.logging.log4j.core.net.UDPSocketServer$ServerConfigurationFactory matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,825 DEBUG Checking to see if class org.apache.logging.log4j.core.net.UDPSocketServer matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,825 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.AbstractPatternConverter matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,825 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.AbstractStyleNameConverter$Black matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,825 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.AbstractStyleNameConverter$Blue matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,826 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.AbstractStyleNameConverter$Cyan matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,826 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.AbstractStyleNameConverter$Green matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,826 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.AbstractStyleNameConverter$Magenta matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,826 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.AbstractStyleNameConverter$Red matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,826 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.AbstractStyleNameConverter$White matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,826 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.AbstractStyleNameConverter$Yellow matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,827 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.AbstractStyleNameConverter matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,827 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.AnsiConverter matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,827 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.AnsiEscape matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,827 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.ArrayPatternConverter matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,827 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.CachedDateFormat matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,828 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.ClassNamePatternConverter matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,828 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.ConverterKeys matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,828 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.DatePatternConverter$1 matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,828 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.DatePatternConverter$Formatter matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,828 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.DatePatternConverter$PatternFormatter matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,828 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.DatePatternConverter$UnixFormatter matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,829 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.DatePatternConverter$UnixMillisFormatter matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,829 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.DatePatternConverter matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,829 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.ExtendedThrowablePatternConverter matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,829 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.FileDatePatternConverter matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,829 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.FileLocationPatternConverter matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,829 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.FormattingInfo matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,830 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.FullLocationPatternConverter matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,830 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.HighlightConverter matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,830 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.IntegerPatternConverter matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,830 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.LevelPatternConverter matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,830 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.LineLocationPatternConverter matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,831 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.LineSeparatorPatternConverter matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,831 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.LiteralPatternConverter matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,831 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.LogEventPatternConverter matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,831 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.LoggerPatternConverter matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,831 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.MapPatternConverter matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,831 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.MarkerPatternConverter matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,832 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.MDCPatternConverter matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,832 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.MessagePatternConverter matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,832 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.MethodLocationPatternConverter matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,832 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.NameAbbreviator$MaxElementAbbreviator matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,832 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.NameAbbreviator$NOPAbbreviator matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,832 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.NameAbbreviator$PatternAbbreviator matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,833 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.NameAbbreviator$PatternAbbreviatorFragment matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,833 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.NameAbbreviator matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,833 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.NamePatternConverter matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,833 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.NDCPatternConverter matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,833 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.PatternConverter matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,833 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.PatternFormatter matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,834 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.PatternParser$1 matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,834 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.PatternParser$ParserState matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,834 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.PatternParser matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,834 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.RegexReplacement matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,835 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.RegexReplacementConverter matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,835 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.RelativeTimePatternConverter matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,835 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.RootThrowablePatternConverter matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,835 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.SequenceNumberPatternConverter matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,835 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.StyleConverter matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,835 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.ThreadPatternConverter matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,836 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.ThrowablePatternConverter matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,836 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.UUIDPatternConverter matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,836 DEBUG Checking to see if class org.apache.logging.log4j.core.selector.BasicContextSelector matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,836 DEBUG Checking to see if class org.apache.logging.log4j.core.selector.ClassLoaderContextSelector$1 matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,836 DEBUG Checking to see if class org.apache.logging.log4j.core.selector.ClassLoaderContextSelector$PrivateSecurityManager matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,837 DEBUG Checking to see if class org.apache.logging.log4j.core.selector.ClassLoaderContextSelector matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,837 DEBUG Checking to see if class org.apache.logging.log4j.core.selector.ContextSelector matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,837 DEBUG Checking to see if class org.apache.logging.log4j.core.selector.JNDIContextSelector matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,837 DEBUG Checking to see if class org.apache.logging.log4j.core.selector.NamedContextSelector matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,837 DEBUG Checking to see if class org.apache.logging.log4j.core.web.Log4jServletContainerInitializer matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,838 WARN Could not examine class 'org/apache/logging/log4j/core/web/Log4jServletContainerInitializer.class' due to a java.lang.NoClassDefFoundError with message: javax/servlet/ServletContainerInitializer
        2014-02-12 14:52:37,838 DEBUG Checking to see if class org.apache.logging.log4j.core.web.Log4jServletContextListener matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,838 WARN Could not examine class 'org/apache/logging/log4j/core/web/Log4jServletContextListener.class' due to a java.lang.NoClassDefFoundError with message: javax/servlet/ServletContextListener
        2014-02-12 14:52:37,839 DEBUG Checking to see if class org.apache.logging.log4j.core.web.Log4jServletFilter matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,839 WARN Could not examine class 'org/apache/logging/log4j/core/web/Log4jServletFilter.class' due to a java.lang.NoClassDefFoundError with message: javax/servlet/Filter
        2014-02-12 14:52:37,839 DEBUG Checking to see if class org.apache.logging.log4j.core.web.Log4jWebInitializer matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,839 DEBUG Checking to see if class org.apache.logging.log4j.core.web.Log4jWebInitializerImpl matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,840 DEBUG Checking to see if class org.apache.logging.log4j.core.web.Log4jWebSupport matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter]
        2014-02-12 14:52:37,841 DEBUG Generated plugins in 0.103261476 seconds
        2014-02-12 14:52:37,843 DEBUG Calling createAppender on class org.apache.logging.log4j.core.appender.ConsoleAppender for element Console with params(PatternLayout(%d{DATE} %-5p LJX2-[mid:%X{pt_msg_id} uid:%X{pt_user_id} txid:%X{pt_tx_id}, pid:%X{pt_prod_id}] %c{1}: %m%n), null, target="SYSTEM_OUT", name="test", follow="null", ignoreExceptions="null")
        2014-02-12 14:52:37,843 DEBUG Jansi is not installed, cannot find org.fusesource.jansi.WindowsAnsiOutputStream
        2014-02-12 14:52:37,844 DEBUG Calling createAppenders on class org.apache.logging.log4j.core.config.plugins.AppendersPlugin for element Appenders with params(Appenders={test})
        2014-02-12 14:52:37,845 DEBUG Calling createAppenderRef on class org.apache.logging.log4j.core.config.AppenderRef for element AppenderRef with params(ref="test", level="null", null)
        2014-02-12 14:52:37,846 DEBUG Calling createLogger on class org.apache.logging.log4j.core.config.LoggerConfig for element Logger with params(additivity="null", level="DEBUG", name="top.Log4J2TestApp", includeLocation="null", AppenderRef={test}, Properties={}, Configuration(F:\Dev\source\turin\trunk\l4j\target\classes\log4j2.xml), null)
        2014-02-12 14:52:37,847 DEBUG Calling createAppenderRef on class org.apache.logging.log4j.core.config.AppenderRef for element AppenderRef with params(ref="test", level="null", null)
        2014-02-12 14:52:37,848 DEBUG Calling createLogger on class org.apache.logging.log4j.core.config.LoggerConfig$RootLogger for element Root with params(additivity="null", level="trace", includeLocation="null", AppenderRef={test}, Properties={}, Configuration(F:\Dev\source\turin\trunk\l4j\target\classes\log4j2.xml), null)
        2014-02-12 14:52:37,849 DEBUG Calling createLoggers on class org.apache.logging.log4j.core.config.plugins.LoggersPlugin for element Loggers with params(Loggers={top.Log4J2TestApp, root})
        2014-02-12 14:52:37,853 DEBUG Registering MBean org.apache.logging.log4j2:type=sun.misc.Launcher$AppClassLoader@3326b249
        2014-02-12 14:52:37,855 DEBUG Registering MBean org.apache.logging.log4j2:type=sun.misc.Launcher$AppClassLoader@3326b249,component=StatusLogger
        2014-02-12 14:52:37,856 DEBUG Registering MBean org.apache.logging.log4j2:type=sun.misc.Launcher$AppClassLoader@3326b249,component=ContextSelector
        2014-02-12 14:52:37,857 DEBUG Registering MBean org.apache.logging.log4j2:type=sun.misc.Launcher$AppClassLoader@3326b249,component=Loggers,name=
        2014-02-12 14:52:37,858 DEBUG Registering MBean org.apache.logging.log4j2:type=sun.misc.Launcher$AppClassLoader@3326b249,component=Loggers,name=top.Log4J2TestApp
        2014-02-12 14:52:37,858 DEBUG Registering MBean org.apache.logging.log4j2:type=sun.misc.Launcher$AppClassLoader@3326b249,component=Appenders,name=test
        2014-02-12 14:52:37,859 DEBUG Reconfiguration completed
        

        4. Switch to Configuration tab
        Location field contain: file:/F:/Dev/source/turin/trunk/l4j/target/classes/log4j2.xml

        5. Edit XML config to change Logger level.
        Hit "Reconfigure using XML below"
        Get "reconfiguration complete" dialog and put back to "StatusLogger" tab.
        No errors in "StatusLogger" tab.
        No errors in App log after config update either.

        6. switch back to "Configuration" tab.
        Instead of XML config, we have an exception displayed:

        java.lang.IllegalArgumentException: URI is not absolute
        	at java.net.URI.toURL(URI.java:1079)
        	at org.apache.logging.log4j.core.jmx.LoggerContextAdmin.readContents(LoggerContextAdmin.java:203)
        	at org.apache.logging.log4j.core.jmx.LoggerContextAdmin.getConfigText(LoggerContextAdmin.java:161)
        	at org.apache.logging.log4j.core.jmx.LoggerContextAdmin.getConfigText(LoggerContextAdmin.java:151)
        	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        	at java.lang.reflect.Method.invoke(Method.java:597)
        	at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:93)
        	at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:27)
        	at com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(MBeanIntrospector.java:208)
        	at com.sun.jmx.mbeanserver.PerInterface.getAttribute(PerInterface.java:65)
        	at com.sun.jmx.mbeanserver.MBeanSupport.getAttribute(MBeanSupport.java:218)
        	at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.getAttribute(DefaultMBeanServerInterceptor.java:666)
        	at com.sun.jmx.mbeanserver.JmxMBeanServer.getAttribute(JmxMBeanServer.java:639)
        	at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1431)
        	at javax.management.remote.rmi.RMIConnectionImpl.access$300(RMIConnectionImpl.java:74)
        	at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1295)
        	at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1387)
        	at javax.management.remote.rmi.RMIConnectionImpl.getAttribute(RMIConnectionImpl.java:630)
        	at sun.reflect.GeneratedMethodAccessor59.invoke(Unknown Source)
        	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        	at java.lang.reflect.Method.invoke(Method.java:597)
        	at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:303)
        	at sun.rmi.transport.Transport$1.run(Transport.java:159)
        	at java.security.AccessController.doPrivileged(Native Method)
        	at sun.rmi.transport.Transport.serviceCall(Transport.java:155)
        	at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:535)
        	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790)
        	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649)
        	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
        	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
        	at java.lang.Thread.run(Thread.java:662)
        

        Location field is blank.

        7. Paste old location value back in to location field. (file:/F:/Dev/source/turin/trunk/l4j/target/classes/log4j2.xml
        Hit "reconfigure from location", and original config file loaded again.

        8. Change the log level again and the change is made and the logging adjusts as desired.

        9. Go back to the Config tab and see that the original config file is displayed without the change I just made.

        10. I can go around 8 and 9 changing log levels as I please.

        Show
        Colin Froggatt added a comment - - edited Hi Remko, thanks for the quick reply. Yes, you were right, my test app was still using beta9 jars!. So, got it all using the correct versions and the exception above has gone away. I have started the JMX plugin in JConsole and I have been able to change the log level once. However, I am unable to change it again as an error is displayed in place of the XML config after the first change. I followed the steps below: 1. Start JConsole with the plugin. jconsole -pluginpath C:\Users\cfrogatt\Downloads\log4j-core-2.0-rc1.jar;C:\Users\cfrogatt\Downloads\log4j-jmx-gui-2.0-rc1.jar;C:\Users\cfrogatt\Downloads\log4j-api-2.0-rc1.jar Note here that I had to add the log4j-api-2.0-rc1.jar otherwise you get another exception. Doc's may need updating on JMX page. 2. Connect to running test program by selecting PID. I did try using the host:port syntax and got the same problem. 3. Switch to log4j2 tab. Status Logger log is as follows: 2014-02-12 14:52:37,803 DEBUG Checking to see if class org.apache.logging.log4j.core.jmx.Server matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,803 DEBUG Checking to see if class org.apache.logging.log4j.core.jmx.StatusLoggerAdmin matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,803 DEBUG Checking to see if class org.apache.logging.log4j.core.jmx.StatusLoggerAdminMBean matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,803 DEBUG Checking to see if class org.apache.logging.log4j.core.layout.AbstractLayout matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,803 DEBUG Checking to see if class org.apache.logging.log4j.core.layout.AbstractStringLayout matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,804 DEBUG Checking to see if class org.apache.logging.log4j.core.layout.HTMLLayout$FontSize matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,804 DEBUG Checking to see if class org.apache.logging.log4j.core.layout.HTMLLayout matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,804 DEBUG Checking to see if class org.apache.logging.log4j.core.layout.JSONLayout matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,804 DEBUG Checking to see if class org.apache.logging.log4j.core.layout.LoggerFields matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,805 DEBUG Checking to see if class org.apache.logging.log4j.core.layout.PatternLayout matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,805 DEBUG Checking to see if class org.apache.logging.log4j.core.layout.RFC5424Layout$1 matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,805 DEBUG Checking to see if class org.apache.logging.log4j.core.layout.RFC5424Layout$ExcludeChecker matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,805 DEBUG Checking to see if class org.apache.logging.log4j.core.layout.RFC5424Layout$FieldFormatter matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,805 DEBUG Checking to see if class org.apache.logging.log4j.core.layout.RFC5424Layout$IncludeChecker matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,805 DEBUG Checking to see if class org.apache.logging.log4j.core.layout.RFC5424Layout$ListChecker matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,806 DEBUG Checking to see if class org.apache.logging.log4j.core.layout.RFC5424Layout$NoopChecker matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,806 DEBUG Checking to see if class org.apache.logging.log4j.core.layout.RFC5424Layout$StructuredDataElement matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,806 DEBUG Checking to see if class org.apache.logging.log4j.core.layout.RFC5424Layout matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,806 DEBUG Checking to see if class org.apache.logging.log4j.core.layout.SerializedLayout$PrivateObjectOutputStream matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,807 DEBUG Checking to see if class org.apache.logging.log4j.core.layout.SerializedLayout matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,807 DEBUG Checking to see if class org.apache.logging.log4j.core.layout.SyslogLayout matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,807 DEBUG Checking to see if class org.apache.logging.log4j.core.layout.XMLLayout matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,807 DEBUG Checking to see if class org.apache.logging.log4j.core.Layout matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,808 DEBUG Checking to see if class org.apache.logging.log4j.core.LifeCycle matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,808 DEBUG Checking to see if class org.apache.logging.log4j.core.LogEvent matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,808 DEBUG Checking to see if class org.apache.logging.log4j.core.Logger$PrivateConfig matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,808 DEBUG Checking to see if class org.apache.logging.log4j.core.Logger matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,808 DEBUG Checking to see if class org.apache.logging.log4j.core.LoggerContext$ShutdownThread matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,808 DEBUG Checking to see if class org.apache.logging.log4j.core.LoggerContext$Status matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,809 DEBUG Checking to see if class org.apache.logging.log4j.core.LoggerContext matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,809 DEBUG Checking to see if class org.apache.logging.log4j.core.lookup.ContextMapLookup matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,809 DEBUG Checking to see if class org.apache.logging.log4j.core.lookup.DateLookup matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,809 DEBUG Checking to see if class org.apache.logging.log4j.core.lookup.EnvironmentLookup matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,809 DEBUG Checking to see if class org.apache.logging.log4j.core.lookup.Interpolator matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,810 DEBUG Checking to see if class org.apache.logging.log4j.core.lookup.JndiLookup matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,810 DEBUG Checking to see if class org.apache.logging.log4j.core.lookup.MapLookup matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,810 DEBUG Checking to see if class org.apache.logging.log4j.core.lookup.ResourceBundleLookup matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,810 DEBUG Checking to see if class org.apache.logging.log4j.core.lookup.StrLookup matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,810 DEBUG Checking to see if class org.apache.logging.log4j.core.lookup.StrMatcher$CharMatcher matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,810 DEBUG Checking to see if class org.apache.logging.log4j.core.lookup.StrMatcher$CharSetMatcher matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,811 DEBUG Checking to see if class org.apache.logging.log4j.core.lookup.StrMatcher$NoMatcher matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,811 DEBUG Checking to see if class org.apache.logging.log4j.core.lookup.StrMatcher$StringMatcher matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,811 DEBUG Checking to see if class org.apache.logging.log4j.core.lookup.StrMatcher$TrimMatcher matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,811 DEBUG Checking to see if class org.apache.logging.log4j.core.lookup.StrMatcher matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,811 DEBUG Checking to see if class org.apache.logging.log4j.core.lookup.StrSubstitutor matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,812 DEBUG Checking to see if class org.apache.logging.log4j.core.lookup.StructuredDataLookup matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,812 DEBUG Checking to see if class org.apache.logging.log4j.core.lookup.SystemPropertiesLookup matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,812 DEBUG Checking to see if class org.apache.logging.log4j.core.lookup.WebLookup matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,812 DEBUG Checking to see if class org.apache.logging.log4j.core.net.AbstractJMSManager matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,812 DEBUG Checking to see if class org.apache.logging.log4j.core.net.AbstractJMSReceiver matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,813 WARN Could not examine class 'org/apache/logging/log4j/core/net/AbstractJMSReceiver.class' due to a java.lang.NoClassDefFoundError with message: javax/jms/MessageListener 2014-02-12 14:52:37,813 DEBUG Checking to see if class org.apache.logging.log4j.core.net.AbstractSocketManager matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,813 DEBUG Checking to see if class org.apache.logging.log4j.core.net.Advertiser matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,813 DEBUG Checking to see if class org.apache.logging.log4j.core.net.DatagramOutputStream matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,813 DEBUG Checking to see if class org.apache.logging.log4j.core.net.DatagramSocketManager$1 matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,814 DEBUG Checking to see if class org.apache.logging.log4j.core.net.DatagramSocketManager$DatagramSocketManagerFactory matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,814 DEBUG Checking to see if class org.apache.logging.log4j.core.net.DatagramSocketManager$FactoryData matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,814 DEBUG Checking to see if class org.apache.logging.log4j.core.net.DatagramSocketManager matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,814 DEBUG Checking to see if class org.apache.logging.log4j.core.net.Facility matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,814 DEBUG Checking to see if class org.apache.logging.log4j.core.net.JMSQueueManager$1 matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,814 DEBUG Checking to see if class org.apache.logging.log4j.core.net.JMSQueueManager$FactoryData matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,815 DEBUG Checking to see if class org.apache.logging.log4j.core.net.JMSQueueManager$JMSQueueManagerFactory matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,815 DEBUG Checking to see if class org.apache.logging.log4j.core.net.JMSQueueManager$QueueInfo matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,815 DEBUG Checking to see if class org.apache.logging.log4j.core.net.JMSQueueManager matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,815 DEBUG Checking to see if class org.apache.logging.log4j.core.net.JMSQueueReceiver matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,816 WARN Could not examine class 'org/apache/logging/log4j/core/net/JMSQueueReceiver.class' due to a java.lang.NoClassDefFoundError with message: javax/jms/MessageListener 2014-02-12 14:52:37,816 DEBUG Checking to see if class org.apache.logging.log4j.core.net.JMSTopicManager$1 matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,816 DEBUG Checking to see if class org.apache.logging.log4j.core.net.JMSTopicManager$FactoryData matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,817 DEBUG Checking to see if class org.apache.logging.log4j.core.net.JMSTopicManager$JMSTopicManagerFactory matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,817 DEBUG Checking to see if class org.apache.logging.log4j.core.net.JMSTopicManager$TopicInfo matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,817 DEBUG Checking to see if class org.apache.logging.log4j.core.net.JMSTopicManager matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,817 DEBUG Checking to see if class org.apache.logging.log4j.core.net.JMSTopicReceiver matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,818 WARN Could not examine class 'org/apache/logging/log4j/core/net/JMSTopicReceiver.class' due to a java.lang.NoClassDefFoundError with message: javax/jms/MessageListener 2014-02-12 14:52:37,818 DEBUG Checking to see if class org.apache.logging.log4j.core.net.MimeMessageBuilder matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,818 DEBUG Checking to see if class org.apache.logging.log4j.core.net.MulticastDNSAdvertiser matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,819 DEBUG Checking to see if class org.apache.logging.log4j.core.net.Priority matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,819 DEBUG Checking to see if class org.apache.logging.log4j.core.net.Protocol matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,819 DEBUG Checking to see if class org.apache.logging.log4j.core.net.Severity$1 matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,819 DEBUG Checking to see if class org.apache.logging.log4j.core.net.Severity matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,819 DEBUG Checking to see if class org.apache.logging.log4j.core.net.SMTPManager$1 matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,820 DEBUG Checking to see if class org.apache.logging.log4j.core.net.SMTPManager$FactoryData matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,820 DEBUG Checking to see if class org.apache.logging.log4j.core.net.SMTPManager$SMTPManagerFactory$1 matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,820 WARN Could not examine class 'org/apache/logging/log4j/core/net/SMTPManager$SMTPManagerFactory$1.class' due to a java.lang.NoClassDefFoundError with message: javax/mail/Authenticator 2014-02-12 14:52:37,820 DEBUG Checking to see if class org.apache.logging.log4j.core.net.SMTPManager$SMTPManagerFactory matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,821 DEBUG Checking to see if class org.apache.logging.log4j.core.net.SMTPManager matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,821 DEBUG Checking to see if class org.apache.logging.log4j.core.net.SocketServer$ServerConfigurationFactory matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,821 DEBUG Checking to see if class org.apache.logging.log4j.core.net.SocketServer$SocketHandler matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,821 DEBUG Checking to see if class org.apache.logging.log4j.core.net.SocketServer matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,822 DEBUG Checking to see if class org.apache.logging.log4j.core.net.ssl.KeyStoreConfiguration matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,822 DEBUG Checking to see if class org.apache.logging.log4j.core.net.ssl.KeyStoreConfigurationException matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,822 DEBUG Checking to see if class org.apache.logging.log4j.core.net.ssl.SSLConfiguration matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,822 DEBUG Checking to see if class org.apache.logging.log4j.core.net.ssl.SSLConfigurationDefaults matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,822 DEBUG Checking to see if class org.apache.logging.log4j.core.net.ssl.SSLConfigurationException matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,822 DEBUG Checking to see if class org.apache.logging.log4j.core.net.ssl.StoreConfiguration matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,823 DEBUG Checking to see if class org.apache.logging.log4j.core.net.ssl.StoreConfigurationException matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,823 DEBUG Checking to see if class org.apache.logging.log4j.core.net.ssl.TrustStoreConfiguration matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,823 DEBUG Checking to see if class org.apache.logging.log4j.core.net.ssl.TrustStoreConfigurationException matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,823 DEBUG Checking to see if class org.apache.logging.log4j.core.net.TCPSocketManager$FactoryData matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,823 DEBUG Checking to see if class org.apache.logging.log4j.core.net.TCPSocketManager$Reconnector matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,823 DEBUG Checking to see if class org.apache.logging.log4j.core.net.TCPSocketManager$TCPSocketManagerFactory matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,824 DEBUG Checking to see if class org.apache.logging.log4j.core.net.TCPSocketManager matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,824 DEBUG Checking to see if class org.apache.logging.log4j.core.net.TLSSocketManager$1 matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,824 DEBUG Checking to see if class org.apache.logging.log4j.core.net.TLSSocketManager$TLSFactoryData matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,824 DEBUG Checking to see if class org.apache.logging.log4j.core.net.TLSSocketManager$TLSSocketManagerFactory$TLSSocketManagerFactoryException matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,824 DEBUG Checking to see if class org.apache.logging.log4j.core.net.TLSSocketManager$TLSSocketManagerFactory matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,825 DEBUG Checking to see if class org.apache.logging.log4j.core.net.TLSSocketManager matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,825 DEBUG Checking to see if class org.apache.logging.log4j.core.net.UDPSocketServer$ServerConfigurationFactory matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,825 DEBUG Checking to see if class org.apache.logging.log4j.core.net.UDPSocketServer matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,825 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.AbstractPatternConverter matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,825 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.AbstractStyleNameConverter$Black matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,825 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.AbstractStyleNameConverter$Blue matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,826 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.AbstractStyleNameConverter$Cyan matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,826 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.AbstractStyleNameConverter$Green matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,826 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.AbstractStyleNameConverter$Magenta matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,826 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.AbstractStyleNameConverter$Red matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,826 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.AbstractStyleNameConverter$White matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,826 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.AbstractStyleNameConverter$Yellow matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,827 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.AbstractStyleNameConverter matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,827 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.AnsiConverter matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,827 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.AnsiEscape matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,827 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.ArrayPatternConverter matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,827 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.CachedDateFormat matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,828 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.ClassNamePatternConverter matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,828 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.ConverterKeys matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,828 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.DatePatternConverter$1 matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,828 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.DatePatternConverter$Formatter matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,828 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.DatePatternConverter$PatternFormatter matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,828 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.DatePatternConverter$UnixFormatter matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,829 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.DatePatternConverter$UnixMillisFormatter matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,829 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.DatePatternConverter matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,829 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.ExtendedThrowablePatternConverter matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,829 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.FileDatePatternConverter matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,829 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.FileLocationPatternConverter matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,829 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.FormattingInfo matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,830 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.FullLocationPatternConverter matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,830 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.HighlightConverter matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,830 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.IntegerPatternConverter matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,830 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.LevelPatternConverter matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,830 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.LineLocationPatternConverter matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,831 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.LineSeparatorPatternConverter matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,831 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.LiteralPatternConverter matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,831 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.LogEventPatternConverter matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,831 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.LoggerPatternConverter matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,831 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.MapPatternConverter matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,831 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.MarkerPatternConverter matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,832 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.MDCPatternConverter matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,832 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.MessagePatternConverter matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,832 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.MethodLocationPatternConverter matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,832 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.NameAbbreviator$MaxElementAbbreviator matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,832 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.NameAbbreviator$NOPAbbreviator matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,832 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.NameAbbreviator$PatternAbbreviator matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,833 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.NameAbbreviator$PatternAbbreviatorFragment matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,833 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.NameAbbreviator matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,833 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.NamePatternConverter matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,833 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.NDCPatternConverter matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,833 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.PatternConverter matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,833 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.PatternFormatter matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,834 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.PatternParser$1 matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,834 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.PatternParser$ParserState matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,834 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.PatternParser matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,834 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.RegexReplacement matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,835 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.RegexReplacementConverter matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,835 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.RelativeTimePatternConverter matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,835 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.RootThrowablePatternConverter matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,835 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.SequenceNumberPatternConverter matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,835 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.StyleConverter matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,835 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.ThreadPatternConverter matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,836 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.ThrowablePatternConverter matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,836 DEBUG Checking to see if class org.apache.logging.log4j.core.pattern.UUIDPatternConverter matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,836 DEBUG Checking to see if class org.apache.logging.log4j.core.selector.BasicContextSelector matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,836 DEBUG Checking to see if class org.apache.logging.log4j.core.selector.ClassLoaderContextSelector$1 matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,836 DEBUG Checking to see if class org.apache.logging.log4j.core.selector.ClassLoaderContextSelector$PrivateSecurityManager matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,837 DEBUG Checking to see if class org.apache.logging.log4j.core.selector.ClassLoaderContextSelector matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,837 DEBUG Checking to see if class org.apache.logging.log4j.core.selector.ContextSelector matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,837 DEBUG Checking to see if class org.apache.logging.log4j.core.selector.JNDIContextSelector matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,837 DEBUG Checking to see if class org.apache.logging.log4j.core.selector.NamedContextSelector matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,837 DEBUG Checking to see if class org.apache.logging.log4j.core.web.Log4jServletContainerInitializer matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,838 WARN Could not examine class 'org/apache/logging/log4j/core/web/Log4jServletContainerInitializer.class' due to a java.lang.NoClassDefFoundError with message: javax/servlet/ServletContainerInitializer 2014-02-12 14:52:37,838 DEBUG Checking to see if class org.apache.logging.log4j.core.web.Log4jServletContextListener matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,838 WARN Could not examine class 'org/apache/logging/log4j/core/web/Log4jServletContextListener.class' due to a java.lang.NoClassDefFoundError with message: javax/servlet/ServletContextListener 2014-02-12 14:52:37,839 DEBUG Checking to see if class org.apache.logging.log4j.core.web.Log4jServletFilter matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,839 WARN Could not examine class 'org/apache/logging/log4j/core/web/Log4jServletFilter.class' due to a java.lang.NoClassDefFoundError with message: javax/servlet/Filter 2014-02-12 14:52:37,839 DEBUG Checking to see if class org.apache.logging.log4j.core.web.Log4jWebInitializer matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,839 DEBUG Checking to see if class org.apache.logging.log4j.core.web.Log4jWebInitializerImpl matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,840 DEBUG Checking to see if class org.apache.logging.log4j.core.web.Log4jWebSupport matches criteria [annotated with @Plugin is assignable to LogEventPatternConverter] 2014-02-12 14:52:37,841 DEBUG Generated plugins in 0.103261476 seconds 2014-02-12 14:52:37,843 DEBUG Calling createAppender on class org.apache.logging.log4j.core.appender.ConsoleAppender for element Console with params(PatternLayout(%d{DATE} %-5p LJX2-[mid:%X{pt_msg_id} uid:%X{pt_user_id} txid:%X{pt_tx_id}, pid:%X{pt_prod_id}] %c{1}: %m%n), null , target= "SYSTEM_OUT" , name= "test" , follow= " null " , ignoreExceptions= " null " ) 2014-02-12 14:52:37,843 DEBUG Jansi is not installed, cannot find org.fusesource.jansi.WindowsAnsiOutputStream 2014-02-12 14:52:37,844 DEBUG Calling createAppenders on class org.apache.logging.log4j.core.config.plugins.AppendersPlugin for element Appenders with params(Appenders={test}) 2014-02-12 14:52:37,845 DEBUG Calling createAppenderRef on class org.apache.logging.log4j.core.config.AppenderRef for element AppenderRef with params(ref= "test" , level= " null " , null ) 2014-02-12 14:52:37,846 DEBUG Calling createLogger on class org.apache.logging.log4j.core.config.LoggerConfig for element Logger with params(additivity= " null " , level= "DEBUG" , name= "top.Log4J2TestApp" , includeLocation= " null " , AppenderRef={test}, Properties={}, Configuration(F:\Dev\source\turin\trunk\l4j\target\classes\log4j2.xml), null ) 2014-02-12 14:52:37,847 DEBUG Calling createAppenderRef on class org.apache.logging.log4j.core.config.AppenderRef for element AppenderRef with params(ref= "test" , level= " null " , null ) 2014-02-12 14:52:37,848 DEBUG Calling createLogger on class org.apache.logging.log4j.core.config.LoggerConfig$RootLogger for element Root with params(additivity= " null " , level= "trace" , includeLocation= " null " , AppenderRef={test}, Properties={}, Configuration(F:\Dev\source\turin\trunk\l4j\target\classes\log4j2.xml), null ) 2014-02-12 14:52:37,849 DEBUG Calling createLoggers on class org.apache.logging.log4j.core.config.plugins.LoggersPlugin for element Loggers with params(Loggers={top.Log4J2TestApp, root}) 2014-02-12 14:52:37,853 DEBUG Registering MBean org.apache.logging.log4j2:type=sun.misc.Launcher$AppClassLoader@3326b249 2014-02-12 14:52:37,855 DEBUG Registering MBean org.apache.logging.log4j2:type=sun.misc.Launcher$AppClassLoader@3326b249,component=StatusLogger 2014-02-12 14:52:37,856 DEBUG Registering MBean org.apache.logging.log4j2:type=sun.misc.Launcher$AppClassLoader@3326b249,component=ContextSelector 2014-02-12 14:52:37,857 DEBUG Registering MBean org.apache.logging.log4j2:type=sun.misc.Launcher$AppClassLoader@3326b249,component=Loggers,name= 2014-02-12 14:52:37,858 DEBUG Registering MBean org.apache.logging.log4j2:type=sun.misc.Launcher$AppClassLoader@3326b249,component=Loggers,name=top.Log4J2TestApp 2014-02-12 14:52:37,858 DEBUG Registering MBean org.apache.logging.log4j2:type=sun.misc.Launcher$AppClassLoader@3326b249,component=Appenders,name=test 2014-02-12 14:52:37,859 DEBUG Reconfiguration completed 4. Switch to Configuration tab Location field contain: file:/F:/Dev/source/turin/trunk/l4j/target/classes/log4j2.xml 5. Edit XML config to change Logger level. Hit "Reconfigure using XML below" Get "reconfiguration complete" dialog and put back to "StatusLogger" tab. No errors in "StatusLogger" tab. No errors in App log after config update either. 6. switch back to "Configuration" tab. Instead of XML config, we have an exception displayed: java.lang.IllegalArgumentException: URI is not absolute at java.net.URI.toURL(URI.java:1079) at org.apache.logging.log4j.core.jmx.LoggerContextAdmin.readContents(LoggerContextAdmin.java:203) at org.apache.logging.log4j.core.jmx.LoggerContextAdmin.getConfigText(LoggerContextAdmin.java:161) at org.apache.logging.log4j.core.jmx.LoggerContextAdmin.getConfigText(LoggerContextAdmin.java:151) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:93) at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:27) at com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(MBeanIntrospector.java:208) at com.sun.jmx.mbeanserver.PerInterface.getAttribute(PerInterface.java:65) at com.sun.jmx.mbeanserver.MBeanSupport.getAttribute(MBeanSupport.java:218) at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.getAttribute(DefaultMBeanServerInterceptor.java:666) at com.sun.jmx.mbeanserver.JmxMBeanServer.getAttribute(JmxMBeanServer.java:639) at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1431) at javax.management.remote.rmi.RMIConnectionImpl.access$300(RMIConnectionImpl.java:74) at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1295) at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1387) at javax.management.remote.rmi.RMIConnectionImpl.getAttribute(RMIConnectionImpl.java:630) at sun.reflect.GeneratedMethodAccessor59.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:303) at sun.rmi.transport.Transport$1.run(Transport.java:159) at java.security.AccessController.doPrivileged(Native Method) at sun.rmi.transport.Transport.serviceCall(Transport.java:155) at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:535) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918) at java.lang.Thread.run(Thread.java:662) Location field is blank. 7. Paste old location value back in to location field. ( file:/F:/Dev/source/turin/trunk/l4j/target/classes/log4j2.xml Hit "reconfigure from location", and original config file loaded again. 8. Change the log level again and the change is made and the logging adjusts as desired. 9. Go back to the Config tab and see that the original config file is displayed without the change I just made. 10. I can go around 8 and 9 changing log levels as I please.
        Hide
        Colin Froggatt added a comment -

        Another exception I have seen a couple of times while going around this loop is the following:

        Exception occurred during event dispatching:
        java.lang.ArrayIndexOutOfBoundsException: 1
        	at javax.swing.plaf.basic.BasicTabbedPaneUI.paintTabArea(BasicTabbedPaneUI.java:817)
        	at javax.swing.plaf.basic.BasicTabbedPaneUI.paint(BasicTabbedPaneUI.java:780)
        	at javax.swing.plaf.ComponentUI.update(ComponentUI.java:143)
        	at javax.swing.JComponent.paintComponent(JComponent.java:760)
        	at javax.swing.JComponent.paint(JComponent.java:1037)
        	at javax.swing.JComponent.paintChildren(JComponent.java:870)
        	at javax.swing.JComponent.paint(JComponent.java:1046)
        	at javax.swing.JComponent.paintChildren(JComponent.java:870)
        	at javax.swing.JComponent.paint(JComponent.java:1046)
        	at javax.swing.JComponent.paintChildren(JComponent.java:870)
        	at javax.swing.JComponent.paint(JComponent.java:1046)
        	at javax.swing.JComponent.paintChildren(JComponent.java:870)
        	at javax.swing.JComponent.paint(JComponent.java:1046)
        	at javax.swing.JComponent.paintToOffscreen(JComponent.java:5132)
        	at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(RepaintManager.java:1523)
        	at javax.swing.RepaintManager$PaintManager.paint(RepaintManager.java:1454)
        	at javax.swing.RepaintManager.paint(RepaintManager.java:1257)
        	at javax.swing.JComponent._paintImmediately(JComponent.java:5080)
        	at javax.swing.JComponent.paintImmediately(JComponent.java:4890)
        	at javax.swing.RepaintManager$3.run(RepaintManager.java:814)
        	at javax.swing.RepaintManager$3.run(RepaintManager.java:802)
        	at java.security.AccessController.doPrivileged(Native Method)
        	at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
        	at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:802)
        	at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:745)
        	at javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:725)
        	at javax.swing.RepaintManager.access$1000(RepaintManager.java:46)
        	at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1668)
        	at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
        	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:672)
        	at java.awt.EventQueue.access$400(EventQueue.java:81)
        	at java.awt.EventQueue$2.run(EventQueue.java:633)
        	at java.awt.EventQueue$2.run(EventQueue.java:631)
        	at java.security.AccessController.doPrivileged(Native Method)
        	at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
        	at java.awt.EventQueue.dispatchEvent(EventQueue.java:642)
        	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
        	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
        	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:178)
        	at java.awt.Dialog$1.run(Dialog.java:1052)
        	at java.awt.Dialog$3.run(Dialog.java:1104)
        	at java.security.AccessController.doPrivileged(Native Method)
        	at java.awt.Dialog.show(Dialog.java:1102)
        	at javax.swing.JOptionPane.showOptionDialog(JOptionPane.java:853)
        	at javax.swing.JOptionPane.showMessageDialog(JOptionPane.java:650)
        	at javax.swing.JOptionPane.showMessageDialog(JOptionPane.java:621)
        	at org.apache.logging.log4j.jmx.gui.ClientEditConfigPanel.showConfirmation(ClientEditConfigPanel.java:110)
        	at org.apache.logging.log4j.jmx.gui.ClientEditConfigPanel.access$300(ClientEditConfigPanel.java:43)
        	at org.apache.logging.log4j.jmx.gui.ClientEditConfigPanel$2.actionPerformed(ClientEditConfigPanel.java:85)
        	at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
        	at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
        	at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
        	at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
        	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
        	at java.awt.Component.processMouseEvent(Component.java:6297)
        	at javax.swing.JComponent.processMouseEvent(JComponent.java:3275)
        	at java.awt.Component.processEvent(Component.java:6062)
        	at java.awt.Container.processEvent(Container.java:2039)
        	at java.awt.Component.dispatchEventImpl(Component.java:4660)
        	at java.awt.Container.dispatchEventImpl(Container.java:2097)
        	at java.awt.Component.dispatchEvent(Component.java:4488)
        	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4575)
        	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4236)
        	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4166)
        	at java.awt.Container.dispatchEventImpl(Container.java:2083)
        	at java.awt.Window.dispatchEventImpl(Window.java:2489)
        	at java.awt.Component.dispatchEvent(Component.java:4488)
        	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:674)
        	at java.awt.EventQueue.access$400(EventQueue.java:81)
        	at java.awt.EventQueue$2.run(EventQueue.java:633)
        	at java.awt.EventQueue$2.run(EventQueue.java:631)
        	at java.security.AccessController.doPrivileged(Native Method)
        	at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
        	at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
        	at java.awt.EventQueue$3.run(EventQueue.java:647)
        	at java.awt.EventQueue$3.run(EventQueue.java:645)
        	at java.security.AccessController.doPrivileged(Native Method)
        	at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
        	at java.awt.EventQueue.dispatchEvent(EventQueue.java:644)
        	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
        	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
        	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
        	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
        	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
        	at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
        Exception occurred during event dispatching:
        java.lang.ArrayIndexOutOfBoundsException
        

        This is always after pressing "reconfigure with XML below". It opens in a dialog titled "JConsole:Output". After it pops up it is possible to ignore it and carry on with all the above steps.

        Show
        Colin Froggatt added a comment - Another exception I have seen a couple of times while going around this loop is the following: Exception occurred during event dispatching: java.lang.ArrayIndexOutOfBoundsException: 1 at javax.swing.plaf.basic.BasicTabbedPaneUI.paintTabArea(BasicTabbedPaneUI.java:817) at javax.swing.plaf.basic.BasicTabbedPaneUI.paint(BasicTabbedPaneUI.java:780) at javax.swing.plaf.ComponentUI.update(ComponentUI.java:143) at javax.swing.JComponent.paintComponent(JComponent.java:760) at javax.swing.JComponent.paint(JComponent.java:1037) at javax.swing.JComponent.paintChildren(JComponent.java:870) at javax.swing.JComponent.paint(JComponent.java:1046) at javax.swing.JComponent.paintChildren(JComponent.java:870) at javax.swing.JComponent.paint(JComponent.java:1046) at javax.swing.JComponent.paintChildren(JComponent.java:870) at javax.swing.JComponent.paint(JComponent.java:1046) at javax.swing.JComponent.paintChildren(JComponent.java:870) at javax.swing.JComponent.paint(JComponent.java:1046) at javax.swing.JComponent.paintToOffscreen(JComponent.java:5132) at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(RepaintManager.java:1523) at javax.swing.RepaintManager$PaintManager.paint(RepaintManager.java:1454) at javax.swing.RepaintManager.paint(RepaintManager.java:1257) at javax.swing.JComponent._paintImmediately(JComponent.java:5080) at javax.swing.JComponent.paintImmediately(JComponent.java:4890) at javax.swing.RepaintManager$3.run(RepaintManager.java:814) at javax.swing.RepaintManager$3.run(RepaintManager.java:802) at java.security.AccessController.doPrivileged(Native Method) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87) at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:802) at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:745) at javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:725) at javax.swing.RepaintManager.access$1000(RepaintManager.java:46) at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1668) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:672) at java.awt.EventQueue.access$400(EventQueue.java:81) at java.awt.EventQueue$2.run(EventQueue.java:633) at java.awt.EventQueue$2.run(EventQueue.java:631) at java.security.AccessController.doPrivileged(Native Method) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87) at java.awt.EventQueue.dispatchEvent(EventQueue.java:642) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:178) at java.awt.Dialog$1.run(Dialog.java:1052) at java.awt.Dialog$3.run(Dialog.java:1104) at java.security.AccessController.doPrivileged(Native Method) at java.awt.Dialog.show(Dialog.java:1102) at javax.swing.JOptionPane.showOptionDialog(JOptionPane.java:853) at javax.swing.JOptionPane.showMessageDialog(JOptionPane.java:650) at javax.swing.JOptionPane.showMessageDialog(JOptionPane.java:621) at org.apache.logging.log4j.jmx.gui.ClientEditConfigPanel.showConfirmation(ClientEditConfigPanel.java:110) at org.apache.logging.log4j.jmx.gui.ClientEditConfigPanel.access$300(ClientEditConfigPanel.java:43) at org.apache.logging.log4j.jmx.gui.ClientEditConfigPanel$2.actionPerformed(ClientEditConfigPanel.java:85) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236) at java.awt.Component.processMouseEvent(Component.java:6297) at javax.swing.JComponent.processMouseEvent(JComponent.java:3275) at java.awt.Component.processEvent(Component.java:6062) at java.awt.Container.processEvent(Container.java:2039) at java.awt.Component.dispatchEventImpl(Component.java:4660) at java.awt.Container.dispatchEventImpl(Container.java:2097) at java.awt.Component.dispatchEvent(Component.java:4488) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4575) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4236) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4166) at java.awt.Container.dispatchEventImpl(Container.java:2083) at java.awt.Window.dispatchEventImpl(Window.java:2489) at java.awt.Component.dispatchEvent(Component.java:4488) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:674) at java.awt.EventQueue.access$400(EventQueue.java:81) at java.awt.EventQueue$2.run(EventQueue.java:633) at java.awt.EventQueue$2.run(EventQueue.java:631) at java.security.AccessController.doPrivileged(Native Method) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98) at java.awt.EventQueue$3.run(EventQueue.java:647) at java.awt.EventQueue$3.run(EventQueue.java:645) at java.security.AccessController.doPrivileged(Native Method) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87) at java.awt.EventQueue.dispatchEvent(EventQueue.java:644) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161) at java.awt.EventDispatchThread.run(EventDispatchThread.java:122) Exception occurred during event dispatching: java.lang.ArrayIndexOutOfBoundsException This is always after pressing "reconfigure with XML below". It opens in a dialog titled "JConsole:Output". After it pops up it is possible to ignore it and carry on with all the above steps.
        Hide
        Noel Grandin added a comment -

        This kind of exception:

        java.lang.ArrayIndexOutOfBoundsException: 1
        at javax.swing.plaf.basic.BasicTabbedPaneUI.paintTabArea(BasicTabbedPaneUI.java:817)
        at javax.swing.plaf.basic.BasicTabbedPaneUI.paint(BasicTabbedPaneUI.java:780)
        at javax.swing.plaf.ComponentUI.update(ComponentUI.java:143)

        is normally an indication that some piece of code somewhere is modifying the UI from outside the EDT.

        Show
        Noel Grandin added a comment - This kind of exception: java.lang.ArrayIndexOutOfBoundsException: 1 at javax.swing.plaf.basic.BasicTabbedPaneUI.paintTabArea(BasicTabbedPaneUI.java:817) at javax.swing.plaf.basic.BasicTabbedPaneUI.paint(BasicTabbedPaneUI.java:780) at javax.swing.plaf.ComponentUI.update(ComponentUI.java:143) is normally an indication that some piece of code somewhere is modifying the UI from outside the EDT.
        Hide
        Remko Popma added a comment -

        Colin, thanks for verifying!

        It looks like you have found two new issues:

        • occasional ArrayIndexOutOfBoundsException after pressing "reconfigure with XML below"
        • IllegalArgumentException after editing config, pressing "Reconfigure using XML below" and switching to StatusLogger tab and then back to the Configuration tab.

        Can I ask you to create separate Jira tickets for these issues?
        Also, has this issue (LOG4J2-443) been resolved to your satisfaction? Ok to close it?

        Show
        Remko Popma added a comment - Colin, thanks for verifying! It looks like you have found two new issues: occasional ArrayIndexOutOfBoundsException after pressing "reconfigure with XML below" IllegalArgumentException after editing config, pressing "Reconfigure using XML below" and switching to StatusLogger tab and then back to the Configuration tab. Can I ask you to create separate Jira tickets for these issues? Also, has this issue ( LOG4J2-443 ) been resolved to your satisfaction? Ok to close it?
        Hide
        Colin Froggatt added a comment -

        Hi Remko. I have raised the following Jira's:

        LOG4J2-539 - IllegalArgumentException after editing config, pressing "Reconfigure using XML below"
        LOG4J2-538 - occasional ArrayIndexOutOfBoundsException after pressing "reconfigure with XML below"

        As far as this issue is concerned, yes, it is fixed and I will close.

        Show
        Colin Froggatt added a comment - Hi Remko. I have raised the following Jira's: LOG4J2-539 - IllegalArgumentException after editing config, pressing "Reconfigure using XML below" LOG4J2-538 - occasional ArrayIndexOutOfBoundsException after pressing "reconfigure with XML below" As far as this issue is concerned, yes, it is fixed and I will close.

          People

          • Assignee:
            Remko Popma
            Reporter:
            Colin Froggatt
          • Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development