That's exactly the use case I'm looking for.  I'll have to study it some more.  
Can you give me an example which filters out everything but INFO?
Thanks,Nick

-------- Original message --------
From: Remko Popma <remko.po...@gmail.com> 
Date: 08/25/2015  9:06 PM  (GMT-07:00) 
To: Log4J Users List <log4j-user@logging.apache.org> 
Subject: Re: range filter? 


The StackOverflow link was an answer to the question "how to send _only_ INFO 
level events to an appender". 



I thought it would illustrate how filters combinations could be used to achieve 
the original request: "I might want all DEBUG, TRACE and VERBOSE events going 
to one appender.  All INFO, ERROR and WARN events going to another appender. 
All BUSINESS events (my custom) level, going to yet another appender."



Seemed to me to be a similar use case to the SO question.



Sent from my iPhone



> On 2015/08/26, at 11:44, Ralph Goers <ralph.go...@dslextreme.com> wrote:

> 

> I am not sure why Remko advised you to do it this way.  The first filter will 
> deny Warn, error and fatal making the next two filters redundant. The third 
> filter will accept events at level info and deny trace and debug.  So the end 
> result is the only events that will get logged will be those at INFO level.

> 

> The composite filter really just wraps other filters and returns whatever 
> result they generate. For example, if the first filter returns accept or deny 
> then that value will be returned as the result without consulting any other 
> filters. If the result is neutral then the second filter will be used to see 
> if the event passes that.

> 

> Ralph

> 

> 

>> On Aug 25, 2015, at 7:09 PM, Nicholas Duane <nic...@msn.com> wrote:

>> 

>> Maybe.  However, I'm having a hard time following what the configuration is 
>> saying and thus have no idea what I would need to put in the configuration.  
>> Here is a snippet from that post:

>> 

>>          <!-- Now deny warn, error and fatal messages -->

>> 

>>                     <ThresholdFilter level="warn"  onMatch="DENY"   
>>onMismatch="NEUTRAL"/>

>> 

>>          <ThresholdFilter level="error" onMatch="DENY"   
>>onMismatch="NEUTRAL"/>

>>          <ThresholdFilter level="fatal" onMatch="DENY"   
>>onMismatch="NEUTRAL"/>

>> 

>>           <!-- This filter accepts info, warn, error, fatal and denies 
>>debug/trace -->

>> 

>>           <ThresholdFilter level="info"  onMatch="ACCEPT" onMismatch="DENY"/>

>> 

>> 

>> The top three seem as if they would deny warn, error and fatal, yet the 
>> third says it accepts info, warn, error and fatal.  And while I understand 
>> those in isolation, I think, I have no idea how the <filters> composite 
>> would handle this.  Why are the first three needed?  How does the 
>> CompositeFilter work?  Does it try to match on each filter in the list of 
>> stop as soon as it gets a DENY?

>> 

>> What if I wanted to setup a filter which just accepted WARN?  And on top of 
>> that ensure that if anyone defined any custom levels which are maybe just 1 
>> away from WARN in either direction that those don't make it in the appender. 
>>  How would you do that?

>> 

>> How I did this with the log4net LevelRangeFilter was to set the levelMin and 
>> levelMax to the same value.

>> 

>> Thanks,

>> Nick

>> 

>>> Subject: Re: range filter?

>>> From: remko.po...@gmail.com

>>> Date: Wed, 26 Aug 2015 09:12:29 +0900

>>> To: log4j-user@logging.apache.org

>>> 

>>> You misread the comment. The commentor basically told me the answer works 
>>> with a minor change, and that he would mark the question as "done" if I 
>>> would edit my answer (which I did).  

>>> 

>>> So the answer works and seems to apply to your use case, no? The question 
>>> is if it also works with custom levels. 

>>> 

>>> Sent from my iPhone

>>> 

>>>> On 2015/08/26, at 8:49, Nicholas Duane <nic...@msn.com> wrote:

>>>> 

>>>> Thanks.  I checked out the link.  It seems they were trying to do 
>>>> something similar to me.  I see the last comment on that is that it 
>>>> doesn't work.

>>>> 

>>>> There is another post afterwards which uses the ThresholdFilter.  However 
>>>> the ThresholdFilter won't work as that allows, or denys, all levels 
>>>> greater than or equal to or less than or equal to the level.  I need to 
>>>> filter a specific range of levels.

>>>> 

>>>> Thanks,

>>>> Nick

>>>> 

>>>>> Date: Wed, 26 Aug 2015 08:27:04 +0900

