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 <ralph.go...@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 <remko.po...@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 <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