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