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]
