[ https://issues.apache.org/jira/browse/LOG4J2-443?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13899110#comment-13899110 ]
Remko Popma edited comment on LOG4J2-443 at 2/12/14 1:52 PM: ------------------------------------------------------------- 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? was (Author: rem...@yahoo.com): I saw a similar error when I was testing my fixes for LOG4J2-500 and LOG4J2-531. 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? > log4j2 LoggerContext not showing up in JMX Gui or JConsole > ---------------------------------------------------------- > > Key: LOG4J2-443 > URL: https://issues.apache.org/jira/browse/LOG4J2-443 > Project: Log4j 2 > Issue Type: Bug > Components: JMX > Affects Versions: 2.0-beta9 > Environment: Java 1.6.0_45-b06 on win7 (same behaviour on Java 7) > Reporter: Colin Froggatt > Assignee: Remko Popma > Fix For: 2.0-rc1, 2.0 > > > This issue raised after request to do so by Remko in [StackOverflow question > |http://stackoverflow.com/questions/19816528/log4j2-loggercontext-not-showing-up-in-jmx-gui-or-jconsole]. > > 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: > {code} > log4j-api-2.0-beta9.jar > log4j-core-2.0-beta9.jar > {code} > My log4j2.xml: > {code} > <?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> > {code} > My test program: > {code} > 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); > } > } > } > {code} > The output of the test program looks like this: > {code} > ******** 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 > {code} > The StatusLogger tab in the log4j-jmx-gui does have one exception but it > would seem to have nothing to do with the loggers. > {code} > 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 > {code} -- This message was sent by Atlassian JIRA (v6.1.5#6160) --------------------------------------------------------------------- To unsubscribe, e-mail: log4j-dev-unsubscr...@logging.apache.org For additional commands, e-mail: log4j-dev-h...@logging.apache.org