<!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_31) -->
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<TITLE>
AppenderSkeleton (Apache Log4j 1.2.17 API)
</TITLE>

<META NAME="date" CONTENT="2012-06-09">

<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="AppenderSkeleton (Apache Log4j 1.2.17 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/AppenderSkeleton.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/log4j/Appender.html" title="interface in org.apache.log4j"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../org/apache/log4j/AsyncAppender.html" title="class in org.apache.log4j"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../index.html?org/apache/log4j/AppenderSkeleton.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="AppenderSkeleton.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;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&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.log4j</FONT>
<BR>
Class AppenderSkeleton</H2>
<PRE>
<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
  <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.AppenderSkeleton</B>
</PRE>
<DL>
<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>, <A HREF="../../../org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi">OptionHandler</A></DD>
</DL>
<DL>
<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../org/apache/log4j/AsyncAppender.html" title="class in org.apache.log4j">AsyncAppender</A>, <A HREF="../../../org/apache/log4j/jdbc/JDBCAppender.html" title="class in org.apache.log4j.jdbc">JDBCAppender</A>, <A HREF="../../../org/apache/log4j/net/JMSAppender.html" title="class in org.apache.log4j.net">JMSAppender</A>, <A HREF="../../../org/apache/log4j/lf5/LF5Appender.html" title="class in org.apache.log4j.lf5">LF5Appender</A>, <A HREF="../../../org/apache/log4j/nt/NTEventLogAppender.html" title="class in org.apache.log4j.nt">NTEventLogAppender</A>, <A HREF="../../../org/apache/log4j/varia/NullAppender.html" title="class in org.apache.log4j.varia">NullAppender</A>, <A HREF="../../../org/apache/log4j/rewrite/RewriteAppender.html" title="class in org.apache.log4j.rewrite">RewriteAppender</A>, <A HREF="../../../org/apache/log4j/net/SMTPAppender.html" title="class in org.apache.log4j.net">SMTPAppender</A>, <A HREF="../../../org/apache/log4j/net/SocketAppender.html" title="class in org.apache.log4j.net">SocketAppender</A>, <A HREF="../../../org/apache/log4j/net/SocketHubAppender.html" title="class in org.apache.log4j.net">SocketHubAppender</A>, <A HREF="../../../org/apache/log4j/net/SyslogAppender.html" title="class in org.apache.log4j.net">SyslogAppender</A>, <A HREF="../../../org/apache/log4j/net/TelnetAppender.html" title="class in org.apache.log4j.net">TelnetAppender</A>, <A HREF="../../../org/apache/log4j/WriterAppender.html" title="class in org.apache.log4j">WriterAppender</A></DD>
</DL>
<HR>
<DL>
<DT><PRE>public abstract class <B>AppenderSkeleton</B><DT>extends <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A><DT>implements <A HREF="../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>, <A HREF="../../../org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi">OptionHandler</A></DL>
</PRE>

<P>
Abstract superclass of the other appenders in the package.
  
  This class provides the code for common functionality, such as
  support for threshold filtering and support for general filters.
<P>

<P>
<DL>
<DT><B>Since:</B></DT>
  <DD>0.8.1</DD>
<DT><B>Author:</B></DT>
  <DD>Ceki G&uuml;lc&uuml;</DD>
</DL>
<HR>

<P>
<!-- =========== FIELD SUMMARY =========== -->

<A NAME="field_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>Field Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/log4j/AppenderSkeleton.html#closed">closed</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Is this appender closed?</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi">ErrorHandler</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/log4j/AppenderSkeleton.html#errorHandler">errorHandler</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;It is assumed and enforced that errorHandler is never null.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../org/apache/log4j/spi/Filter.html" title="class in org.apache.log4j.spi">Filter</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/log4j/AppenderSkeleton.html#headFilter">headFilter</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The first filter in the filter chain.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/log4j/AppenderSkeleton.html#layout">layout</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The layout variable does not need to be set if the appender
      implementation has its own layout.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/log4j/AppenderSkeleton.html#name">name</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Appenders are named.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../org/apache/log4j/spi/Filter.html" title="class in org.apache.log4j.spi">Filter</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/log4j/AppenderSkeleton.html#tailFilter">tailFilter</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The last filter in the filter chain.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/log4j/AppenderSkeleton.html#threshold">threshold</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;There is no level threshold filtering by default.</TD>
