I apologize, you are correct. The level values do decrease. Regardless, your point about wanting to filter on essentially a single integer value makes sense.
Ralph > On Aug 26, 2015, at 6:12 AM, Nicholas Duane <nic...@msn.com> wrote: > > Hmmm, I thought for log4j the threshold was less than or equal to the level. > For instance, if the threshold is INFO then INFO and less than, eg more > critical like WARN ERROR and FATAL would match. It's opposite in log4net. > Regardless, this is the issue I wanted to point out. The stackoverflow > article doesn't filter only INFO level, it seems it filters INFO and anything > between INFO and WARN but not including WARN. > > If I want just a single level then I would like a way to specify that without > me having to potentially go back and edit the configuration if someone > decides to specify a custom level via configuration or code. The > LevelRangeFilter provides an easy mechanism for me to do this by specifying > the same level for min and max. I guess you're suggesting I could accomplish > this via the composite filter and the threshold filter, however, I would have > to define a custom level that is one less than or one more than the level I'm > looking to capture so that I ensure I'm only getting that one level. I will > try this out, but it would be nice to have something like the > LevelRangeFilter. > > Thanks, > Nick > >> Subject: Re: range filter? >> From: ralph.go...@dslextreme.com >> Date: Tue, 25 Aug 2015 22:08:01 -0700 >> To: log4j-user@logging.apache.org >> >> No. If the custom level was 1 greater than INFO, then yes. In that case you >> would specify your custom level instead of WARN as the level on the first >> ThresholdFilter. >> >> Ralph >> >>> On Aug 25, 2015, at 9:39 PM, Nicholas Duane <nic...@msn.com> wrote: >>> >>> What if someone defined a custom level one less than INFO? Wouldn't that >>> end up in the log also? >>> Thanks,Nick >>> >>> -------- Original message -------- >>> From: Ralph Goers <ralph.go...@dslextreme.com> >>> Date: 08/25/2015 10:28 PM (GMT-07:00) >>> To: Log4J Users List <log4j-user@logging.apache.org> >>> Subject: Re: range filter? >>> >>> I just did. >>> >>> Ralph >>> >>>> On Aug 25, 2015, at 9:12 PM, Nicholas Duane <nic...@msn.com> wrote: >>>> >>>> That's exactly the use case I'm looking for. I'll have to study it some >>>> more. Can you give me an example which filters out everything but INFO? >>>> Thanks,Nick >>>> >>>> -------- Original message -------- >>>> From: Remko Popma <remko.po...@gmail.com> >>>> Date: 08/25/2015 9:06 PM (GMT-07:00) >>>> To: Log4J Users List <log4j-user@logging.apache.org> >>>> Subject: Re: range filter? >>>> >>>> >>>> The StackOverflow link was an answer to the question "how to send _only_ >>>> INFO level events to an appender". >>>> >>>> >>>> >>>> I thought it would illustrate how filters combinations could be used to >>>> achieve the original request: "I might want all DEBUG, TRACE and VERBOSE >>>> events going to one appender. All INFO, ERROR and WARN events going to >>>> another appender. All BUSINESS events (my custom) level, going to yet >>>> another appender." >>>> >>>> >>>> >>>> Seemed to me to be a similar use case to the SO question. >>>> >>>> >>>> >>>> Sent from my iPhone >>>> >>>> >>>> >>>>> On 2015/08/26, at 11:44, Ralph Goers <ralph.go...@dslextreme.com> wrote: >>>> >>>>> >>>> >>>>> I am not sure why Remko advised you to do it this way. The first filter >>>>> will deny Warn, error and fatal making the next two filters redundant. >>>>> The third filter will accept events at level info and deny trace and >>>>> debug. So the end result is the only events that will get logged will be >>>>> those at INFO level. >>>> >>>>> >>>> >>>>> The composite filter really just wraps other filters and returns whatever >>>>> result they generate. For example, if the first filter returns accept or >>>>> deny then that value will be returned as the result without consulting >>>>> any other filters. If the result is neutral then the second filter will >>>>> be used to see if the event passes that. >>>> >>>>> >>>> >>>>> Ralph >>>> >>>>> >>>> >>>>> >>>> >>>>>> On Aug 25, 2015, at 7:09 PM, Nicholas Duane <nic...@msn.com> wrote: >>>> >>>>>> >>>> >>>>>> Maybe. However, I'm having a hard time following what the configuration >>>>>> is saying and thus have no idea what I would need to put in the >>>>>> configuration. Here is a snippet from that post: >>>> >>>>>> >>>> >>>>>> <!-- Now deny warn, error and fatal messages --> >>>> >>>>>> >>>> >>>>>> <ThresholdFilter level="warn" onMatch="DENY" >>>>>> onMismatch="NEUTRAL"/> >>>> >>>>>> >>>> >>>>>> <ThresholdFilter level="error" onMatch="DENY" >>>>>> onMismatch="NEUTRAL"/> >>>> >>>>>> <ThresholdFilter level="fatal" onMatch="DENY" >>>>>> onMismatch="NEUTRAL"/> >>>> >>>>>> >>>> >>>>>> <!-- This filter accepts info, warn, error, fatal and denies >>>>>> debug/trace --> >>>> >>>>>> >>>> >>>>>> <ThresholdFilter level="info" onMatch="ACCEPT" >>>>>> onMismatch="DENY"/> >>>> >>>>>> >>>> >>>>>> >>>> >>>>>> The top three seem as if they would deny warn, error and fatal, yet the >>>>>> third says it accepts info, warn, error and fatal. And while I >>>>>> understand those in isolation, I think, I have no idea how the <filters> >>>>>> composite would handle this. Why are the first three needed? How does >>>>>> the CompositeFilter work? Does it try to match on each filter in the >>>>>> list of stop as soon as it gets a DENY? >>>> >>>>>> >>>> >>>>>> What if I wanted to setup a filter which just accepted WARN? And on top >>>>>> of that ensure that if anyone defined any custom levels which are maybe >>>>>> just 1 away from WARN in either direction that those don't make it in >>>>>> the appender. How would you do that? >>>> >>>>>> >>>> >>>>>> How I did this with the log4net LevelRangeFilter was to set the levelMin >>>>>> and levelMax to the same value. >>>> >>>>>> >>>> >>>>>> Thanks, >>>> >>>>>> Nick >>>> >>>>>> >>>> >>>>>>> Subject: Re: range filter? >>>> >>>>>>> From: remko.po...@gmail.com >>>> >>>>>>> Date: Wed, 26 Aug 2015 09:12:29 +0900 >>>> >>>>>>> To: log4j-user@logging.apache.org >>>> >>>>>>> >>>> >>>>>>> You misread the comment. The commentor basically told me the answer >>>>>>> works with a minor change, and that he would mark the question as >>>>>>> "done" if I would edit my answer (which I did). >>>> >>>>>>> >>>> >>>>>>> So the answer works and seems to apply to your use case, no? The >>>>>>> question is if it also works with custom levels. >>>> >>>>>>> >>>> >>>>>>> Sent from my iPhone >>>> >>>>>>> >>>> >>>>>>>> On 2015/08/26, at 8:49, Nicholas Duane <nic...@msn.com> wrote: >>>> >>>>>>>> >>>> >>>>>>>> Thanks. I checked out the link. It seems they were trying to do >>>>>>>> something similar to me. I see the last comment on that is that it >>>>>>>> doesn't work. >>>> >>>>>>>> >>>> >>>>>>>> There is another post afterwards which uses the ThresholdFilter. >>>>>>>> However the ThresholdFilter won't work as that allows, or denys, all >>>>>>>> levels greater than or equal to or less than or equal to the level. I >>>>>>>> need to filter a specific range of levels. >>>> >>>>>>>> >>>> >>>>>>>> Thanks, >>>> >>>>>>>> Nick >>>> >>>>>>>> >>>> >>>>>>>>> Date: Wed, 26 Aug 2015 08:27:04 +0900 >>>> >>>>>>>>> Subject: Re: range filter? >>>> >>>>>>>>> From: remko.po...@gmail.com >>>> >>>>>>>>> To: log4j-user@logging.apache.org >>>> >>>>>>>>> >>>> >>>>>>>>> Can you try something similar to this >>>> >>>>>>>>> http://stackoverflow.com/questions/24695133/log4j2-filter-particular-level-in-apender/24697002#24697002 >>>> >>>>>>>>> and see if that works with custom levels as well? >>>> >>>>>>>>> >>>> >>>>>>>>>> On Wed, Aug 26, 2015 at 6:04 AM, Nicholas Duane <nic...@msn.com> >>>>>>>>>> wrote: >>>> >>>>>>>>>> >>>> >>>>>>>>>> I've tried a couple different combinations and so far no luck. >>>>>>>>>> Here's >>>> >>>>>>>>>> the current configuration I tested with which doesn't work: >>>> >>>>>>>>>> >>>> >>>>>>>>>> <File ...> >>>> >>>>>>>>>> <PatternLayout> >>>> >>>>>>>>>> ... >>>> >>>>>>>>>> </PatternLayout> >>>> >>>>>>>>>> <Filters> >>>> >>>>>>>>>> <ThresholdFilter level="INFO" onMatch="DENY"/> >>>> >>>>>>>>>> <ThresholdFilter level="DEBUG" onMatch="ACCEPT"/> >>>> >>>>>>>>>> </Filters> >>>> >>>>>>>>>> </File> >>>> >>>>>>>>>> >>>> >>>>>>>>>> The >>>> >>>>>>>>>> use case for why I want such a filter is to forward a range of events >>>> >>>>>>>>>> to an appender. The threshold filter won't work because it will send >>>> >>>>>>>>>> all events matching a certain level and lower to the appender. For >>>> >>>>>>>>>> instance, I might want all DEBUG, TRACE and VERBOSE events going to >>>>>>>>>> one >>>> >>>>>>>>>> appender. All INFO, ERROR and WARN events going to another appender. >>>> >>>>>>>>>> All BUSINESS events (my custom) level, going to yet another appender. >>>> >>>>>>>>>> >>>> >>>>>>>>>> Thanks, >>>> >>>>>>>>>> Nick >>>> >>>>>>>>>> >>>> >>>>>>>>>>> Date: Tue, 25 Aug 2015 13:17:44 -0700 >>>> >>>>>>>>>>> Subject: Re: range filter? >>>> >>>>>>>>>>> From: garydgreg...@gmail.com >>>> >>>>>>>>>>> To: log4j-user@logging.apache.org >>>> >>>>>>>>>>> >>>> >>>>>>>>>>> When you get it working, it sounds like it would make a nice >>>>>>>>>>> addition to >>>> >>>>>>>>>>> the FAQ with a description of your use case. >>>> >>>>>>>>>>> >>>> >>>>>>>>>>> Gary >>>> >>>>>>>>>>> >>>> >>>>>>>>>>> On Tue, Aug 25, 2015 at 1:11 PM, Ralph Goers >>>>>>>>>>> <ralph.go...@dslextreme.com >>>> >>>>>>>>>>> >>>> >>>>>>>>>>> wrote: >>>> >>>>>>>>>>> >>>> >>>>>>>>>>>> I believe two threshold filters inside a composite filter should >>>>>>>>>>>> should >>>> >>>>>>>>>>>> work provided you have the onMatch and onMismatch set >>>>>>>>>>>> appropriately. >>>> >>>>>>>>>>>> >>>> >>>>>>>>>>>> Ralph >>>> >>>>>>>>>>>> >>>> >>>>>>>>>>>> >>>> >>>>>>>>>>>>> On Aug 25, 2015, at 12:36 PM, Nicholas Duane <nic...@msn.com> >>>>>>>>>>>>> wrote: >>>> >>>>>>>>>>>>> >>>> >>>>>>>>>>>>> I'm looking for a range filter in log4j2. I see there is on in >>>> >>>>>>>>>> log4net >>>> >>>>>>>>>>>> and it appears there was one written by someone for log4j 1. Just >>>> >>>>>>>>>>>> wondering if there is something 'out of the box' in log4j2 that >>>>>>>>>>>> will >>>> >>>>>>>>>>>> accomplish the same? I was wondering whether this could be >>>> >>>>>>>>>> accomplished >>>> >>>>>>>>>>>> with the CompositeFilter with two ThresholdFilter? >>>> >>>>>>>>>>>>> >>>> >>>>>>>>>>>>> Thanks, >>>> >>>>>>>>>>>>> Nick >>>> >>>>>>>>>>>> >>>> >>>>>>>>>>>> >>>> >>>>>>>>>>>> >>>> >>>>>>>>>>>> --------------------------------------------------------------------- >>>> >>>>>>>>>>>> To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org >>>> >>>>>>>>>>>> For additional commands, e-mail: log4j-user-h...@logging.apache.org >>>> >>>>>>>>>>> >>>> >>>>>>>>>>> >>>> >>>>>>>>>>> -- >>>> >>>>>>>>>>> E-Mail: garydgreg...@gmail.com | ggreg...@apache.org >>>> >>>>>>>>>>> Java Persistence with Hibernate, Second Edition >>>> >>>>>>>>>>> <http://www.manning.com/bauer3/> >>>> >>>>>>>>>>> JUnit in Action, Second Edition <http://www.manning.com/tahchiev/> >>>> >>>>>>>>>>> Spring Batch in Action <http://www.manning.com/templier/> >>>> >>>>>>>>>>> Blog: http://garygregory.wordpress.com >>>> >>>>>>>>>>> Home: http://garygregory.com/ >>>> >>>>>>>>>>> Tweet! http://twitter.com/GaryGregory >>>> >>>>>>> >>>> >>>>>>> --------------------------------------------------------------------- >>>> >>>>>>> To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org >>>> >>>>>>> For additional commands, e-mail: log4j-user-h...@logging.apache.org >>>> >>>>> >>>> >>>>> >>>> >>>>> >>>> >>>>> --------------------------------------------------------------------- >>>> >>>>> To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org >>>> >>>>> For additional commands, e-mail: log4j-user-h...@logging.apache.org >>>> >>>>> >>>> >>>> >>>> >>>> --------------------------------------------------------------------- >>>> >>>> To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org >>>> >>>> For additional commands, e-mail: log4j-user-h...@logging.apache.org >>>> >>>> >>>> >>>> >>> >>> >>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org >>> For additional commands, e-mail: log4j-user-h...@logging.apache.org >>> >> >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org >> For additional commands, e-mail: log4j-user-h...@logging.apache.org >> > --------------------------------------------------------------------- To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org For additional commands, e-mail: log4j-user-h...@logging.apache.org