Log4j 2
  1. Log4j 2
  2. LOG4J2-539

IllegalArgumentException after editing config, pressing "Reconfigure using XML below"

    Details

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

      Windows 7, Java 1.6.0_45-b06

      Description

      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.

        Issue Links

          Activity

          Hide
          Remko Popma added a comment -

          Colin,
          Thanks for reporting this. I updated the docs to reflect that the log4j-api jar must be specified in the pluginpath.

          The error you found seems to be a regression caused by the fix for LOG4J2-406 and LOG4J2-500. Before that fix, the MBean for the LoggerContext was never unloaded, and this MBean actually keeps track of the configuration text set by the JMX GUI. After the fix, the MBean that tracked the modified text is unloaded and a new MBean is created for the reconfigured LoggerContext. This new MBean no longer has the modified text. The MBean then tries to load the config text from the config location, but because the config text was set by the JMX GUI there is no config location, resulting in the error you are seeing.

          Still thinking about the best way to address this...

          Show
          Remko Popma added a comment - Colin, Thanks for reporting this. I updated the docs to reflect that the log4j-api jar must be specified in the pluginpath. The error you found seems to be a regression caused by the fix for LOG4J2-406 and LOG4J2-500 . Before that fix, the MBean for the LoggerContext was never unloaded, and this MBean actually keeps track of the configuration text set by the JMX GUI. After the fix, the MBean that tracked the modified text is unloaded and a new MBean is created for the reconfigured LoggerContext. This new MBean no longer has the modified text. The MBean then tries to load the config text from the config location, but because the config text was set by the JMX GUI there is no config location, resulting in the error you are seeing. Still thinking about the best way to address this...
          Hide
          Remko Popma added a comment - - edited

          Added link to LOG4J2-392: when reproducing this issue with a configuration that contains an <AsyncLogger> I found that the fix is still incomplete.


          Update: LOG4J2-392 is now resolved.

          Show
          Remko Popma added a comment - - edited Added link to LOG4J2-392 : when reproducing this issue with a configuration that contains an <AsyncLogger> I found that the fix is still incomplete. Update: LOG4J2-392 is now resolved.
          Hide
          Remko Popma added a comment -

          Fixed in revision 1603937.

          The solution was to provide a reliable way to get the configuration contents and location from the LoggerContext itself, rather than trying to keep track of this information in the MBean.

          Please verify and close.

          Show
          Remko Popma added a comment - Fixed in revision 1603937. The solution was to provide a reliable way to get the configuration contents and location from the LoggerContext itself, rather than trying to keep track of this information in the MBean. Please verify and close.

            People

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

              Dates

              • Created:
                Updated:
                Resolved:

                Development