logging-log4j-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Curt Arnold <carn...@apache.org>
Subject Re: LogMananger.repositorySelector was null
Date Wed, 23 Apr 2008 17:03:28 GMT

On Apr 23, 2008, at 9:59 AM, hezjing wrote:

> Hi
>
> My web-based application is using log4j release 1.2.15 and running on
> Tomcat 5.5 (as a Windows service).
> When I stopped the Tomcat service, the following error is printed in
> stdout_20080423.log
>
>   log4j:ERROR LogMananger.repositorySelector was null likely due to
> error in class reloading, using NOPLoggerRepository.
>
>
> What does this means?
>

Certain versions of Tomcat with certain configurations can leave log4j  
in a corrupted state that is unreachable by normal language means as  
the Tomcat classloader will set to null private static members in  
order to prevent a class of memory leaks.  It would be fine if that  
only occurred after the class was no longer used, but in some poorly  
defined instances, log4j will still be referenced after the Tomcat  
classloader plays with it.  The error indicates that a log request was  
attempted after Tomcat played with it.  Prior to log4j 1.2.15, that  
would result in a NullPointerException.  In log4j 1.2.15 and later, it  
results in this error message and all subsequent logging requests are  
discarded.  If this happens only on shutdown, you may not have missed  
anything.

For more background than you probably want, see the Tomcat and log4j  
bugs:

http://issues.apache.org/bugzilla/show_bug.cgi?id=41939
http://issues.apache.org/bugzilla/show_bug.cgi?id=40212
http://issues.apache.org/bugzilla/show_bug.cgi?id=43867


---------------------------------------------------------------------
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