You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4j-user@logging.apache.org by Nicholas Duane <ni...@msn.com> on 2015/08/25 21:36:37 UTC

range filter?

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
 		 	   		  

Re: range filter?

Posted by Gary Gregory <ga...@gmail.com>.
Hm... maybe we need
a org.apache.logging.log4j.Level.isInRange(Level, Level) method to help
implement this filter...

Gary

On Tue, Aug 25, 2015 at 5:02 PM, Gary Gregory <ga...@gmail.com>
wrote:

> On Tue, Aug 25, 2015 at 4:52 PM, Nicholas Duane <ni...@msn.com> wrote:
>
>> Basically I need the same functionality of the LevelRangeFilter in
>> log4net, but of course in log4j2.
>>
>
> "Patches welcome" is something I often say ;-)
>
> Gary
>
>
>> Thanks,
>> Nick
>>
>> > From: nickdu@msn.com
>> > To: log4j-user@logging.apache.org
>> > Subject: RE: range filter?
>> > Date: Tue, 25 Aug 2015 19:49:48 -0400
>> >
>> > 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.popma@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 <ni...@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: garydgregory@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.goers@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 <ni...@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-unsubscribe@logging.apache.org
>> > > > > > For additional commands, e-mail:
>> log4j-user-help@logging.apache.org
>> > > > > >
>> > > > > >
>> > > > >
>> > > > >
>> > > > > --
>> > > > > E-Mail: garydgregory@gmail.com | ggregory@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
>> > > >
>> > > >
>> >
>>
>>
>
>
>
> --
> E-Mail: garydgregory@gmail.com | ggregory@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
>



-- 
E-Mail: garydgregory@gmail.com | ggregory@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

Re: range filter?

Posted by Gary Gregory <ga...@gmail.com>.
On Tue, Aug 25, 2015 at 4:52 PM, Nicholas Duane <ni...@msn.com> wrote:

> Basically I need the same functionality of the LevelRangeFilter in
> log4net, but of course in log4j2.
>

"Patches welcome" is something I often say ;-)

Gary


> Thanks,
> Nick
>
> > From: nickdu@msn.com
> > To: log4j-user@logging.apache.org
> > Subject: RE: range filter?
> > Date: Tue, 25 Aug 2015 19:49:48 -0400
> >
> > 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.popma@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 <ni...@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: garydgregory@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.goers@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 <ni...@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-unsubscribe@logging.apache.org
> > > > > > For additional commands, e-mail:
> log4j-user-help@logging.apache.org
> > > > > >
> > > > > >
> > > > >
> > > > >
> > > > > --
> > > > > E-Mail: garydgregory@gmail.com | ggregory@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
> > > >
> > > >
> >
>
>



-- 
E-Mail: garydgregory@gmail.com | ggregory@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

RE: range filter?

Posted by Nicholas Duane <ni...@msn.com>.
Basically I need the same functionality of the LevelRangeFilter in log4net, but of course in log4j2.
 
Thanks,
Nick
 
> From: nickdu@msn.com
> To: log4j-user@logging.apache.org
> Subject: RE: range filter?
> Date: Tue, 25 Aug 2015 19:49:48 -0400
> 
> 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.popma@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 <ni...@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: garydgregory@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.goers@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 <ni...@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-unsubscribe@logging.apache.org
> > > > > For additional commands, e-mail: log4j-user-help@logging.apache.org
> > > > >
> > > > >
> > > >
> > > >
> > > > --
> > > > E-Mail: garydgregory@gmail.com | ggregory@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
> > >
> > >
>  		 	   		  
 		 	   		  

Re: range filter?

Posted by Ralph Goers <ra...@dslextreme.com>.
Why not? It would take about 10 minutes to implement. In fact, I am sure it would take more time to document it than to implement it.

Ralph

> On Aug 25, 2015, at 8:42 PM, Gary Gregory <ga...@gmail.com> wrote:
> 
> I've got to say that I use MarkerFilters all the time, but I still need to
> refresh my brain when I've not used them in a while.
> 
> If providing a LevelRangeFilter would be less confusing, then perhaps we
> should write one.
> 
> Gary
> 
> On Tue, Aug 25, 2015 at 7:09 PM, Nicholas Duane <ni...@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.popma@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 <ni...@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.popma@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 <ni...@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: garydgregory@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.goers@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 <ni...@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-unsubscribe@logging.apache.org
>>>>>>>> For additional commands, e-mail:
>> log4j-user-help@logging.apache.org
>>>>>>> 
>>>>>>> 
>>>>>>> --
>>>>>>> E-Mail: garydgregory@gmail.com | ggregory@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-unsubscribe@logging.apache.org
>>> For additional commands, e-mail: log4j-user-help@logging.apache.org
>>> 
>> 
>> 
> 
> 
> 
> -- 
> E-Mail: garydgregory@gmail.com | ggregory@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-unsubscribe@logging.apache.org
For additional commands, e-mail: log4j-user-help@logging.apache.org


