I'd want to see what you are proposing before I would go along with that.

Ralph

> On Feb 26, 2014, at 1:36 PM, Matt Sicker <[email protected]> wrote:
> 
> That reminds me. I think a lot of the interfaces could use abstract base 
> classes, too. At least the main ones like LoggerContext, Marker, the Manager 
> classes, etc. It does help with implementations.
> 
> Matt Sicker
> 
>> On Feb 26, 2014, at 4:19, "RainJ (JIRA)" <[email protected]> wrote:
>> 
>> RainJ created LOG4J2-552:
>> ----------------------------
>> 
>>            Summary: Logic of isInstanceOf are not consistent in log4j-api's 
>> Log4jMarker and log4j-slf4j-impl's MarkerWrapper
>>                Key: LOG4J2-552
>>                URL: https://issues.apache.org/jira/browse/LOG4J2-552
>>            Project: Log4j 2
>>         Issue Type: Bug
>>         Components: API, SLF4J Bridge
>>   Affects Versions: 2.0-rc1
>>           Reporter: RainJ
>> 
>> 
>> The logic  of isInstanceOf is not consistent for Marker implements in 
>> log4j-api's Log4jMarker and log4j-slf4j-iml's MarkerWrapper.
>> In Log4jMarker
>> ---------------------------------------------
>>          @Override
>>       public boolean isInstanceOf(final String name) {
>>           if (name == null) {
>>               throw new IllegalArgumentException("A marker name is 
>> required");
>>           }
>>           Marker toTest = this;
>>           do {
>>               if (name.equals(toTest.getName())) {
>>                   return true;
>>               }
>>               toTest = toTest.getParent();
>>           } while (toTest != null);
>>           return false;
>>       }
>> ---------------------------------------------
>> in MarkerWrapper
>> ---------------------------------------------
>> @Override
>>   public boolean isInstanceOf(final Marker marker) {
>>       if (marker == null) {
>>           throw new IllegalArgumentException("A marker parameter is 
>> required");
>>       }
>> 
>>       if (marker instanceof MarkerWrapper) {
>>           return contains((MarkerWrapper) marker);
>>       } else {
>>           return contains(marker.getName());
>>       }
>>   }
>> 
>>   @Override
>>   public boolean isInstanceOf(final String name) {
>>       if (name == null) {
>>           throw new IllegalArgumentException("A marker name is required");
>>       }
>>       return contains(name);
>>   }
>> -----------------------------------------
>> 
>> in Log4jMarker, the isInstanceOf means the marker is instance of itself or 
>> its parent
>> 
>> in MarkerWrapper, the isInstance of means the marker is instance of itself 
>> or its children
>> 
>> 
>> 
>> 
>> --
>> This message was sent by Atlassian JIRA
>> (v6.1.5#6160)
>> 
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [email protected]
>> For additional commands, e-mail: [email protected]
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to