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]

Reply via email to