<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.6.0_33) on Sun Jul 29 12:18:25 PDT 2012 -->
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<TITLE>
Filter (Log4J Core 2.0-alpha1 API)
</TITLE>

<META NAME="date" CONTENT="2012-07-29">

<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">

<SCRIPT type="text/javascript">
function windowTitle()
{
    if (location.href.indexOf('is-external=true') == -1) {
        parent.document.title="Filter (Log4J Core 2.0-alpha1 API)";
    }
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>

</HEAD>

<BODY BGCOLOR="white" onload="windowTitle();">
<HR>


<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/Filter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../../org/apache/logging/log4j/core/ErrorHandler.html" title="interface in org.apache.logging.log4j.core"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../../org/apache/logging/log4j/core/Filter.Result.html" title="enum in org.apache.logging.log4j.core"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../../index.html?org/apache/logging/log4j/core/Filter.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="Filter.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
&nbsp;<SCRIPT type="text/javascript">
  <!--
  if(window==top) {
    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
  }
  //-->
</SCRIPT>
<NOSCRIPT>
  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>


</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  SUMMARY:&nbsp;<A HREF="#nested_class_summary">NESTED</A>&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->

<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
org.apache.logging.log4j.core</FONT>
<BR>
Interface Filter</H2>
<DL>
<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../../../../org/apache/logging/log4j/core/filter/BurstFilter.html" title="class in org.apache.logging.log4j.core.filter">BurstFilter</A>, <A HREF="../../../../../org/apache/logging/log4j/core/filter/CompositeFilter.html" title="class in org.apache.logging.log4j.core.filter">CompositeFilter</A>, <A HREF="../../../../../org/apache/logging/log4j/core/filter/DynamicThresholdFilter.html" title="class in org.apache.logging.log4j.core.filter">DynamicThresholdFilter</A>, <A HREF="../../../../../org/apache/logging/log4j/core/filter/FilterBase.html" title="class in org.apache.logging.log4j.core.filter">FilterBase</A>, <A HREF="../../../../../org/apache/logging/log4j/core/filter/MapFilter.html" title="class in org.apache.logging.log4j.core.filter">MapFilter</A>, <A HREF="../../../../../org/apache/logging/log4j/core/filter/MarkerFilter.html" title="class in org.apache.logging.log4j.core.filter">MarkerFilter</A>, <A HREF="../../../../../org/apache/logging/log4j/core/filter/RegexFilter.html" title="class in org.apache.logging.log4j.core.filter">RegexFilter</A>, <A HREF="../../../../../org/apache/logging/log4j/core/filter/StructuredDataFilter.html" title="class in org.apache.logging.log4j.core.filter">StructuredDataFilter</A>, <A HREF="../../../../../org/apache/logging/log4j/core/filter/ThreadContextMapFilter.html" title="class in org.apache.logging.log4j.core.filter">ThreadContextMapFilter</A>, <A HREF="../../../../../org/apache/logging/log4j/core/filter/ThresholdFilter.html" title="class in org.apache.logging.log4j.core.filter">ThresholdFilter</A>, <A HREF="../../../../../org/apache/logging/log4j/core/filter/TimeFilter.html" title="class in org.apache.logging.log4j.core.filter">TimeFilter</A></DD>
</DL>
<HR>
<DL>
<DT><PRE>public interface <A HREF="../../../../../src-html/org/apache/logging/log4j/core/Filter.html#line.32"><B>Filter</B></A></DL>
</PRE>

<P>
Interface that must be implemented to allow custom event filtering. It is highly recommended that
 applications make use of the Filters provided with this implementation before creating their own.

 This interface supports "global" filters (i.e. - all events must pass through them first), attached to
 specific loggers and associated with Appenders. It is recommended that, where possible, Filter implementations
 create a generic filtering method that can be called from any of the filter methods.
<P>

<P>
<HR>

<P>
<!-- ======== NESTED CLASS SUMMARY ======== -->

<A NAME="nested_class_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Nested Class Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;class</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/logging/log4j/core/Filter.Result.html" title="enum in org.apache.logging.log4j.core">Filter.Result</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The result that can returned from a filter method call.</TD>
</TR>
</TABLE>
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->

<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Method Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/logging/log4j/core/Filter.Result.html" title="enum in org.apache.logging.log4j.core">Filter.Result</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/logging/log4j/core/Filter.html#filter(org.apache.logging.log4j.core.LogEvent)">filter</A></B>(<A HREF="../../../../../org/apache/logging/log4j/core/LogEvent.html" title="interface in org.apache.logging.log4j.core">LogEvent</A>&nbsp;event)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Filter an event.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/logging/log4j/core/Filter.Result.html" title="enum in org.apache.logging.log4j.core">Filter.Result</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/logging/log4j/core/Filter.html#filter(org.apache.logging.log4j.core.Logger, org.apache.logging.log4j.Level, org.apache.logging.log4j.Marker, org.apache.logging.log4j.message.Message, java.lang.Throwable)">filter</A></B>(<A HREF="../../../../../org/apache/logging/log4j/core/Logger.html" title="class in org.apache.logging.log4j.core">Logger</A>&nbsp;logger,
             org.apache.logging.log4j.Level&nbsp;level,
             org.apache.logging.log4j.Marker&nbsp;marker,
             org.apache.logging.log4j.message.Message&nbsp;msg,
             <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Filter an event.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/logging/log4j/core/Filter.Result.html" title="enum in org.apache.logging.log4j.core">Filter.Result</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/logging/log4j/core/Filter.html#filter(org.apache.logging.log4j.core.Logger, org.apache.logging.log4j.Level, org.apache.logging.log4j.Marker, java.lang.Object, java.lang.Throwable)">filter</A></B>(<A HREF="../../../../../org/apache/logging/log4j/core/Logger.html" title="class in org.apache.logging.log4j.core">Logger</A>&nbsp;logger,
             org.apache.logging.log4j.Level&nbsp;level,
             org.apache.logging.log4j.Marker&nbsp;marker,
             <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;msg,
             <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Filter an event.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/logging/log4j/core/Filter.Result.html" title="enum in org.apache.logging.log4j.core">Filter.Result</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/logging/log4j/core/Filter.html#filter(org.apache.logging.log4j.core.Logger, org.apache.logging.log4j.Level, org.apache.logging.log4j.Marker, java.lang.String, java.lang.Object...)">filter</A></B>(<A HREF="../../../../../org/apache/logging/log4j/core/Logger.html" title="class in org.apache.logging.log4j.core">Logger</A>&nbsp;logger,
             org.apache.logging.log4j.Level&nbsp;level,
             org.apache.logging.log4j.Marker&nbsp;marker,
             <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;msg,
             <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>...&nbsp;params)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Filter an event.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/logging/log4j/core/Filter.Result.html" title="enum in org.apache.logging.log4j.core">Filter.Result</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/logging/log4j/core/Filter.html#getOnMatch()">getOnMatch</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the result that should be returned when the filter matches the event.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/logging/log4j/core/Filter.Result.html" title="enum in org.apache.logging.log4j.core">Filter.Result</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/logging/log4j/core/Filter.html#getOnMismatch()">getOnMismatch</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the result that should be returned when the filter does not match the event.</TD>
</TR>
</TABLE>
&nbsp;
<P>

<!-- ============ METHOD DETAIL ========== -->

<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Method Detail</B></FONT></TH>
</TR>
</TABLE>

<A NAME="getOnMismatch()"><!-- --></A><H3>
getOnMismatch</H3>
<PRE>
<A HREF="../../../../../org/apache/logging/log4j/core/Filter.Result.html" title="enum in org.apache.logging.log4j.core">Filter.Result</A> <A HREF="../../../../../src-html/org/apache/logging/log4j/core/Filter.html#line.56"><B>getOnMismatch</B></A>()</PRE>
<DL>
<DD>Return the result that should be returned when the filter does not match the event.
<P>
<DD><DL>

<DT><B>Returns:</B><DD>the Result that should be returned when the filter does not match the event.</DL>
</DD>
</DL>
<HR>

<A NAME="getOnMatch()"><!-- --></A><H3>
getOnMatch</H3>
<PRE>
<A HREF="../../../../../org/apache/logging/log4j/core/Filter.Result.html" title="enum in org.apache.logging.log4j.core">Filter.Result</A> <A HREF="../../../../../src-html/org/apache/logging/log4j/core/Filter.html#line.61"><B>getOnMatch</B></A>()</PRE>
<DL>
<DD>Return the result that should be returned when the filter matches the event.
<P>
<DD><DL>

<DT><B>Returns:</B><DD>the Result that should be returned when the filter matches the event.</DL>
</DD>
</DL>
<HR>

<A NAME="filter(org.apache.logging.log4j.core.Logger, org.apache.logging.log4j.Level, org.apache.logging.log4j.Marker, java.lang.String, java.lang.Object...)"><!-- --></A><H3>
filter</H3>
<PRE>
<A HREF="../../../../../org/apache/logging/log4j/core/Filter.Result.html" title="enum in org.apache.logging.log4j.core">Filter.Result</A> <A HREF="../../../../../src-html/org/apache/logging/log4j/core/Filter.html#line.72"><B>filter</B></A>(<A HREF="../../../../../org/apache/logging/log4j/core/Logger.html" title="class in org.apache.logging.log4j.core">Logger</A>&nbsp;logger,
                     org.apache.logging.log4j.Level&nbsp;level,
                     org.apache.logging.log4j.Marker&nbsp;marker,
                     <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;msg,
                     <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>...&nbsp;params)</PRE>
<DL>
<DD>Filter an event.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>logger</CODE> - The Logger.<DD><CODE>level</CODE> - The event logging Level.<DD><CODE>marker</CODE> - The Marker for the event or null.<DD><CODE>msg</CODE> - String text to filter on.<DD><CODE>params</CODE> - An array of parameters or null.
<DT><B>Returns:</B><DD>the Result.</DL>
</DD>
</DL>
<HR>

<A NAME="filter(org.apache.logging.log4j.core.Logger, org.apache.logging.log4j.Level, org.apache.logging.log4j.Marker, java.lang.Object, java.lang.Throwable)"><!-- --></A><H3>
filter</H3>
<PRE>
<A HREF="../../../../../org/apache/logging/log4j/core/Filter.Result.html" title="enum in org.apache.logging.log4j.core">Filter.Result</A> <A HREF="../../../../../src-html/org/apache/logging/log4j/core/Filter.html#line.83"><B>filter</B></A>(<A HREF="../../../../../org/apache/logging/log4j/core/Logger.html" title="class in org.apache.logging.log4j.core">Logger</A>&nbsp;logger,
                     org.apache.logging.log4j.Level&nbsp;level,
                     org.apache.logging.log4j.Marker&nbsp;marker,
                     <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;msg,
                     <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t)</PRE>
<DL>
<DD>Filter an event.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>logger</CODE> - The Logger.<DD><CODE>level</CODE> - The event logging Level.<DD><CODE>marker</CODE> - The Marker for the event or null.<DD><CODE>msg</CODE> - Any Object.<DD><CODE>t</CODE> - A Throwable or null.
<DT><B>Returns:</B><DD>the Result.</DL>
</DD>
</DL>
<HR>

<A NAME="filter(org.apache.logging.log4j.core.Logger, org.apache.logging.log4j.Level, org.apache.logging.log4j.Marker, org.apache.logging.log4j.message.Message, java.lang.Throwable)"><!-- --></A><H3>
filter</H3>
<PRE>
<A HREF="../../../../../org/apache/logging/log4j/core/Filter.Result.html" title="enum in org.apache.logging.log4j.core">Filter.Result</A> <A HREF="../../../../../src-html/org/apache/logging/log4j/core/Filter.html#line.94"><B>filter</B></A>(<A HREF="../../../../../org/apache/logging/log4j/core/Logger.html" title="class in org.apache.logging.log4j.core">Logger</A>&nbsp;logger,
                     org.apache.logging.log4j.Level&nbsp;level,
                     org.apache.logging.log4j.Marker&nbsp;marker,
                     org.apache.logging.log4j.message.Message&nbsp;msg,
                     <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t)</PRE>
<DL>
<DD>Filter an event.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>logger</CODE> - The Logger.<DD><CODE>level</CODE> - The event logging Level.<DD><CODE>marker</CODE> - The Marker for the event or null.<DD><CODE>msg</CODE> - The Message<DD><CODE>t</CODE> - A Throwable or null.
<DT><B>Returns:</B><DD>the Result.</DL>
</DD>
</DL>
<HR>

<A NAME="filter(org.apache.logging.log4j.core.LogEvent)"><!-- --></A><H3>
filter</H3>
<PRE>
<A HREF="../../../../../org/apache/logging/log4j/core/Filter.Result.html" title="enum in org.apache.logging.log4j.core">Filter.Result</A> <A HREF="../../../../../src-html/org/apache/logging/log4j/core/Filter.html#line.101"><B>filter</B></A>(<A HREF="../../../../../org/apache/logging/log4j/core/LogEvent.html" title="interface in org.apache.logging.log4j.core">LogEvent</A>&nbsp;event)</PRE>
<DL>
<DD>Filter an event.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>event</CODE> - The Event to filter on.
<DT><B>Returns:</B><DD>the Result.</DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>


<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/Filter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../../org/apache/logging/log4j/core/ErrorHandler.html" title="interface in org.apache.logging.log4j.core"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../../org/apache/logging/log4j/core/Filter.Result.html" title="enum in org.apache.logging.log4j.core"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../../index.html?org/apache/logging/log4j/core/Filter.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="Filter.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
&nbsp;<SCRIPT type="text/javascript">
  <!--
  if(window==top) {
    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
  }
  //-->
</SCRIPT>
<NOSCRIPT>
  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>


</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  SUMMARY:&nbsp;<A HREF="#nested_class_summary">NESTED</A>&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->

<HR>
Copyright © 1999-2012 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. Apache Logging, Apache Log4j, Log4j, Apache, the Apache feather logo, and the             Apache Logging project logo are trademarks of The Apache Software Foundation.
</BODY>
</HTML>
