You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4j-dev@logging.apache.org by "Ralph Goers (JIRA)" <ji...@apache.org> on 2014/03/01 01:06:24 UTC

[jira] [Resolved] (LOG4J2-552) Logic of isInstanceOf are not consistent in log4j-api's Log4jMarker and log4j-slf4j-impl's MarkerWrapper

     [ https://issues.apache.org/jira/browse/LOG4J2-552?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Ralph Goers resolved LOG4J2-552.
--------------------------------

    Resolution: Not A Problem

> 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: log4j-dev-unsubscribe@logging.apache.org
For additional commands, e-mail: log4j-dev-help@logging.apache.org