This looks fine to me. There is some leakage that needs to happen. The intLevel() method returns the int value and that is used by Logger in core to make the level evaluation as fast as possible.
Ralph On Mar 25, 2014, at 7:51 AM, Gary Gregory <[email protected]> wrote: > Please see {{log4j2-579.diff}} for a proposed new API set > (https://issues.apache.org/jira/secure/attachment/12636707/log4j2-579.diff). > > I removed the int APIs since it feels like it is leaking encapsulation: the > user should not care that ints are used internally. > > Thank you > Gary > > > On Mon, Mar 24, 2014 at 11:14 PM, Gary Gregory <[email protected]> wrote: > I'd like to review all this again tomorrow with Ralph's comments in mind. If > methods are removed we just need to update the migration guide. > > Gary > > > -------- Original message -------- > From: Remko Popma > Date:03/24/2014 21:05 (GMT-05:00) > To: Log4J Developers List > Subject: Re: Level.isGreaterOrEqual: svn commit: r1581082 - > /logging/log4j/log4j2/trunk/log4j-api/src/main/java/org/apache/logging/log4j/Level.java > > > Thanks for the clarification. > > Just took a quick look. Level now has methods isGreaterOrEqual and > isLessOrEqual, and they are both implemented as > return this.intLevel <= level.intLevel; > > That looks strange. > > Sent from my iPhone > > On 2014/03/25, at 9:00, Ralph Goers <[email protected]> wrote: > >> Gary just added it. As I stated earlier, I am not really in favor of it and >> would prefer that it and isLessOrEqual both be removed leaving only >> isAtLeastAsSpecificAs, which is the Log4j 2 equivalent of isGreaterOrEqual >> in Log4j 1. >> >> >> On Mar 24, 2014, at 4:47 PM, Remko Popma <[email protected]> wrote: >> >>> I may have lost track with the many commits recently, but is >>> Level.isGreaterOrEqual a newly added method? If it was a previously >>> existing method in log4j2 then is it really a good idea to reverse the >>> meaning? >>> >>> Sent from my iPhone >>> >>> Sent from my iPhone >>> >>> On 2014/03/25, at 6:49, [email protected] wrote: >>> >>>> Author: ggregory >>>> Date: Mon Mar 24 21:49:15 2014 >>>> New Revision: 1581082 >>>> >>>> URL: http://svn.apache.org/r1581082 >>>> Log: >>>> Fix level comparisons, version 1 and 2 are opposites in usage of internal >>>> level ints! >>>> >>>> Modified: >>>> >>>> logging/log4j/log4j2/trunk/log4j-api/src/main/java/org/apache/logging/log4j/Level.java >>>> >>>> Modified: >>>> logging/log4j/log4j2/trunk/log4j-api/src/main/java/org/apache/logging/log4j/Level.java >>>> URL: >>>> http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/log4j-api/src/main/java/org/apache/logging/log4j/Level.java?rev=1581082&r1=1581081&r2=1581082&view=diff >>>> ============================================================================== >>>> --- >>>> logging/log4j/log4j2/trunk/log4j-api/src/main/java/org/apache/logging/log4j/Level.java >>>> (original) >>>> +++ >>>> logging/log4j/log4j2/trunk/log4j-api/src/main/java/org/apache/logging/log4j/Level.java >>>> Mon Mar 24 21:49:15 2014 >>>> @@ -153,7 +153,7 @@ public final class Level implements Comp >>>> * @return True if the given Level is less specific or the same than >>>> this Level. >>>> */ >>>> public boolean isGreaterOrEqual(final int level) { >>>> - return this.intLevel >= level; >>>> + return this.intLevel <= level; >>>> } >>>> >>>> /** >>>> @@ -163,7 +163,7 @@ public final class Level implements Comp >>>> * @return True if the given Level is less specific or the same than >>>> this Level. >>>> */ >>>> public boolean isGreaterOrEqual(final Level level) { >>>> - return this.intLevel >= level.intLevel; >>>> + return this.intLevel <= level.intLevel; >>>> } >>>> >>>> /** >>>> >>>> >> > > > > -- > E-Mail: [email protected] | [email protected] > Java Persistence with Hibernate, Second Edition > JUnit in Action, Second Edition > Spring Batch in Action > Blog: http://garygregory.wordpress.com > Home: http://garygregory.com/ > Tweet! http://twitter.com/GaryGregory