</TR>
</TABLE>
&nbsp;
<!-- ======== CONSTRUCTOR SUMMARY ======== -->

<A NAME="constructor_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>Constructor Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/log4j/AppenderSkeleton.html#AppenderSkeleton()">AppenderSkeleton</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create new instance.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected </CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/log4j/AppenderSkeleton.html#AppenderSkeleton(boolean)">AppenderSkeleton</A></B>(boolean&nbsp;isActive)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create new instance.</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;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/log4j/AppenderSkeleton.html#activateOptions()">activateOptions</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Derived appenders should override this method if option structure
     requires it.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/log4j/AppenderSkeleton.html#addFilter(org.apache.log4j.spi.Filter)">addFilter</A></B>(<A HREF="../../../org/apache/log4j/spi/Filter.html" title="class in org.apache.log4j.spi">Filter</A>&nbsp;newFilter)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Add a filter to end of the filter list.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected abstract &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/log4j/AppenderSkeleton.html#append(org.apache.log4j.spi.LoggingEvent)">append</A></B>(<A HREF="../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Subclasses of <code>AppenderSkeleton</code> should implement this
     method to perform actual logging.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/log4j/AppenderSkeleton.html#clearFilters()">clearFilters</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Clear the filters chain.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/log4j/AppenderSkeleton.html#doAppend(org.apache.log4j.spi.LoggingEvent)">doAppend</A></B>(<A HREF="../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method performs threshold checks and invokes filters before
 delegating actual logging to the subclasses specific <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#append(org.apache.log4j.spi.LoggingEvent)"><CODE>append(org.apache.log4j.spi.LoggingEvent)</CODE></A> method.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/log4j/AppenderSkeleton.html#finalize()">finalize</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Finalize this appender by calling the derived class'
     <code>close</code> method.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi">ErrorHandler</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/log4j/AppenderSkeleton.html#getErrorHandler()">getErrorHandler</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the currently set <A HREF="../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi"><CODE>ErrorHandler</CODE></A> for this
      Appender.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../org/apache/log4j/spi/Filter.html" title="class in org.apache.log4j.spi">Filter</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/log4j/AppenderSkeleton.html#getFilter()">getFilter</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the head Filter.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../org/apache/log4j/spi/Filter.html" title="class in org.apache.log4j.spi">Filter</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/log4j/AppenderSkeleton.html#getFirstFilter()">getFirstFilter</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the first filter in the filter chain for this
      Appender.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/log4j/AppenderSkeleton.html#getLayout()">getLayout</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the layout of this appender.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/log4j/AppenderSkeleton.html#getName()">getName</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the name of this appender.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/log4j/AppenderSkeleton.html#getThreshold()">getThreshold</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns this appenders threshold level.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/log4j/AppenderSkeleton.html#isAsSevereAsThreshold(org.apache.log4j.Priority)">isAsSevereAsThreshold</A></B>(<A HREF="../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A>&nbsp;priority)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Check whether the message level is below the appender's
     threshold.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/log4j/AppenderSkeleton.html#setErrorHandler(org.apache.log4j.spi.ErrorHandler)">setErrorHandler</A></B>(<A HREF="../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi">ErrorHandler</A>&nbsp;eh)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the <A HREF="../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi"><CODE>ErrorHandler</CODE></A> for this Appender.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/log4j/AppenderSkeleton.html#setLayout(org.apache.log4j.Layout)">setLayout</A></B>(<A HREF="../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A>&nbsp;layout)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the layout for this appender.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/log4j/AppenderSkeleton.html#setName(java.lang.String)">setName</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the name of this Appender.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/log4j/AppenderSkeleton.html#setThreshold(org.apache.log4j.Priority)">setThreshold</A></B>(<A HREF="../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A>&nbsp;threshold)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the threshold level.</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.Appender"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from interface org.apache.log4j.<A HREF="../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../org/apache/log4j/Appender.html#close()">close</A>, <A HREF="../../../org/apache/log4j/Appender.html#requiresLayout()">requiresLayout</A></CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>

