Return-Path: X-Original-To: apmail-logging-log4j-dev-archive@www.apache.org Delivered-To: apmail-logging-log4j-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 62F7310E80 for ; Wed, 12 Feb 2014 13:30:24 +0000 (UTC) Received: (qmail 65657 invoked by uid 500); 12 Feb 2014 13:30:23 -0000 Delivered-To: apmail-logging-log4j-dev-archive@logging.apache.org Received: (qmail 65604 invoked by uid 500); 12 Feb 2014 13:30:22 -0000 Mailing-List: contact log4j-dev-help@logging.apache.org; run by ezmlm Precedence: bulk List-Unsubscribe: List-Help: List-Post: List-Id: "Log4J Developers List" Reply-To: "Log4J Developers List" Delivered-To: mailing list log4j-dev@logging.apache.org Received: (qmail 65572 invoked by uid 99); 12 Feb 2014 13:30:19 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 12 Feb 2014 13:30:19 +0000 Date: Wed, 12 Feb 2014 13:30:19 +0000 (UTC) From: "Colin Froggatt (JIRA)" To: log4j-dev@logging.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (LOG4J2-443) log4j2 LoggerContext not showing up in JMX Gui or JConsole MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/LOG4J2-443?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13899083#comment-13899083 ] Colin Froggatt commented on LOG4J2-443: --------------------------------------- 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: {code} 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 {code} Exception from standalone version: {code:java} 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.(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 {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 > 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} > > > > > > > > > > > > > > > > > {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.(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.(PatternParser.java:116) > at org.apache.logging.log4j.core.pattern.PatternParser.(PatternParser.java:102) > at org.apache.logging.log4j.core.layout.PatternLayout.createPatternParser(PatternLayout.java:183) > at org.apache.logging.log4j.core.layout.PatternLayout.(PatternLayout.java:115) > at org.apache.logging.log4j.core.layout.PatternLayout.createLayout(PatternLayout.java:219) > at org.apache.logging.log4j.core.config.DefaultConfiguration.(DefaultConfiguration.java:51) > at org.apache.logging.log4j.core.LoggerContext.(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-unsubscribe@logging.apache.org For additional commands, e-mail: log4j-dev-help@logging.apache.org