Re: range filter?

Posted by Gary Gregory <ga...@gmail.com>.
I've got to say that I use MarkerFilters all the time, but I still need to
refresh my brain when I've not used them in a while.

If providing a LevelRangeFilter would be less confusing, then perhaps we
should write one.

Gary

On Tue, Aug 25, 2015 at 7:09 PM, Nicholas Duane <ni...@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.popma@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 <ni...@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.popma@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 <ni...@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: garydgregory@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.goers@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 <ni...@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-unsubscribe@logging.apache.org
> > >>>>> For additional commands, e-mail:
> log4j-user-help@logging.apache.org
> > >>>>
> > >>>>
> > >>>> --
> > >>>> E-Mail: garydgregory@gmail.com | ggregory@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-unsubscribe@logging.apache.org
> > For additional commands, e-mail: log4j-user-help@logging.apache.org
> >
>
>



-- 
E-Mail: garydgregory@gmail.com | ggregory@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

Re: range filter?

Posted by Remko Popma <re...@gmail.com>.
I see. I didn't know you could nest filters inside an AppenderRef. Nice!

Sent from my iPhone

> On 2015/08/26, at 12:21, Ralph Goers <ra...@dslextreme.com> wrote:
> 
> If you only want info events then you should do
> 
> <Filters>
>  <ThresholdFilter level=“warn” onMatch=“DENY” onMisMatch=“NEUTRAL”/>
>  <ThresholdFilter level=“info” onMatch=“ACCEPT” onMisMatch=“DENY”/>
> </Filters>
> 
> If you want to illustrate the other use case you would need a configuration like
> 
> <root level=“ALL”>
>  <appenderRef ref=“appender1”>
>      <ThresholdFilter level=“INFO” onMatch=“DENY” onMisMatch=“ACCEPT”/>
>  </appenderRef>
>  <appenderRef ref=“appender2”>
>    <Filters>
>      <ThresholdFilter level=“FATAL” onMatch=“DENY” onMisMatch=“NEUTRAL”/>
>      <ThresholdFilter level=“INFO” onMatch=“ACCEPT” onMisMatch=“DENY”/>
>    </Filters>
>  </appenderRef>
> </root>
> 
>> On Aug 25, 2015, at 8:06 PM, Remko Popma <re...@gmail.com> wrote:
>> 
>> 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 <ra...@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 <ni...@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.popma@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 <ni...@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.popma@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 <ni...@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: garydgregory@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.goers@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 <ni...@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-unsubscribe@logging.apache.org
>>>>>>>>>> For additional commands, e-mail: log4j-user-help@logging.apache.org
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> --
>>>>>>>>> E-Mail: garydgregory@gmail.com | ggregory@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-unsubscribe@logging.apache.org
>>>>> For additional commands, e-mail: log4j-user-help@logging.apache.org
>>> 
>>> 
>>> 
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: log4j-user-unsubscribe@logging.apache.org
>>> For additional commands, e-mail: log4j-user-help@logging.apache.org
>> 
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: log4j-user-unsubscribe@logging.apache.org
>> For additional commands, e-mail: log4j-user-help@logging.apache.org
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: log4j-user-unsubscribe@logging.apache.org
> For additional commands, e-mail: log4j-user-help@logging.apache.org
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-user-unsubscribe@logging.apache.org
For additional commands, e-mail: log4j-user-help@logging.apache.org


Re: range filter?

Posted by Ralph Goers <ra...@dslextreme.com>.
If you only want info events then you should do

<Filters>
  <ThresholdFilter level=“warn” onMatch=“DENY” onMisMatch=“NEUTRAL”/>
  <ThresholdFilter level=“info” onMatch=“ACCEPT” onMisMatch=“DENY”/>
</Filters>

If you want to illustrate the other use case you would need a configuration like

<root level=“ALL”>
  <appenderRef ref=“appender1”>
      <ThresholdFilter level=“INFO” onMatch=“DENY” onMisMatch=“ACCEPT”/>
  </appenderRef>
  <appenderRef ref=“appender2”>
    <Filters>
      <ThresholdFilter level=“FATAL” onMatch=“DENY” onMisMatch=“NEUTRAL”/>
      <ThresholdFilter level=“INFO” onMatch=“ACCEPT” onMisMatch=“DENY”/>
    </Filters>
  </appenderRef>
</root>