<!-- ============ FIELD DETAIL =========== -->

<A NAME="field_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>Field Detail</B></FONT></TH>
</TR>
</TABLE>

<A NAME="layout"><!-- --></A><H3>
layout</H3>
<PRE>
protected <A HREF="../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A> <B>layout</B></PRE>
<DL>
<DD>The layout variable does not need to be set if the appender
      implementation has its own layout.
<P>
<DL>
</DL>
</DL>
<HR>

<A NAME="name"><!-- --></A><H3>
name</H3>
<PRE>
protected <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>name</B></PRE>
<DL>
<DD>Appenders are named.
<P>
<DL>
</DL>
</DL>
<HR>

<A NAME="threshold"><!-- --></A><H3>
threshold</H3>
<PRE>
protected <A HREF="../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A> <B>threshold</B></PRE>
<DL>
<DD>There is no level threshold filtering by default.
<P>
<DL>
</DL>
</DL>
<HR>

<A NAME="errorHandler"><!-- --></A><H3>
errorHandler</H3>
<PRE>
protected <A HREF="../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi">ErrorHandler</A> <B>errorHandler</B></PRE>
<DL>
<DD>It is assumed and enforced that errorHandler is never null.
<P>
<DL>
</DL>
</DL>
<HR>

<A NAME="headFilter"><!-- --></A><H3>
headFilter</H3>
<PRE>
protected <A HREF="../../../org/apache/log4j/spi/Filter.html" title="class in org.apache.log4j.spi">Filter</A> <B>headFilter</B></PRE>
<DL>
<DD>The first filter in the filter chain. Set to <code>null</code>
      initially.
<P>
<DL>
</DL>
</DL>
<HR>

<A NAME="tailFilter"><!-- --></A><H3>
tailFilter</H3>
<PRE>
protected <A HREF="../../../org/apache/log4j/spi/Filter.html" title="class in org.apache.log4j.spi">Filter</A> <B>tailFilter</B></PRE>
<DL>
<DD>The last filter in the filter chain.
<P>
<DL>
</DL>
</DL>
<HR>

<A NAME="closed"><!-- --></A><H3>
closed</H3>
<PRE>
protected boolean <B>closed</B></PRE>
<DL>
<DD>Is this appender closed?
<P>
<DL>
</DL>
</DL>

<!-- ========= CONSTRUCTOR DETAIL ======== -->

<A NAME="constructor_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>Constructor Detail</B></FONT></TH>
</TR>
</TABLE>

<A NAME="AppenderSkeleton()"><!-- --></A><H3>
AppenderSkeleton</H3>
<PRE>
public <B>AppenderSkeleton</B>()</PRE>
<DL>
<DD>Create new instance.
<P>
</DL>
<HR>

<A NAME="AppenderSkeleton(boolean)"><!-- --></A><H3>
AppenderSkeleton</H3>
<PRE>
protected <B>AppenderSkeleton</B>(boolean&nbsp;isActive)</PRE>
<DL>
<DD>Create new instance.
 Provided for compatibility with log4j 1.3.
<P>
<DL>
<DT><B>Parameters:</B><DD><CODE>isActive</CODE> - true if appender is ready for use upon construction.
                 Not used in log4j 1.2.x.<DT><B>Since:</B></DT>
  <DD>1.2.15</DD>
</DL>
</DL>

<!-- ============ 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="activateOptions()"><!-- --></A><H3>
activateOptions</H3>
<PRE>
public void <B>activateOptions</B>()</PRE>
<DL>
<DD>Derived appenders should override this method if option structure
     requires it.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/log4j/spi/OptionHandler.html#activateOptions()">activateOptions</A></CODE> in interface <CODE><A HREF="../../../org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi">OptionHandler</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="addFilter(org.apache.log4j.spi.Filter)"><!-- --></A><H3>
