logging-log4j-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Curt Arnold <carn...@apache.org>
Subject Re: [COMPATIBILITY] LoggerRepository & LoggerRepositoryEx
Date Wed, 18 Jan 2006 19:18:56 GMT

On Jan 3, 2006, at 1:50 AM, Curt Arnold wrote:

> On Jan 3, 2006, at 1:05 AM, Jacob Kjome wrote:
>> I don't see this happening quite so much as with the  
>> RepositorySelector interface, which did change between 1.2 and  
>> 1.3.  The changes are somewhat important for 1.3's usage... at  
>> least it used to be.  I haven't tracked all the recent changes.  I  
>> hope the recent changes don't blow away stuff like self-logging  
>> and improvements to repository selectors.
>> Jake
> Looks like RepositorySelector poses a similar problem as  
> LoggerRepository.  From my analysis of the code, it does appear  
> that the intention was to allow clients to specify their own  
> RepositorySelector and the following page gives an example of  
> implementing a log4j 1.2 RepositorySelector for a JBoss app (http:// 
> www.jboss.org/wiki/Wiki.jsp?page=Logging).
> http://jira.jboss.com/jira/browse/JBAS-1853 is a JBoss JIRA issue  
> suggests that at least that user attempted to implement a log4j 1.2  
> LoggerRepository.
> My understanding is that if an app that implemented the log4j 1.2  
> version of LoggerRepository or RepositorySelector passes that  
> object into log4j 1.3 then any attempt to call one of the log4j 1.3  
> introduced methods would raise an unchecked NoSuchMethodException.   
> In the case of LoggerRepository, I put if(repo instanceof  
> LoggerRepositoryEx) guards around any calls to the new methods and  
> attempted to implement reasonable fallback behavior.  I have not  
> looked at RepositorySelector and do not know how reasonable it  
> would be to implement acceptable fallback behavior if presented  
> with a 1.2.x implementation of RepositorySelector.

This thread went quiet without a clear resolution.  The sites listed  
seem to be very compelling evidence that some users (particularly  
within JBoss apps) will have implemented log4j 1.2's  
RepositorySelector and LoggerRepository interfaces and I suspect that  
they would not be happy if their apps started crashing with  
NoSuchMethodException's if they updated to log4j 1.3.

I  think it would be good to split RepositorySelector  into a log4j  
1.2 compatible interface and an extended interface as was done with  
LoggerRepository.  I intend to investigate in the next few days and  
will report to the list before committing, but wanted to give the  
list a heads up. 

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

View raw message