>>>>> Subject: Re: range filter?

>>>>> From: remko.po...@gmail.com

>>>>> To: log4j-user@logging.apache.org

>>>>> 

>>>>> Can you try something similar to this

>>>>> http://stackoverflow.com/questions/24695133/log4j2-filter-particular-level-in-apender/24697002#24697002

>>>>> and see if that works with custom levels as well?

>>>>> 

>>>>>> On Wed, Aug 26, 2015 at 6:04 AM, Nicholas Duane <nic...@msn.com> wrote:

>>>>>> 

>>>>>> I've tried a couple different combinations and so far no luck.  Here's

>>>>>> the current configuration I tested with which doesn't work:

>>>>>> 

>>>>>> <File ...>

>>>>>> <PatternLayout>

>>>>>>    ...

>>>>>> </PatternLayout>

>>>>>> <Filters>

>>>>>>    <ThresholdFilter level="INFO" onMatch="DENY"/>

>>>>>>    <ThresholdFilter level="DEBUG" onMatch="ACCEPT"/>

>>>>>> </Filters>

>>>>>> </File>

>>>>>> 

>>>>>> The

>>>>>> use case for why I want such a filter is to forward a range of events

>>>>>> to an appender.  The threshold filter won't work because it will send

>>>>>> all events matching a certain level and lower to the appender.  For

>>>>>> instance, I might want all DEBUG, TRACE and VERBOSE events going to one

>>>>>> appender.  All INFO, ERROR and WARN events going to another appender.

>>>>>> All BUSINESS events (my custom) level, going to yet another appender.

>>>>>> 

>>>>>> Thanks,

>>>>>> Nick

>>>>>> 

>>>>>>> Date: Tue, 25 Aug 2015 13:17:44 -0700

>>>>>>> Subject: Re: range filter?

>>>>>>> From: garydgreg...@gmail.com

>>>>>>> To: log4j-user@logging.apache.org

>>>>>>> 

>>>>>>> When you get it working, it sounds like it would make a nice addition to

>>>>>>> the FAQ with a description of your use case.

>>>>>>> 

>>>>>>> Gary

>>>>>>> 

>>>>>>> On Tue, Aug 25, 2015 at 1:11 PM, Ralph Goers <ralph.go...@dslextreme.com

>>>>>>> 

>>>>>>> wrote:

>>>>>>> 

>>>>>>>> I believe two threshold filters inside a composite filter should should

>>>>>>>> work provided you have the onMatch and onMismatch set appropriately.

>>>>>>>> 

>>>>>>>> Ralph

>>>>>>>> 

>>>>>>>> 

>>>>>>>>> On Aug 25, 2015, at 12:36 PM, Nicholas Duane <nic...@msn.com> wrote:

>>>>>>>>> 

>>>>>>>>> I'm looking for a range filter in log4j2.  I see there is on in

>>>>>> log4net

>>>>>>>> and it appears there was one written by someone for log4j 1.  Just

>>>>>>>> wondering if there is something 'out of the box' in log4j2 that will

>>>>>>>> accomplish the same?  I was wondering whether this could be

>>>>>> accomplished

>>>>>>>> with the CompositeFilter with two ThresholdFilter?

>>>>>>>>> 

>>>>>>>>> Thanks,

>>>>>>>>> Nick

>>>>>>>> 

>>>>>>>> 

>>>>>>>> 

>>>>>>>> ---------------------------------------------------------------------

>>>>>>>> To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org

>>>>>>>> For additional commands, e-mail: log4j-user-h...@logging.apache.org

>>>>>>> 

>>>>>>> 

>>>>>>> --

>>>>>>> E-Mail: garydgreg...@gmail.com | ggreg...@apache.org

>>>>>>> Java Persistence with Hibernate, Second Edition

>>>>>>> <http://www.manning.com/bauer3/>

>>>>>>> JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>

>>>>>>> Spring Batch in Action <http://www.manning.com/templier/>

>>>>>>> Blog: http://garygregory.wordpress.com

>>>>>>> Home: http://garygregory.com/

>>>>>>> Tweet! http://twitter.com/GaryGregory

>>> 

>>> ---------------------------------------------------------------------

>>> To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org

>>> For additional commands, e-mail: log4j-user-h...@logging.apache.org

> 

> 

> 

> ---------------------------------------------------------------------

> To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org

> For additional commands, e-mail: log4j-user-h...@logging.apache.org

> 



---------------------------------------------------------------------

To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org

For additional commands, e-mail: log4j-user-h...@logging.apache.org




Reply via email to