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