Class AndFilter

java.lang.Object
org.apache.log4j.spi.Filter
org.apache.log4j.filter.AndFilter
All Implemented Interfaces:
org.apache.log4j.spi.OptionHandler, org.apache.log4j.xml.UnrecognizedElementHandler

public class AndFilter extends org.apache.log4j.spi.Filter implements org.apache.log4j.xml.UnrecognizedElementHandler
A filter that 'and's the results of any number of contained filters together. For the filter to process events, all contained filters must return Filter.ACCEPT. If the contained filters do not return Filter.ACCEPT, Filter.NEUTRAL is returned. If acceptOnMatch is set to true, Filter.ACCEPT is returned. If acceptOnMatch is set to false, Filter.DENY is returned. Here is an example config that will accept only events that contain BOTH a DEBUG level AND 'test' in the message: To accept all events EXCEPT those events that contain a DEBUG level and 'test' in the message: change the AndFilter's acceptOnMatch param to false and remove the DenyAllFilter NOTE: If you are defining a filter that is only relying on logging event content (no external or filter-managed state), you could opt instead to use an ExpressionFilter with one of the following expressions: LEVEL == DEBUG invalid input: '&'invalid input: '&' MSG ~= 'test' or ! ( LEVEL == DEBUG invalid input: '&'invalid input: '&' MSG ~= 'test' ) XML configuration of this filter requires use of either log4j 1.2.15 or later or org.apache.log4j.rolling.DOMConfigurator.
Author:
Scott Deboy sdeboy@apache.org
  • Constructor Details

    • AndFilter

      public AndFilter()
  • Method Details

    • activateOptions

      public void activateOptions()
      Specified by:
      activateOptions in interface org.apache.log4j.spi.OptionHandler
      Overrides:
      activateOptions in class org.apache.log4j.spi.Filter
    • addFilter

      public void addFilter(org.apache.log4j.spi.Filter filter)
    • setAcceptOnMatch

      public void setAcceptOnMatch(boolean acceptOnMatch)
    • decide

      public int decide(org.apache.log4j.spi.LoggingEvent event)
      If this event does not already contain location information, evaluate the event against the expression. If the expression evaluates to true, generate a LocationInfo instance by creating an exception and set this LocationInfo on the event. Returns Filter.NEUTRAL
      Specified by:
      decide in class org.apache.log4j.spi.Filter
    • parseUnrecognizedElement

      public boolean parseUnrecognizedElement(Element element, Properties props) throws Exception
      Specified by:
      parseUnrecognizedElement in interface org.apache.log4j.xml.UnrecognizedElementHandler
      Throws:
      Exception