| <!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> |
| SocketAppender (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="SocketAppender (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> </TD> |
| <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD> |
| <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD> |
| <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/SocketAppender.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD> |
| <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> |
| <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> |
| <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD> |
| <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> |
| </TR> |
| </TABLE> |
| </TD> |
| <TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> |
| </EM> |
| </TD> |
| </TR> |
| |
| <TR> |
| <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> |
| <A HREF="../../../../org/apache/log4j/net/SMTPAppender.html" title="class in org.apache.log4j.net"><B>PREV CLASS</B></A> |
| <A HREF="../../../../org/apache/log4j/net/SocketHubAppender.html" title="class in org.apache.log4j.net"><B>NEXT CLASS</B></A></FONT></TD> |
| <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> |
| <A HREF="../../../../index.html?org/apache/log4j/net/SocketAppender.html" target="_top"><B>FRAMES</B></A> |
| <A HREF="SocketAppender.html" target="_top"><B>NO FRAMES</B></A> |
| <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: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD> |
| <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> |
| DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <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.net</FONT> |
| <BR> |
| Class SocketAppender</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 "><A HREF="../../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">org.apache.log4j.AppenderSkeleton</A> |
| <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.net.SocketAppender</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> |
| <HR> |
| <DL> |
| <DT><PRE>public class <B>SocketAppender</B><DT>extends <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A></DL> |
| </PRE> |
| |
| <P> |
| Sends <A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi"><CODE>LoggingEvent</CODE></A> objects to a remote a log server, |
| usually a <A HREF="../../../../org/apache/log4j/net/SocketNode.html" title="class in org.apache.log4j.net"><CODE>SocketNode</CODE></A>. |
| |
| <p>The SocketAppender has the following properties: |
| |
| <ul> |
| |
| <p><li>If sent to a <A HREF="../../../../org/apache/log4j/net/SocketNode.html" title="class in org.apache.log4j.net"><CODE>SocketNode</CODE></A>, remote logging is |
| non-intrusive as far as the log event is concerned. In other |
| words, the event will be logged with the same time stamp, <A HREF="../../../../org/apache/log4j/NDC.html" title="class in org.apache.log4j"><CODE>NDC</CODE></A>, location info as if it were logged locally by |
| the client. |
| |
| <p><li>SocketAppenders do not use a layout. They ship a |
| serialized <A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi"><CODE>LoggingEvent</CODE></A> object to the server side. |
| |
| <p><li>Remote logging uses the TCP protocol. Consequently, if |
| the server is reachable, then log events will eventually arrive |
| at the server. |
| |
| <p><li>If the remote server is down, the logging requests are |
| simply dropped. However, if and when the server comes back up, |
| then event transmission is resumed transparently. This |
| transparent reconneciton is performed by a <em>connector</em> |
| thread which periodically attempts to connect to the server. |
| |
| <p><li>Logging events are automatically <em>buffered</em> by the |
| native TCP implementation. This means that if the link to server |
| is slow but still faster than the rate of (log) event production |
| by the client, the client will not be affected by the slow |
| network connection. However, if the network connection is slower |
| then the rate of event production, then the client can only |
| progress at the network rate. In particular, if the network link |
| to the the server is down, the client will be blocked. |
| |
| <p>On the other hand, if the network link is up, but the server |
| is down, the client will not be blocked when making log requests |
| but the log events will be lost due to server unavailability. |
| |
| <p><li>Even if a <code>SocketAppender</code> is no longer |
| attached to any category, it will not be garbage collected in |
| the presence of a connector thread. A connector thread exists |
| only if the connection to the server is down. To avoid this |
| garbage collection problem, you should <A HREF="../../../../org/apache/log4j/net/SocketAppender.html#close()"><CODE>close()</CODE></A> the the |
| <code>SocketAppender</code> explicitly. See also next item. |
| |
| <p>Long lived applications which create/destroy many |
| <code>SocketAppender</code> instances should be aware of this |
| garbage collection problem. Most other applications can safely |
| ignore it. |
| |
| <p><li>If the JVM hosting the <code>SocketAppender</code> exits |
| before the <code>SocketAppender</code> is closed either |
| explicitly or subsequent to garbage collection, then there might |
| be untransmitted data in the pipe which might be lost. This is a |
| common problem on Windows based systems. |
| |
| <p>To avoid lost data, it is usually sufficient to <A HREF="../../../../org/apache/log4j/net/SocketAppender.html#close()"><CODE>close()</CODE></A> the <code>SocketAppender</code> either explicitly or by |
| calling the <A HREF="../../../../org/apache/log4j/LogManager.html#shutdown()"><CODE>LogManager.shutdown()</CODE></A> method |
| before exiting the application. |
| |
| |
| </ul> |
| <P> |
| |
| <P> |
| <DL> |
| <DT><B>Since:</B></DT> |
| <DD>0.8.4</DD> |
| <DT><B>Author:</B></DT> |
| <DD>Ceki Gülcü</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>static int</CODE></FONT></TD> |
| <TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SocketAppender.html#DEFAULT_PORT">DEFAULT_PORT</A></B></CODE> |
| |
| <BR> |
| The default port number of remote logging server (4560).</TD> |
| </TR> |
| <TR BGCOLOR="white" CLASS="TableRowColor"> |
| <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> |
| <CODE>static <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/net/SocketAppender.html#ZONE">ZONE</A></B></CODE> |
| |
| <BR> |
| The MulticastDNS zone advertised by a SocketAppender</TD> |
| </TR> |
| </TABLE> |
| <A NAME="fields_inherited_from_class_org.apache.log4j.AppenderSkeleton"><!-- --></A> |
| <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> |
| <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> |
| <TH ALIGN="left"><B>Fields inherited from class org.apache.log4j.<A HREF="../../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A></B></TH> |
| </TR> |
| <TR BGCOLOR="white" CLASS="TableRowColor"> |
| <TD><CODE><A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#closed">closed</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#errorHandler">errorHandler</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#headFilter">headFilter</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#layout">layout</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#name">name</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#tailFilter">tailFilter</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#threshold">threshold</A></CODE></TD> |
| </TR> |
| </TABLE> |
| |
| <!-- ======== 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><CODE><B><A HREF="../../../../org/apache/log4j/net/SocketAppender.html#SocketAppender()">SocketAppender</A></B>()</CODE> |
| |
| <BR> |
| </TD> |
| </TR> |
| <TR BGCOLOR="white" CLASS="TableRowColor"> |
| <TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SocketAppender.html#SocketAppender(java.net.InetAddress, int)">SocketAppender</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/net/InetAddress.html?is-external=true" title="class or interface in java.net">InetAddress</A> address, |
| int port)</CODE> |
| |
| <BR> |
| Connects to remote server at <code>address</code> and <code>port</code>.</TD> |
| </TR> |
| <TR BGCOLOR="white" CLASS="TableRowColor"> |
| <TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SocketAppender.html#SocketAppender(java.lang.String, int)">SocketAppender</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> host, |
| int port)</CODE> |
| |
| <BR> |
| Connects to remote server at <code>host</code> and <code>port</code>.</TD> |
| </TR> |
| </TABLE> |
| |
| <!-- ========== 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> void</CODE></FONT></TD> |
| <TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SocketAppender.html#activateOptions()">activateOptions</A></B>()</CODE> |
| |
| <BR> |
| Connect to the specified <b>RemoteHost</b> and <b>Port</b>.</TD> |
| </TR> |
| <TR BGCOLOR="white" CLASS="TableRowColor"> |
| <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> |
| <CODE> void</CODE></FONT></TD> |
| <TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SocketAppender.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> event)</CODE> |
| |
| <BR> |
| 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> void</CODE></FONT></TD> |
| <TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SocketAppender.html#cleanUp()">cleanUp</A></B>()</CODE> |
| |
| <BR> |
| Drop the connection to the remote host and release the underlying |
| connector thread if it has been created</TD> |
| </TR> |
| <TR BGCOLOR="white" CLASS="TableRowColor"> |
| <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> |
| <CODE> void</CODE></FONT></TD> |
| <TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SocketAppender.html#close()">close</A></B>()</CODE> |
| |
| <BR> |
| Close this appender.</TD> |
| </TR> |
| <TR BGCOLOR="white" CLASS="TableRowColor"> |
| <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> |
| <CODE> <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/net/SocketAppender.html#getApplication()">getApplication</A></B>()</CODE> |
| |
| <BR> |
| Returns value of the <b>Application</b> option.</TD> |
| </TR> |
| <TR BGCOLOR="white" CLASS="TableRowColor"> |
| <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> |
| <CODE> boolean</CODE></FONT></TD> |
| <TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SocketAppender.html#getLocationInfo()">getLocationInfo</A></B>()</CODE> |
| |
| <BR> |
| Returns value of the <b>LocationInfo</b> option.</TD> |
| </TR> |
| <TR BGCOLOR="white" CLASS="TableRowColor"> |
| <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> |
| <CODE> int</CODE></FONT></TD> |
| <TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SocketAppender.html#getPort()">getPort</A></B>()</CODE> |
| |
| <BR> |
| Returns value of the <b>Port</b> option.</TD> |
| </TR> |
| <TR BGCOLOR="white" CLASS="TableRowColor"> |
| <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> |
| <CODE> int</CODE></FONT></TD> |
| <TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SocketAppender.html#getReconnectionDelay()">getReconnectionDelay</A></B>()</CODE> |
| |
| <BR> |
| Returns value of the <b>ReconnectionDelay</b> option.</TD> |
| </TR> |
| <TR BGCOLOR="white" CLASS="TableRowColor"> |
| <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> |
| <CODE> <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/net/SocketAppender.html#getRemoteHost()">getRemoteHost</A></B>()</CODE> |
| |
| <BR> |
| Returns value of the <b>RemoteHost</b> option.</TD> |
| </TR> |
| <TR BGCOLOR="white" CLASS="TableRowColor"> |
| <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> |
| <CODE> boolean</CODE></FONT></TD> |
| <TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SocketAppender.html#isAdvertiseViaMulticastDNS()">isAdvertiseViaMulticastDNS</A></B>()</CODE> |
| |
| <BR> |
| </TD> |
| </TR> |
| <TR BGCOLOR="white" CLASS="TableRowColor"> |
| <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> |
| <CODE> boolean</CODE></FONT></TD> |
| <TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SocketAppender.html#requiresLayout()">requiresLayout</A></B>()</CODE> |
| |
| <BR> |
| The SocketAppender does not use a layout.</TD> |
| </TR> |
| <TR BGCOLOR="white" CLASS="TableRowColor"> |
| <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> |
| <CODE> void</CODE></FONT></TD> |
| <TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SocketAppender.html#setAdvertiseViaMulticastDNS(boolean)">setAdvertiseViaMulticastDNS</A></B>(boolean advertiseViaMulticastDNS)</CODE> |
| |
| <BR> |
| </TD> |
| </TR> |
| <TR BGCOLOR="white" CLASS="TableRowColor"> |
| <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> |
| <CODE> void</CODE></FONT></TD> |
| <TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SocketAppender.html#setApplication(java.lang.String)">setApplication</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> lapp)</CODE> |
| |
| <BR> |
| The <b>App</b> option takes a string value which should be the name of the |
| application getting logged.</TD> |
| </TR> |
| <TR BGCOLOR="white" CLASS="TableRowColor"> |
| <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> |
| <CODE> void</CODE></FONT></TD> |
| <TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SocketAppender.html#setLocationInfo(boolean)">setLocationInfo</A></B>(boolean locationInfo)</CODE> |
| |
| <BR> |
| The <b>LocationInfo</b> option takes a boolean value.</TD> |
| </TR> |
| <TR BGCOLOR="white" CLASS="TableRowColor"> |
| <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> |
| <CODE> void</CODE></FONT></TD> |
| <TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SocketAppender.html#setPort(int)">setPort</A></B>(int port)</CODE> |
| |
| <BR> |
| The <b>Port</b> option takes a positive integer representing |
| the port where the server is waiting for connections.</TD> |
| </TR> |
| <TR BGCOLOR="white" CLASS="TableRowColor"> |
| <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> |
| <CODE> void</CODE></FONT></TD> |
| <TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SocketAppender.html#setReconnectionDelay(int)">setReconnectionDelay</A></B>(int delay)</CODE> |
| |
| <BR> |
| The <b>ReconnectionDelay</b> option takes a positive integer |
| representing the number of milliseconds to wait between each |
| failed connection attempt to the server.</TD> |
| </TR> |
| <TR BGCOLOR="white" CLASS="TableRowColor"> |
| <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> |
| <CODE> void</CODE></FONT></TD> |
| <TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SocketAppender.html#setRemoteHost(java.lang.String)">setRemoteHost</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> host)</CODE> |
| |
| <BR> |
| The <b>RemoteHost</b> option takes a string value which should be |
| the host name of the server where a <A HREF="../../../../org/apache/log4j/net/SocketNode.html" title="class in org.apache.log4j.net"><CODE>SocketNode</CODE></A> is |
| running.</TD> |
| </TR> |
| </TABLE> |
| <A NAME="methods_inherited_from_class_org.apache.log4j.AppenderSkeleton"><!-- --></A> |
| <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> |
| <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> |
| <TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.<A HREF="../../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A></B></TH> |
| </TR> |
| <TR BGCOLOR="white" CLASS="TableRowColor"> |
| <TD><CODE><A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#addFilter(org.apache.log4j.spi.Filter)">addFilter</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#clearFilters()">clearFilters</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#doAppend(org.apache.log4j.spi.LoggingEvent)">doAppend</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#finalize()">finalize</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#getErrorHandler()">getErrorHandler</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#getFilter()">getFilter</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#getFirstFilter()">getFirstFilter</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#getLayout()">getLayout</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#getName()">getName</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#getThreshold()">getThreshold</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#isAsSevereAsThreshold(org.apache.log4j.Priority)">isAsSevereAsThreshold</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#setErrorHandler(org.apache.log4j.spi.ErrorHandler)">setErrorHandler</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#setLayout(org.apache.log4j.Layout)">setLayout</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#setName(java.lang.String)">setName</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#setThreshold(org.apache.log4j.Priority)">setThreshold</A></CODE></TD> |
| </TR> |
| </TABLE> |
| <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> |
| |
| <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="DEFAULT_PORT"><!-- --></A><H3> |
| DEFAULT_PORT</H3> |
| <PRE> |
| public static final int <B>DEFAULT_PORT</B></PRE> |
| <DL> |
| <DD>The default port number of remote logging server (4560). |
| <P> |
| <DL> |
| <DT><B>Since:</B></DT> |
| <DD>1.2.15</DD> |
| <DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.log4j.net.SocketAppender.DEFAULT_PORT">Constant Field Values</A></DL> |
| </DL> |
| <HR> |
| |
| <A NAME="ZONE"><!-- --></A><H3> |
| ZONE</H3> |
| <PRE> |
| public static 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>ZONE</B></PRE> |
| <DL> |
| <DD>The MulticastDNS zone advertised by a SocketAppender |
| <P> |
| <DL> |
| <DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.log4j.net.SocketAppender.ZONE">Constant Field Values</A></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="SocketAppender()"><!-- --></A><H3> |
| SocketAppender</H3> |
| <PRE> |
| public <B>SocketAppender</B>()</PRE> |
| <DL> |
| </DL> |
| <HR> |
| |
| <A NAME="SocketAppender(java.net.InetAddress, int)"><!-- --></A><H3> |
| SocketAppender</H3> |
| <PRE> |
| public <B>SocketAppender</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/net/InetAddress.html?is-external=true" title="class or interface in java.net">InetAddress</A> address, |
| int port)</PRE> |
| <DL> |
| <DD>Connects to remote server at <code>address</code> and <code>port</code>. |
| <P> |
| </DL> |
| <HR> |
| |
| <A NAME="SocketAppender(java.lang.String, int)"><!-- --></A><H3> |
| SocketAppender</H3> |
| <PRE> |
| public <B>SocketAppender</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> host, |
| int port)</PRE> |
| <DL> |
| <DD>Connects to remote server at <code>host</code> and <code>port</code>. |
| <P> |
| </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>Connect to the specified <b>RemoteHost</b> and <b>Port</b>. |
| <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><DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#activateOptions()">activateOptions</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A></CODE></DL> |
| </DD> |
| <DD><DL> |
| </DL> |
| </DD> |
| </DL> |
| <HR> |
| |
| <A NAME="close()"><!-- --></A><H3> |
| close</H3> |
| <PRE> |
| public void <B>close</B>()</PRE> |
| <DL> |
| <DD>Close this appender. |
| |
| <p>This will mark the appender as closed and call then <A HREF="../../../../org/apache/log4j/net/SocketAppender.html#cleanUp()"><CODE>cleanUp()</CODE></A> method. |
| <P> |
| <DD><DL> |
| </DL> |
| </DD> |
| </DL> |
| <HR> |
| |
| <A NAME="cleanUp()"><!-- --></A><H3> |
| cleanUp</H3> |
| <PRE> |
| public void <B>cleanUp</B>()</PRE> |
| <DL> |
| <DD>Drop the connection to the remote host and release the underlying |
| connector thread if it has been created |
| <P> |
| <DD><DL> |
| </DL> |
| </DD> |
| </DL> |
| <HR> |
| |
| <A NAME="append(org.apache.log4j.spi.LoggingEvent)"><!-- --></A><H3> |
| append</H3> |
| <PRE> |
| public void <B>append</B>(<A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A> event)</PRE> |
| <DL> |
| <DD><B>Description copied from class: <CODE><A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#append(org.apache.log4j.spi.LoggingEvent)">AppenderSkeleton</A></CODE></B></DD> |
| <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> |
| <DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#append(org.apache.log4j.spi.LoggingEvent)">append</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A></CODE></DL> |
| </DD> |
| <DD><DL> |
| </DL> |
| </DD> |
| </DL> |
| <HR> |
| |
| <A NAME="setAdvertiseViaMulticastDNS(boolean)"><!-- --></A><H3> |
| setAdvertiseViaMulticastDNS</H3> |
| <PRE> |
| public void <B>setAdvertiseViaMulticastDNS</B>(boolean advertiseViaMulticastDNS)</PRE> |
| <DL> |
| <DD><DL> |
| </DL> |
| </DD> |
| </DL> |
| <HR> |
| |
| <A NAME="isAdvertiseViaMulticastDNS()"><!-- --></A><H3> |
| isAdvertiseViaMulticastDNS</H3> |
| <PRE> |
| public boolean <B>isAdvertiseViaMulticastDNS</B>()</PRE> |
| <DL> |
| <DD><DL> |
| </DL> |
| </DD> |
| </DL> |
| <HR> |
| |
| <A NAME="requiresLayout()"><!-- --></A><H3> |
| requiresLayout</H3> |
| <PRE> |
| public boolean <B>requiresLayout</B>()</PRE> |
| <DL> |
| <DD>The SocketAppender does not use a layout. Hence, this method |
| returns <code>false</code>. |
| <P> |
| <DD><DL> |
| </DL> |
| </DD> |
| </DL> |
| <HR> |
| |
| <A NAME="setRemoteHost(java.lang.String)"><!-- --></A><H3> |
| setRemoteHost</H3> |
| <PRE> |
| public void <B>setRemoteHost</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> host)</PRE> |
| <DL> |
| <DD>The <b>RemoteHost</b> option takes a string value which should be |
| the host name of the server where a <A HREF="../../../../org/apache/log4j/net/SocketNode.html" title="class in org.apache.log4j.net"><CODE>SocketNode</CODE></A> is |
| running. |
| <P> |
| <DD><DL> |
| </DL> |
| </DD> |
| </DL> |
| <HR> |
| |
| <A NAME="getRemoteHost()"><!-- --></A><H3> |
| getRemoteHost</H3> |
| <PRE> |
| public <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>getRemoteHost</B>()</PRE> |
| <DL> |
| <DD>Returns value of the <b>RemoteHost</b> option. |
| <P> |
| <DD><DL> |
| </DL> |
| </DD> |
| </DL> |
| <HR> |
| |
| <A NAME="setPort(int)"><!-- --></A><H3> |
| setPort</H3> |
| <PRE> |
| public void <B>setPort</B>(int port)</PRE> |
| <DL> |
| <DD>The <b>Port</b> option takes a positive integer representing |
| the port where the server is waiting for connections. |
| <P> |
| <DD><DL> |
| </DL> |
| </DD> |
| </DL> |
| <HR> |
| |
| <A NAME="getPort()"><!-- --></A><H3> |
| getPort</H3> |
| <PRE> |
| public int <B>getPort</B>()</PRE> |
| <DL> |
| <DD>Returns value of the <b>Port</b> option. |
| <P> |
| <DD><DL> |
| </DL> |
| </DD> |
| </DL> |
| <HR> |
| |
| <A NAME="setLocationInfo(boolean)"><!-- --></A><H3> |
| setLocationInfo</H3> |
| <PRE> |
| public void <B>setLocationInfo</B>(boolean locationInfo)</PRE> |
| <DL> |
| <DD>The <b>LocationInfo</b> option takes a boolean value. If true, |
| the information sent to the remote host will include location |
| information. By default no location information is sent to the server. |
| <P> |
| <DD><DL> |
| </DL> |
| </DD> |
| </DL> |
| <HR> |
| |
| <A NAME="getLocationInfo()"><!-- --></A><H3> |
| getLocationInfo</H3> |
| <PRE> |
| public boolean <B>getLocationInfo</B>()</PRE> |
| <DL> |
| <DD>Returns value of the <b>LocationInfo</b> option. |
| <P> |
| <DD><DL> |
| </DL> |
| </DD> |
| </DL> |
| <HR> |
| |
| <A NAME="setApplication(java.lang.String)"><!-- --></A><H3> |
| setApplication</H3> |
| <PRE> |
| public void <B>setApplication</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> lapp)</PRE> |
| <DL> |
| <DD>The <b>App</b> option takes a string value which should be the name of the |
| application getting logged. |
| If property was already set (via system property), don't set here. |
| <P> |
| <DD><DL> |
| <DT><B>Since:</B></DT> |
| <DD>1.2.15</DD> |
| </DL> |
| </DD> |
| </DL> |
| <HR> |
| |
| <A NAME="getApplication()"><!-- --></A><H3> |
| getApplication</H3> |
| <PRE> |
| public <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>getApplication</B>()</PRE> |
| <DL> |
| <DD>Returns value of the <b>Application</b> option. |
| <P> |
| <DD><DL> |
| <DT><B>Since:</B></DT> |
| <DD>1.2.15</DD> |
| </DL> |
| </DD> |
| </DL> |
| <HR> |
| |
| <A NAME="setReconnectionDelay(int)"><!-- --></A><H3> |
| setReconnectionDelay</H3> |
| <PRE> |
| public void <B>setReconnectionDelay</B>(int delay)</PRE> |
| <DL> |
| <DD>The <b>ReconnectionDelay</b> option takes a positive integer |
| representing the number of milliseconds to wait between each |
| failed connection attempt to the server. The default value of |
| this option is 30000 which corresponds to 30 seconds. |
| |
| <p>Setting this option to zero turns off reconnection |
| capability. |
| <P> |
| <DD><DL> |
| </DL> |
| </DD> |
| </DL> |
| <HR> |
| |
| <A NAME="getReconnectionDelay()"><!-- --></A><H3> |
| getReconnectionDelay</H3> |
| <PRE> |
| public int <B>getReconnectionDelay</B>()</PRE> |
| <DL> |
| <DD>Returns value of the <b>ReconnectionDelay</b> option. |
| <P> |
| <DD><DL> |
| </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> </TD> |
| <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD> |
| <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD> |
| <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/SocketAppender.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD> |
| <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> |
| <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> |
| <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD> |
| <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> |
| </TR> |
| </TABLE> |
| </TD> |
| <TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> |
| </EM> |
| </TD> |
| </TR> |
| |
| <TR> |
| <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> |
| <A HREF="../../../../org/apache/log4j/net/SMTPAppender.html" title="class in org.apache.log4j.net"><B>PREV CLASS</B></A> |
| <A HREF="../../../../org/apache/log4j/net/SocketHubAppender.html" title="class in org.apache.log4j.net"><B>NEXT CLASS</B></A></FONT></TD> |
| <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> |
| <A HREF="../../../../index.html?org/apache/log4j/net/SocketAppender.html" target="_top"><B>FRAMES</B></A> |
| <A HREF="SocketAppender.html" target="_top"><B>NO FRAMES</B></A> |
| <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: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD> |
| <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> |
| DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <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. |
| </BODY> |
| </HTML> |