addFilter</H3>
<PRE>
public void <B>addFilter</B>(<A HREF="../../../org/apache/log4j/spi/Filter.html" title="class in org.apache.log4j.spi">Filter</A>&nbsp;newFilter)</PRE>
<DL>
<DD>Add a filter to end of the filter list.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/log4j/Appender.html#addFilter(org.apache.log4j.spi.Filter)">addFilter</A></CODE> in interface <CODE><A HREF="../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Since:</B></DT>
  <DD>0.9.0</DD>
</DL>
</DD>
</DL>
<HR>

<A NAME="append(org.apache.log4j.spi.LoggingEvent)"><!-- --></A><H3>
append</H3>
<PRE>
protected abstract void <B>append</B>(<A HREF="../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</PRE>
<DL>
<DD>Subclasses of <code>AppenderSkeleton</code> should implement this
     method to perform actual logging. See also <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#doAppend(org.apache.log4j.spi.LoggingEvent)"><CODE>AppenderSkeleton.doAppend</CODE></A> method.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Since:</B></DT>
  <DD>0.9.0</DD>
</DL>
</DD>
</DL>
<HR>

<A NAME="clearFilters()"><!-- --></A><H3>
clearFilters</H3>
<PRE>
public void <B>clearFilters</B>()</PRE>
<DL>
<DD>Clear the filters chain.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/log4j/Appender.html#clearFilters()">clearFilters</A></CODE> in interface <CODE><A HREF="../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Since:</B></DT>
  <DD>0.9.0</DD>
</DL>
</DD>
</DL>
<HR>

<A NAME="finalize()"><!-- --></A><H3>
finalize</H3>
<PRE>
public void <B>finalize</B>()</PRE>
<DL>
<DD>Finalize this appender by calling the derived class'
     <code>close</code> method.
<P>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Since:</B></DT>
  <DD>0.8.4</DD>
</DL>
</DD>
</DL>
<HR>

<A NAME="getErrorHandler()"><!-- --></A><H3>
getErrorHandler</H3>
<PRE>
public <A HREF="../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi">ErrorHandler</A> <B>getErrorHandler</B>()</PRE>
<DL>
<DD>Return the currently set <A HREF="../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi"><CODE>ErrorHandler</CODE></A> for this
      Appender.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/log4j/Appender.html#getErrorHandler()">getErrorHandler</A></CODE> in interface <CODE><A HREF="../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Since:</B></DT>
  <DD>0.9.0</DD>
</DL>
</DD>
</DL>
<HR>

<A NAME="getFilter()"><!-- --></A><H3>
getFilter</H3>
<PRE>
public <A HREF="../../../org/apache/log4j/spi/Filter.html" title="class in org.apache.log4j.spi">Filter</A> <B>getFilter</B>()</PRE>
<DL>
<DD>Returns the head Filter.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/log4j/Appender.html#getFilter()">getFilter</A></CODE> in interface <CODE><A HREF="../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A></CODE></DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>the head Filter or null, if no Filters are present<DT><B>Since:</B></DT>
  <DD>1.1</DD>
</DL>
</DD>
</DL>
<HR>

<A NAME="getFirstFilter()"><!-- --></A><H3>
getFirstFilter</H3>
<PRE>
public final <A HREF="../../../org/apache/log4j/spi/Filter.html" title="class in org.apache.log4j.spi">Filter</A> <B>getFirstFilter</B>()</PRE>
<DL>
<DD>Return the first filter in the filter chain for this
      Appender. The return value may be <code>null</code> if no is
      filter is set.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getLayout()"><!-- --></A><H3>
getLayout</H3>
<PRE>
public <A HREF="../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A> <B>getLayout</B>()</PRE>
<DL>
<DD>Returns the layout of this appender. The value may be null.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/log4j/Appender.html#getLayout()">getLayout</A></CODE> in interface <CODE><A HREF="../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getName()"><!-- --></A><H3>
getName</H3>
<PRE>
public final <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getName</B>()</PRE>
<DL>
<DD>Returns the name of this appender.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/log4j/Appender.html#getName()">getName</A></CODE> in interface <CODE><A HREF="../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A></CODE></DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>name, may be null.</DL>
</DD>
</DL>
<HR>

<A NAME="getThreshold()"><!-- --></A><H3>
getThreshold</H3>
<PRE>
public <A HREF="../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A> <B>getThreshold</B>()</PRE>
<DL>
<DD>Returns this appenders threshold level. See the <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#setThreshold(org.apache.log4j.Priority)"><CODE>setThreshold(org.apache.log4j.Priority)</CODE></A> method for the meaning of this option.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Since:</B></DT>
  <DD>1.1</DD>
</DL>
</DD>
</DL>
<HR>

<A NAME="isAsSevereAsThreshold(org.apache.log4j.Priority)"><!-- --></A><H3>
isAsSevereAsThreshold</H3>
<PRE>
public boolean <B>isAsSevereAsThreshold</B>(<A HREF="../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A>&nbsp;priority)</PRE>
<DL>
<DD>Check whether the message level is below the appender's
     threshold. If there is no threshold set, then the return value is
     always <code>true</code>.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="doAppend(org.apache.log4j.spi.LoggingEvent)"><!-- --></A><H3>
doAppend</H3>
<PRE>
public void <B>doAppend</B>(<A HREF="../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</PRE>
<DL>
<DD>This method performs threshold checks and invokes filters before
 delegating actual logging to the subclasses specific <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#append(org.apache.log4j.spi.LoggingEvent)"><CODE>append(org.apache.log4j.spi.LoggingEvent)</CODE></A> method.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/log4j/Appender.html#doAppend(org.apache.log4j.spi.LoggingEvent)">doAppend</A></CODE> in interface <CODE><A HREF="../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setErrorHandler(org.apache.log4j.spi.ErrorHandler)"><!-- --></A><H3>
setErrorHandler</H3>
<PRE>
public void <B>setErrorHandler</B>(<A HREF="../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi">ErrorHandler</A>&nbsp;eh)</PRE>
<DL>
<DD>Set the <A HREF="../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi"><CODE>ErrorHandler</CODE></A> for this Appender.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/log4j/Appender.html#setErrorHandler(org.apache.log4j.spi.ErrorHandler)">setErrorHandler</A></CODE> in interface <CODE><A HREF="../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Since:</B></DT>
  <DD>0.9.0</DD>
</DL>
</DD>
</DL>
<HR>

<A NAME="setLayout(org.apache.log4j.Layout)"><!-- --></A><H3>
setLayout</H3>
<PRE>
public void <B>setLayout</B>(<A HREF="../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A>&nbsp;layout)</PRE>
<DL>
<DD>Set the layout for this appender. Note that some appenders have
     their own (fixed) layouts or do not use one. For example, the
     <A HREF="../../../org/apache/log4j/net/SocketAppender.html" title="class in org.apache.log4j.net"><CODE>SocketAppender</CODE></A> ignores the layout set
     here.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/log4j/Appender.html#setLayout(org.apache.log4j.Layout)">setLayout</A></CODE> in interface <CODE><A HREF="../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setName(java.lang.String)"><!-- --></A><H3>
setName</H3>
<PRE>
public void <B>setName</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</PRE>
<DL>
<DD>Set the name of this Appender.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/log4j/Appender.html#setName(java.lang.String)">setName</A></CODE> in interface <CODE><A HREF="../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setThreshold(org.apache.log4j.Priority)"><!-- --></A><H3>
setThreshold</H3>
<PRE>
public void <B>setThreshold</B>(<A HREF="../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A>&nbsp;threshold)</PRE>
<DL>
<DD>Set the threshold level. All log events with lower level
     than the threshold level are ignored by the appender.

     <p>In configuration files this option is specified by setting the
     value of the <b>Threshold</b> option to a level
     string, such as "DEBUG", "INFO" and so on.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Since:</B></DT>
  <DD>0.8.3</DD>
</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/AppenderSkeleton.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/log4j/Appender.html" title="interface in org.apache.log4j"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../org/apache/log4j/AsyncAppender.html" title="class in org.apache.log4j"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../index.html?org/apache/log4j/AppenderSkeleton.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="AppenderSkeleton.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;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->

<HR>
Copyright &#169; 1999-2012 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved.
</BODY>
</HTML>
