logging-log4j-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Remko Popma <remko.po...@gmail.com>
Subject Re: Issues with JMX Mbean
Date Tue, 22 Mar 2016 23:50:18 GMT
Hi Thomas,

Thanks for reporting these issues. 
Would you mind raising a Jira ticket for them: I don't have time to investigate at the moment
and if there's no Jira ticket they might drop below the mailbox horizon and end up forgotten...

Thanks! Remko

Sent from my iPhone

> On 2016/03/22, at 19:48, Thomas Papke <thomas.papke@icw.de> wrote:
> 
> Hello all,
> 
> I start using Log4j2 2.5 with an Apache Tomcat container. The integration works so fare,
but I have identified some issues with the exposed Jconsole Mbean.
> 
> 1.       The loggers run into a NullPointer if someone use an incorrect logger name.
After this nullpointer, the Mbean display "Unavailable" for this logger, so the whole config
file must be reloaded. Here the log output of my local testing. I would expect that the logger
do not except the incorrect value and internally remain with the previous value (maybe throw
a IllegalArgumentException to give a feedback to the user).
> 
> validating [row=4, column=1]: Level=asdfasdf
> 
> setAttribute(Level=asdfasdf)
> 
> java.lang.NullPointerException
> 
>               at org.apache.logging.log4j.core.config.LoggerConfig.getLevel(LoggerConfig.java:261)
> 
>               at org.apache.logging.log4j.core.Logger$PrivateConfig.<init>(Logger.java:312)
> 
>               at org.apache.logging.log4j.core.Logger.updateConfiguration(Logger.java:293)
> 
>               at org.apache.logging.log4j.core.LoggerContext.updateLoggers(LoggerContext.java:595)
> 
>               at org.apache.logging.log4j.core.LoggerContext.updateLoggers(LoggerContext.java:585)
> 
>               at org.apache.logging.log4j.core.jmx.LoggerConfigAdmin.setLevel(LoggerConfigAdmin.java:82)
> 
> 2.       The ConfigLocationUri is also editable in the Mbean, but the behavior is a bit
strange. If I type in the correct location e.g. "file:/opt/tomcat /apache-tomcat/conf/log4j2.xml"
it correctly load the file once. But afterwards the "ConfigLocationUri" has automatically
changed to "file:/opt/tomcat/apache-tomcat/bin/file:/opt/tomcat/apache-tomcat/conf/log4j2.xml"
which is no longer a valid path. So it seems to log4j prefixes "file:/opt/tomcat/apache-tomcat/bin/"
(this folder is the root folder where tomcat was started from) to my input.
> 
> 3.       The JMX ConfigLocationUri seems to partially struggle with "classpath:" Uris
that point to the classpath of one of the webapps (I use log4j-web.jar in the webapp). I saw
that the LoggerContextAdmin internally use "new URL(configLocation);" to load the file. Is
it may be necessary to first identify the correct Classloader?
> 
> 
> 
> Any feedback on my reported issues are welcome.
> 
> Kind regards,
> Thomas
> 
> 
> InterComponentWare AG:
> Vorstand: Peter Kirschbauer (Vors.), Matthias Gl?ck
> Aufsichtsratsvors.: Prof. Dr. Christof Hettich
> Unternehmenssitz: 69190 Walldorf, Altrottstra?e 31
> AG Mannheim HRB 351761 / USt.-IdNr.: DE 198388516
> 

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


Mime
View raw message