> On Aug 25, 2015, at 8:06 PM, Remko Popma <re...@gmail.com> wrote:
> 
> 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 <ra...@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 <ni...@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.popma@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 <ni...@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.popma@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 <ni...@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: garydgregory@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.goers@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 <ni...@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-unsubscribe@logging.apache.org
>>>>>>>>> For additional commands, e-mail: log4j-user-help@logging.apache.org
>>>>>>>> 
>>>>>>>> 
>>>>>>>> --
>>>>>>>> E-Mail: garydgregory@gmail.com | ggregory@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-unsubscribe@logging.apache.org
>>>> For additional commands, e-mail: log4j-user-help@logging.apache.org
>> 
>> 
>> 
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: log4j-user-unsubscribe@logging.apache.org
>> For additional commands, e-mail: log4j-user-help@logging.apache.org
>> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: log4j-user-unsubscribe@logging.apache.org
> For additional commands, e-mail: log4j-user-help@logging.apache.org
> 
> 



---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-user-unsubscribe@logging.apache.org
For additional commands, e-mail: log4j-user-help@logging.apache.org


Re: range filter?

Posted by Remko Popma <re...@gmail.com>.
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 <ra...@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 <ni...@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.popma@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 <ni...@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.popma@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 <ni...@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: garydgregory@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.goers@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 <ni...@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-unsubscribe@logging.apache.org
>>>>>>>> For additional commands, e-mail: log4j-user-help@logging.apache.org
>>>>>>> 
>>>>>>> 
>>>>>>> --
>>>>>>> E-Mail: garydgregory@gmail.com | ggregory@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-unsubscribe@logging.apache.org
>>> For additional commands, e-mail: log4j-user-help@logging.apache.org
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: log4j-user-unsubscribe@logging.apache.org
> For additional commands, e-mail: log4j-user-help@logging.apache.org
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-user-unsubscribe@logging.apache.org
For additional commands, e-mail: log4j-user-help@logging.apache.org


Re: range filter?

Posted by Ralph Goers <ra...@dslextreme.com>.
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 <ni...@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.popma@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 <ni...@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.popma@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 <ni...@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: garydgregory@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.goers@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 <ni...@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-unsubscribe@logging.apache.org
>>>>>>> For additional commands, e-mail: log4j-user-help@logging.apache.org
>>>>>> 
>>>>>> 
>>>>>> --
>>>>>> E-Mail: garydgregory@gmail.com | ggregory@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-unsubscribe@logging.apache.org
>> For additional commands, e-mail: log4j-user-help@logging.apache.org
>> 
> 		 	   		  



---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-user-unsubscribe@logging.apache.org
For additional commands, e-mail: log4j-user-help@logging.apache.org


RE: range filter?

Posted by Nicholas Duane <ni...@msn.com>.
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.popma@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 <ni...@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.popma@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 <ni...@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: garydgregory@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.goers@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 <ni...@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-unsubscribe@logging.apache.org
> >>>>> For additional commands, e-mail: log4j-user-help@logging.apache.org
> >>>> 
> >>>> 
> >>>> --
> >>>> E-Mail: garydgregory@gmail.com | ggregory@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-unsubscribe@logging.apache.org
> For additional commands, e-mail: log4j-user-help@logging.apache.org
> 
 		 	   		  

RE: range filter?

Posted by Nicholas Duane <ni...@msn.com>.
By the way, let me say that I'm surprisingly delighted by the quickness of responses and level of interest in solving these issues.  THANK YOU.  I guess after posting a few messages on the log4net mailing list and getting no responses I wasn't too hopeful about getting responses to my log4j questions.  I guess there is a big difference in support between the two products?
 
Thanks,
Nick
 
> Date: Tue, 25 Aug 2015 17:37:18 -0700
> Subject: Re: range filter?
> From: garydgregory@gmail.com
> To: log4j-user@logging.apache.org
> 
> Ah, yes, sorry, I had not read it in detail. It would be nice to expand the
> unit test I just committed with a more complex scenario.
> 
> Could this use better docs or a FAQ entry?
> 
> Gary
> 
> On Tue, Aug 25, 2015 at 5:12 PM, Remko Popma <re...@gmail.com> wrote:
> 
> > 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 <ni...@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.popma@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 <ni...@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: garydgregory@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.goers@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 <ni...@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-unsubscribe@logging.apache.org
> > >>>>> For additional commands, e-mail: log4j-user-help@logging.apache.org
> > >>>>
> > >>>>
> > >>>> --
> > >>>> E-Mail: garydgregory@gmail.com | ggregory@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-unsubscribe@logging.apache.org
> > For additional commands, e-mail: log4j-user-help@logging.apache.org
> >
> >
> 
> 
> -- 
> E-Mail: garydgregory@gmail.com | ggregory@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
 		 	   		  

Re: range filter?

Posted by Gary Gregory <ga...@gmail.com>.
Ah, yes, sorry, I had not read it in detail. It would be nice to expand the
unit test I just committed with a more complex scenario.

Could this use better docs or a FAQ entry?

Gary

On Tue, Aug 25, 2015 at 5:12 PM, Remko Popma <re...@gmail.com> wrote:

> 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 <ni...@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.popma@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 <ni...@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: garydgregory@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.goers@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 <ni...@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-unsubscribe@logging.apache.org
> >>>>> For additional commands, e-mail: log4j-user-help@logging.apache.org
> >>>>
> >>>>
> >>>> --
> >>>> E-Mail: garydgregory@gmail.com | ggregory@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-unsubscribe@logging.apache.org
> For additional commands, e-mail: log4j-user-help@logging.apache.org
>
>


-- 
E-Mail: garydgregory@gmail.com | ggregory@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

Re: range filter?

Posted by Remko Popma <re...@gmail.com>.
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 <ni...@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.popma@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 <ni...@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: garydgregory@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.goers@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 <ni...@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-unsubscribe@logging.apache.org
>>>>> For additional commands, e-mail: log4j-user-help@logging.apache.org
>>>> 
>>>> 
>>>> --
>>>> E-Mail: garydgregory@gmail.com | ggregory@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-unsubscribe@logging.apache.org
For additional commands, e-mail: log4j-user-help@logging.apache.org


Re: range filter?

Posted by Ralph Goers <ra...@dslextreme.com>.
From the manual - "This filter returns the onMatch result if the level in the LogEvent is the same or more specific than the configured level and the onMismatch value otherwise.”

So if you have 

<Filters>
  <ThresholdFilter level=“DEBUG” onMatch=“NEUTRAL” onMisMatch=“DENY”
  <ThresholdFilter level=“WARN” onMatch=“DENY” onMisMatch=“NEUTRAL”
<Filters>

Then the first filter should allow Debug, Info, Warn, Error, and Fatal through, discarding Trace events.  The second filter will deny Warn, Error and Fatal events, allowing Debug and Info to continue to be filtered. If you want them to be unconditionally processed regardless of other filters then set the onMisMatch to ACCEPT.

Ralph



> On Aug 25, 2015, at 4:49 PM, Nicholas Duane <ni...@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.popma@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 <ni...@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: garydgregory@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.goers@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 <ni...@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-unsubscribe@logging.apache.org
>>>>> For additional commands, e-mail: log4j-user-help@logging.apache.org
>>>>> 
>>>>> 
>>>> 
>>>> 
>>>> --
>>>> E-Mail: garydgregory@gmail.com | ggregory@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
>>> 
>>> 
> 		 	   		  


RE: range filter?

Posted by Nicholas Duane <ni...@msn.com>.
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.popma@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 <ni...@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: garydgregory@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.goers@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 <ni...@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-unsubscribe@logging.apache.org
> > > > For additional commands, e-mail: log4j-user-help@logging.apache.org
> > > >
> > > >
> > >
> > >
> > > --
> > > E-Mail: garydgregory@gmail.com | ggregory@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
> >
> >
 		 	   		  

Re: range filter?

Posted by Remko Popma <re...@gmail.com>.
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 <ni...@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: garydgregory@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.goers@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 <ni...@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-unsubscribe@logging.apache.org
> > > For additional commands, e-mail: log4j-user-help@logging.apache.org
> > >
> > >
> >
> >
> > --
> > E-Mail: garydgregory@gmail.com | ggregory@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
>
>

Re: range filter?

Posted by Ralph Goers <ra...@dslextreme.com>.
I should also point out that if you look at the documentation you will see that the default value for onMisMatch is “Deny”. So your first filter tests the log level and no matter what the level is it will discard the event.

Ralph

> On Aug 25, 2015, at 2:04 PM, Nicholas Duane <ni...@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: garydgregory@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 <ra...@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 <ni...@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-unsubscribe@logging.apache.org
>>> For additional commands, e-mail: log4j-user-help@logging.apache.org
>>> 
>>> 
>> 
>> 
>> -- 
>> E-Mail: garydgregory@gmail.com | ggregory@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-unsubscribe@logging.apache.org
For additional commands, e-mail: log4j-user-help@logging.apache.org


RE: range filter?

Posted by Nicholas Duane <ni...@msn.com>.
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: garydgregory@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 <ra...@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 <ni...@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-unsubscribe@logging.apache.org
> > For additional commands, e-mail: log4j-user-help@logging.apache.org
> >
> >
> 
> 
> -- 
> E-Mail: garydgregory@gmail.com | ggregory@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
 		 	   		  

Re: range filter?

Posted by Gary Gregory <ga...@gmail.com>.
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 <ra...@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 <ni...@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-unsubscribe@logging.apache.org
> For additional commands, e-mail: log4j-user-help@logging.apache.org
>
>


-- 
E-Mail: garydgregory@gmail.com | ggregory@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

Re: range filter?

Posted by Ralph Goers <ra...@dslextreme.com>.
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 <ni...@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-unsubscribe@logging.apache.org
For additional commands, e-mail: log4j-user-help@logging.apache.org