Package org.apache.log4j.filter
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 && MSG ~= 'test'
or
! ( LEVEL == DEBUG && MSG ~= 'test' )
XML configuration of this filter requires use of either log4j 1.2.15 or later or
org.apache.log4j.rolling.DOMConfigurator.
-
Field Summary
FieldsModifier and TypeFieldDescription(package private) boolean
(package private) org.apache.log4j.spi.Filter
(package private) org.apache.log4j.spi.Filter
Fields inherited from class org.apache.log4j.spi.Filter
ACCEPT, DENY, NEUTRAL, next
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
void
addFilter
(org.apache.log4j.spi.Filter filter) int
decide
(org.apache.log4j.spi.LoggingEvent event) If this event does not already contain location information, evaluate the event against the expression.boolean
parseUnrecognizedElement
(Element element, Properties props) void
setAcceptOnMatch
(boolean acceptOnMatch) Methods inherited from class org.apache.log4j.spi.Filter
getNext, setNext
-
Field Details
-
headFilter
org.apache.log4j.spi.Filter headFilter -
tailFilter
org.apache.log4j.spi.Filter tailFilter -
acceptOnMatch
boolean acceptOnMatch
-
-
Constructor Details
-
AndFilter
public AndFilter()
-
-
Method Details
-
activateOptions
public void activateOptions()- Specified by:
activateOptions
in interfaceorg.apache.log4j.spi.OptionHandler
- Overrides:
activateOptions
in classorg.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. ReturnsFilter.NEUTRAL
- Specified by:
decide
in classorg.apache.log4j.spi.Filter
-
parseUnrecognizedElement
- Specified by:
parseUnrecognizedElement
in interfaceorg.apache.log4j.xml.UnrecognizedElementHandler
- Throws:
Exception
-