[ 
https://issues.apache.org/jira/browse/LOG4NET-182?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13875986#comment-13875986
 ] 

Mark Evaul commented on LOG4NET-182:
------------------------------------

The behavior is correct.  AcceptOnMatch = true should accept.  AcceptOnMatch = 
false should neutral.  No match to the filter should deny.  This is stated in 
the documentation for LevelRangeFilter.AcceptOnMatch 
(http://logging.apache.org/log4net/release/sdk/log4net.Filter.LevelRangeFilter.AcceptOnMatch.html)

The summary in the LevelRangeFitler documentation is in error and conflicting 
with the property specific documentation 
(http://logging.apache.org/log4net/release/sdk/log4net.Filter.LevelRangeFilter.html)

> LevelRangeFilter behavior doesn't match documentation; behavior and 
> documentation are not as expected
> -----------------------------------------------------------------------------------------------------
>
>                 Key: LOG4NET-182
>                 URL: https://issues.apache.org/jira/browse/LOG4NET-182
>             Project: Log4net
>          Issue Type: Bug
>          Components: Appenders
>    Affects Versions: 1.2.10
>            Reporter: Chris Jerdonek
>            Priority: Minor
>             Fix For: 1.2 Maintenance Release
>
>
> The LevelRangeFilter's behavior doesn't match what the documentation says.  
> Also, neither the current behavior nor the documentation seem right.
> The log4net SDK Reference documentation says this about 
> log4net.Filter.LevelRangeFilter:
> "If there is a match between the range of priorities and the Level of the 
> LoggingEvent, then the Decide method returns Accept in case the AcceptOnMatch 
> option value is set to true, if it is false then Deny is returned. If there 
> is no match, Deny is returned."
> The actual behavior seems to differ from this in the case of a match.  If 
> there is a match, it looks like the code returns Accept when AcceptOnMatch is 
> true, and Neutral if AcceptOnMatch is false.
> I think both the documentation and behavior should be changed to the 
> following:
> "If there is a match between the range of priorities and the Level of the 
> LoggingEvent, then the Decide method returns Accept if the AcceptOnMatch 
> option is true, and Deny if the AcceptOnMatch option is false.  If there is 
> no match, Neutral is returned."
> This behavior seems more natural.  It also parallels the behavior of the 
> LevelMatchFilter.
> I believe this can be fixed simply by swapping occurrences of 
> FilterDecision.Deny and FilterDecision.Neutral in the code for 
> LevelRangeFilter.Decide -- and also adjusting the documentation as above.
> Thanks.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Reply via email to