You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4j-dev@logging.apache.org by "Tudor Har (JIRA)" <ji...@apache.org> on 2013/11/08 06:00:18 UTC

[jira] [Commented] (LOG4J2-443) log4j2 LoggerContext not showing up in JMX Gui or JConsole

    [ https://issues.apache.org/jira/browse/LOG4J2-443?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13816996#comment-13816996 ] 

Tudor Har commented on LOG4J2-443:
----------------------------------

I got same issue running same Log4J release JMX GUI, on MacOS, same Java version: {code}
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)
{code}

The same issue happens when I connect remotely, to a server running on CentOS, with slightly older JVM {code}
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)
{code}

In both environments, I have couple more logging JARs: {code}
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
{code}

> 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
>
> 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#6144)

---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-dev-unsubscribe@logging.apache.org
For additional commands, e-mail: log4j-dev-help@logging.apache.org