blob: 38cb63540394ba9a273b0cc07ee80b770d0bc103 [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>Apache log4cxx: SocketAppender Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
$(window).load(resizeHeight);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { init_search(); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname"><a href="http://logging.apache.org/log4cxx">Apache log4cxx</a>
&#160;<span id="projectnumber">Version 0.10.0</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('classlog4cxx_1_1net_1_1_socket_appender.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-attribs">Static Public Attributes</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="classlog4cxx_1_1net_1_1_socket_appender-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">SocketAppender Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>Sends <a class="el" href="classlog4cxx_1_1spi_1_1_logging_event.html">LoggingEvent</a> objects to a remote a log server, usually Apache Chainsaw.
<a href="classlog4cxx_1_1net_1_1_socket_appender.html#details">More...</a></p>
<div class="dynheader">
Inheritance diagram for SocketAppender:</div>
<div class="dyncontent">
<div class="center">
<img src="classlog4cxx_1_1net_1_1_socket_appender.png" usemap="#SocketAppender_map" alt=""/>
<map id="SocketAppender_map" name="SocketAppender_map">
<area href="classlog4cxx_1_1net_1_1_socket_appender_skeleton.html" title="Abstract base class for SocketAppender and XMLSocketAppender. " alt="SocketAppenderSkeleton" shape="rect" coords="82,224,236,248"/>
<area href="classlog4cxx_1_1_appender_skeleton.html" title="Implementation base class for all appenders. " alt="AppenderSkeleton" shape="rect" coords="82,168,236,192"/>
<area href="classlog4cxx_1_1_appender.html" title="Implement this interface for your own strategies for outputting log statements. " alt="Appender" shape="rect" coords="0,112,154,136"/>
<area href="classlog4cxx_1_1helpers_1_1_object_impl.html" title="Implementation class for Object. " alt="ObjectImpl" shape="rect" coords="164,112,318,136"/>
<area href="classlog4cxx_1_1spi_1_1_option_handler.html" title="A string based interface to configure package components. " alt="OptionHandler" shape="rect" coords="0,56,154,80"/>
<area href="classlog4cxx_1_1helpers_1_1_object.html" title="base class for java-like objects. " alt="Object" shape="rect" coords="164,56,318,80"/>
<area href="classlog4cxx_1_1helpers_1_1_object.html" title="base class for java-like objects. " alt="Object" shape="rect" coords="0,0,154,24"/>
</map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:ac1ec5c6630aef196b08cfadf50bb8e96"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1net_1_1_socket_appender.html#ac1ec5c6630aef196b08cfadf50bb8e96">SocketAppender</a> ()</td></tr>
<tr class="separator:ac1ec5c6630aef196b08cfadf50bb8e96"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac26fd03e92578d2e5063b3880f9e2042"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1net_1_1_socket_appender.html#ac26fd03e92578d2e5063b3880f9e2042">~SocketAppender</a> ()</td></tr>
<tr class="separator:ac26fd03e92578d2e5063b3880f9e2042"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5834c59ea27f900e3702a42e03712007"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1net_1_1_socket_appender.html#a5834c59ea27f900e3702a42e03712007">SocketAppender</a> (helpers::InetAddressPtr &amp;address, int port)</td></tr>
<tr class="memdesc:a5834c59ea27f900e3702a42e03712007"><td class="mdescLeft">&#160;</td><td class="mdescRight">Connects to remote server at <code>address</code> and <code>port</code>. <a href="#a5834c59ea27f900e3702a42e03712007">More...</a><br /></td></tr>
<tr class="separator:a5834c59ea27f900e3702a42e03712007"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a31b40a0cee8762dd8e6508f48db47926"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1net_1_1_socket_appender.html#a31b40a0cee8762dd8e6508f48db47926">SocketAppender</a> (const <a class="el" href="namespacelog4cxx.html#ad7ec98d27bca7666e23f27dd1fb181c8">LogString</a> &amp;host, int port)</td></tr>
<tr class="memdesc:a31b40a0cee8762dd8e6508f48db47926"><td class="mdescLeft">&#160;</td><td class="mdescRight">Connects to remote server at <code>host</code> and <code>port</code>. <a href="#a31b40a0cee8762dd8e6508f48db47926">More...</a><br /></td></tr>
<tr class="separator:a31b40a0cee8762dd8e6508f48db47926"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classlog4cxx_1_1net_1_1_socket_appender_skeleton"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classlog4cxx_1_1net_1_1_socket_appender_skeleton')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classlog4cxx_1_1net_1_1_socket_appender_skeleton.html">SocketAppenderSkeleton</a></td></tr>
<tr class="memitem:ad794dd86f2b832563218afdfa5619305 inherit pub_methods_classlog4cxx_1_1net_1_1_socket_appender_skeleton"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1net_1_1_socket_appender_skeleton.html#ad794dd86f2b832563218afdfa5619305">SocketAppenderSkeleton</a> (int defaultPort, int reconnectionDelay)</td></tr>
<tr class="separator:ad794dd86f2b832563218afdfa5619305 inherit pub_methods_classlog4cxx_1_1net_1_1_socket_appender_skeleton"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8d5c6a42dca9cd7d0aa7c874a8eca313 inherit pub_methods_classlog4cxx_1_1net_1_1_socket_appender_skeleton"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1net_1_1_socket_appender_skeleton.html#a8d5c6a42dca9cd7d0aa7c874a8eca313">~SocketAppenderSkeleton</a> ()</td></tr>
<tr class="separator:a8d5c6a42dca9cd7d0aa7c874a8eca313 inherit pub_methods_classlog4cxx_1_1net_1_1_socket_appender_skeleton"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6fb490130b77315b1db0deb26a0cd2e4 inherit pub_methods_classlog4cxx_1_1net_1_1_socket_appender_skeleton"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1net_1_1_socket_appender_skeleton.html#a6fb490130b77315b1db0deb26a0cd2e4">SocketAppenderSkeleton</a> (helpers::InetAddressPtr address, int port, int reconnectionDelay)</td></tr>
<tr class="memdesc:a6fb490130b77315b1db0deb26a0cd2e4 inherit pub_methods_classlog4cxx_1_1net_1_1_socket_appender_skeleton"><td class="mdescLeft">&#160;</td><td class="mdescRight">Connects to remote server at <code>address</code> and <code>port</code>. <a href="#a6fb490130b77315b1db0deb26a0cd2e4">More...</a><br /></td></tr>
<tr class="separator:a6fb490130b77315b1db0deb26a0cd2e4 inherit pub_methods_classlog4cxx_1_1net_1_1_socket_appender_skeleton"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6c14ee8803077697e193b86e3db6d832 inherit pub_methods_classlog4cxx_1_1net_1_1_socket_appender_skeleton"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1net_1_1_socket_appender_skeleton.html#a6c14ee8803077697e193b86e3db6d832">SocketAppenderSkeleton</a> (const <a class="el" href="namespacelog4cxx.html#ad7ec98d27bca7666e23f27dd1fb181c8">LogString</a> &amp;host, int port, int reconnectionDelay)</td></tr>
<tr class="memdesc:a6c14ee8803077697e193b86e3db6d832 inherit pub_methods_classlog4cxx_1_1net_1_1_socket_appender_skeleton"><td class="mdescLeft">&#160;</td><td class="mdescRight">Connects to remote server at <code>host</code> and <code>port</code>. <a href="#a6c14ee8803077697e193b86e3db6d832">More...</a><br /></td></tr>
<tr class="separator:a6c14ee8803077697e193b86e3db6d832 inherit pub_methods_classlog4cxx_1_1net_1_1_socket_appender_skeleton"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa3df68f8aae152299471992071e202f5 inherit pub_methods_classlog4cxx_1_1net_1_1_socket_appender_skeleton"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1net_1_1_socket_appender_skeleton.html#aa3df68f8aae152299471992071e202f5">activateOptions</a> (<a class="el" href="classlog4cxx_1_1helpers_1_1_pool.html">log4cxx::helpers::Pool</a> &amp;p)</td></tr>
<tr class="memdesc:aa3df68f8aae152299471992071e202f5 inherit pub_methods_classlog4cxx_1_1net_1_1_socket_appender_skeleton"><td class="mdescLeft">&#160;</td><td class="mdescRight">Connect to the specified <b>RemoteHost</b> and <b>Port</b>. <a href="#aa3df68f8aae152299471992071e202f5">More...</a><br /></td></tr>
<tr class="separator:aa3df68f8aae152299471992071e202f5 inherit pub_methods_classlog4cxx_1_1net_1_1_socket_appender_skeleton"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5ae591df94fc66ccb85cbb6565368bca inherit pub_methods_classlog4cxx_1_1net_1_1_socket_appender_skeleton"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1net_1_1_socket_appender_skeleton.html#a5ae591df94fc66ccb85cbb6565368bca">close</a> ()</td></tr>
<tr class="memdesc:a5ae591df94fc66ccb85cbb6565368bca inherit pub_methods_classlog4cxx_1_1net_1_1_socket_appender_skeleton"><td class="mdescLeft">&#160;</td><td class="mdescRight">Release any resources allocated within the appender such as file handles, network connections, etc. <a href="#a5ae591df94fc66ccb85cbb6565368bca">More...</a><br /></td></tr>
<tr class="separator:a5ae591df94fc66ccb85cbb6565368bca inherit pub_methods_classlog4cxx_1_1net_1_1_socket_appender_skeleton"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa401613183830542f9c6b1c425198cdc inherit pub_methods_classlog4cxx_1_1net_1_1_socket_appender_skeleton"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1net_1_1_socket_appender_skeleton.html#aa401613183830542f9c6b1c425198cdc">requiresLayout</a> () const </td></tr>
<tr class="memdesc:aa401613183830542f9c6b1c425198cdc inherit pub_methods_classlog4cxx_1_1net_1_1_socket_appender_skeleton"><td class="mdescLeft">&#160;</td><td class="mdescRight">This appender does not use a layout. <a href="#aa401613183830542f9c6b1c425198cdc">More...</a><br /></td></tr>
<tr class="separator:aa401613183830542f9c6b1c425198cdc inherit pub_methods_classlog4cxx_1_1net_1_1_socket_appender_skeleton"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a68474d523985eb186d8321d367a756f8 inherit pub_methods_classlog4cxx_1_1net_1_1_socket_appender_skeleton"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1net_1_1_socket_appender_skeleton.html#a68474d523985eb186d8321d367a756f8">setRemoteHost</a> (const <a class="el" href="namespacelog4cxx.html#ad7ec98d27bca7666e23f27dd1fb181c8">LogString</a> &amp;host)</td></tr>
<tr class="memdesc:a68474d523985eb186d8321d367a756f8 inherit pub_methods_classlog4cxx_1_1net_1_1_socket_appender_skeleton"><td class="mdescLeft">&#160;</td><td class="mdescRight">The <b>RemoteHost</b> option takes a string value which should be the host name of the server where a Apache Chainsaw or compatible is running. <a href="#a68474d523985eb186d8321d367a756f8">More...</a><br /></td></tr>
<tr class="separator:a68474d523985eb186d8321d367a756f8 inherit pub_methods_classlog4cxx_1_1net_1_1_socket_appender_skeleton"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6756bfa353dacfbb1f5f2e73133bb88a inherit pub_methods_classlog4cxx_1_1net_1_1_socket_appender_skeleton"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="namespacelog4cxx.html#ad7ec98d27bca7666e23f27dd1fb181c8">LogString</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1net_1_1_socket_appender_skeleton.html#a6756bfa353dacfbb1f5f2e73133bb88a">getRemoteHost</a> () const </td></tr>
<tr class="memdesc:a6756bfa353dacfbb1f5f2e73133bb88a inherit pub_methods_classlog4cxx_1_1net_1_1_socket_appender_skeleton"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns value of the <b>RemoteHost</b> option. <a href="#a6756bfa353dacfbb1f5f2e73133bb88a">More...</a><br /></td></tr>
<tr class="separator:a6756bfa353dacfbb1f5f2e73133bb88a inherit pub_methods_classlog4cxx_1_1net_1_1_socket_appender_skeleton"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aea5168a8793a0d18d65a94d84904a2fb inherit pub_methods_classlog4cxx_1_1net_1_1_socket_appender_skeleton"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1net_1_1_socket_appender_skeleton.html#aea5168a8793a0d18d65a94d84904a2fb">setPort</a> (int port1)</td></tr>
<tr class="memdesc:aea5168a8793a0d18d65a94d84904a2fb inherit pub_methods_classlog4cxx_1_1net_1_1_socket_appender_skeleton"><td class="mdescLeft">&#160;</td><td class="mdescRight">The <b>Port</b> option takes a positive integer representing the port where the server is waiting for connections. <a href="#aea5168a8793a0d18d65a94d84904a2fb">More...</a><br /></td></tr>
<tr class="separator:aea5168a8793a0d18d65a94d84904a2fb inherit pub_methods_classlog4cxx_1_1net_1_1_socket_appender_skeleton"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5e4fc3488ccbe0511b7e7a1b3ca873cf inherit pub_methods_classlog4cxx_1_1net_1_1_socket_appender_skeleton"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1net_1_1_socket_appender_skeleton.html#a5e4fc3488ccbe0511b7e7a1b3ca873cf">getPort</a> () const </td></tr>
<tr class="memdesc:a5e4fc3488ccbe0511b7e7a1b3ca873cf inherit pub_methods_classlog4cxx_1_1net_1_1_socket_appender_skeleton"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns value of the <b>Port</b> option. <a href="#a5e4fc3488ccbe0511b7e7a1b3ca873cf">More...</a><br /></td></tr>
<tr class="separator:a5e4fc3488ccbe0511b7e7a1b3ca873cf inherit pub_methods_classlog4cxx_1_1net_1_1_socket_appender_skeleton"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a41d896ff776e8e9094929230bfc5f648 inherit pub_methods_classlog4cxx_1_1net_1_1_socket_appender_skeleton"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1net_1_1_socket_appender_skeleton.html#a41d896ff776e8e9094929230bfc5f648">setLocationInfo</a> (bool locationInfo1)</td></tr>
<tr class="memdesc:a41d896ff776e8e9094929230bfc5f648 inherit pub_methods_classlog4cxx_1_1net_1_1_socket_appender_skeleton"><td class="mdescLeft">&#160;</td><td class="mdescRight">The <b>LocationInfo</b> option takes a boolean value. <a href="#a41d896ff776e8e9094929230bfc5f648">More...</a><br /></td></tr>
<tr class="separator:a41d896ff776e8e9094929230bfc5f648 inherit pub_methods_classlog4cxx_1_1net_1_1_socket_appender_skeleton"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad70ffd01a630335c8e0465b04f360db4 inherit pub_methods_classlog4cxx_1_1net_1_1_socket_appender_skeleton"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1net_1_1_socket_appender_skeleton.html#ad70ffd01a630335c8e0465b04f360db4">getLocationInfo</a> () const </td></tr>
<tr class="memdesc:ad70ffd01a630335c8e0465b04f360db4 inherit pub_methods_classlog4cxx_1_1net_1_1_socket_appender_skeleton"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns value of the <b>LocationInfo</b> option. <a href="#ad70ffd01a630335c8e0465b04f360db4">More...</a><br /></td></tr>
<tr class="separator:ad70ffd01a630335c8e0465b04f360db4 inherit pub_methods_classlog4cxx_1_1net_1_1_socket_appender_skeleton"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af273baedf9ef144a67157269910fe18e inherit pub_methods_classlog4cxx_1_1net_1_1_socket_appender_skeleton"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1net_1_1_socket_appender_skeleton.html#af273baedf9ef144a67157269910fe18e">setReconnectionDelay</a> (int reconnectionDelay1)</td></tr>
<tr class="memdesc:af273baedf9ef144a67157269910fe18e inherit pub_methods_classlog4cxx_1_1net_1_1_socket_appender_skeleton"><td class="mdescLeft">&#160;</td><td class="mdescRight">The <b>ReconnectionDelay</b> option takes a positive integer representing the number of milliseconds to wait between each failed connection attempt to the server. <a href="#af273baedf9ef144a67157269910fe18e">More...</a><br /></td></tr>
<tr class="separator:af273baedf9ef144a67157269910fe18e inherit pub_methods_classlog4cxx_1_1net_1_1_socket_appender_skeleton"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab788d47ccee62c3c2c4042ac41f403d4 inherit pub_methods_classlog4cxx_1_1net_1_1_socket_appender_skeleton"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1net_1_1_socket_appender_skeleton.html#ab788d47ccee62c3c2c4042ac41f403d4">getReconnectionDelay</a> () const </td></tr>
<tr class="memdesc:ab788d47ccee62c3c2c4042ac41f403d4 inherit pub_methods_classlog4cxx_1_1net_1_1_socket_appender_skeleton"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns value of the <b>ReconnectionDelay</b> option. <a href="#ab788d47ccee62c3c2c4042ac41f403d4">More...</a><br /></td></tr>
<tr class="separator:ab788d47ccee62c3c2c4042ac41f403d4 inherit pub_methods_classlog4cxx_1_1net_1_1_socket_appender_skeleton"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:add65d37917950e9c1aab0264f86f60b2 inherit pub_methods_classlog4cxx_1_1net_1_1_socket_appender_skeleton"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1net_1_1_socket_appender_skeleton.html#add65d37917950e9c1aab0264f86f60b2">fireConnector</a> ()</td></tr>
<tr class="separator:add65d37917950e9c1aab0264f86f60b2 inherit pub_methods_classlog4cxx_1_1net_1_1_socket_appender_skeleton"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac1d269357907e0809687a2bec962e1c8 inherit pub_methods_classlog4cxx_1_1net_1_1_socket_appender_skeleton"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1net_1_1_socket_appender_skeleton.html#ac1d269357907e0809687a2bec962e1c8">setOption</a> (const <a class="el" href="namespacelog4cxx.html#ad7ec98d27bca7666e23f27dd1fb181c8">LogString</a> &amp;option, const <a class="el" href="namespacelog4cxx.html#ad7ec98d27bca7666e23f27dd1fb181c8">LogString</a> &amp;value)</td></tr>
<tr class="memdesc:ac1d269357907e0809687a2bec962e1c8 inherit pub_methods_classlog4cxx_1_1net_1_1_socket_appender_skeleton"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set <code>option</code> to <code>value</code>. <a href="#ac1d269357907e0809687a2bec962e1c8">More...</a><br /></td></tr>
<tr class="separator:ac1d269357907e0809687a2bec962e1c8 inherit pub_methods_classlog4cxx_1_1net_1_1_socket_appender_skeleton"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classlog4cxx_1_1_appender_skeleton"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classlog4cxx_1_1_appender_skeleton')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classlog4cxx_1_1_appender_skeleton.html">AppenderSkeleton</a></td></tr>
<tr class="memitem:a634ba3ed7cb419659613107766cd826a inherit pub_methods_classlog4cxx_1_1_appender_skeleton"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1_appender_skeleton.html#a634ba3ed7cb419659613107766cd826a">AppenderSkeleton</a> ()</td></tr>
<tr class="separator:a634ba3ed7cb419659613107766cd826a inherit pub_methods_classlog4cxx_1_1_appender_skeleton"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a600b7815b22ec8cec8a9709cb78a42aa inherit pub_methods_classlog4cxx_1_1_appender_skeleton"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1_appender_skeleton.html#a600b7815b22ec8cec8a9709cb78a42aa">AppenderSkeleton</a> (const <a class="el" href="namespacelog4cxx.html#abacb7573630fc4e562c99e4571a90f1e">LayoutPtr</a> &amp;<a class="el" href="classlog4cxx_1_1_appender_skeleton.html#af1f4e6a2229d95a18324c4e7fa71be65">layout</a>)</td></tr>
<tr class="separator:a600b7815b22ec8cec8a9709cb78a42aa inherit pub_methods_classlog4cxx_1_1_appender_skeleton"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0198815940c2715c84b0e04828cf8dfa inherit pub_methods_classlog4cxx_1_1_appender_skeleton"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1_appender_skeleton.html#a0198815940c2715c84b0e04828cf8dfa">addRef</a> () const </td></tr>
<tr class="separator:a0198815940c2715c84b0e04828cf8dfa inherit pub_methods_classlog4cxx_1_1_appender_skeleton"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a55c31efee1904916b999395fa4d46a24 inherit pub_methods_classlog4cxx_1_1_appender_skeleton"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1_appender_skeleton.html#a55c31efee1904916b999395fa4d46a24">releaseRef</a> () const </td></tr>
<tr class="separator:a55c31efee1904916b999395fa4d46a24 inherit pub_methods_classlog4cxx_1_1_appender_skeleton"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a32d626626eee0bc4ade146973f6abb1c inherit pub_methods_classlog4cxx_1_1_appender_skeleton"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1_appender_skeleton.html#a32d626626eee0bc4ade146973f6abb1c">finalize</a> ()</td></tr>
<tr class="memdesc:a32d626626eee0bc4ade146973f6abb1c inherit pub_methods_classlog4cxx_1_1_appender_skeleton"><td class="mdescLeft">&#160;</td><td class="mdescRight">Finalize this appender by calling the derived class' <code>close</code> method. <a href="#a32d626626eee0bc4ade146973f6abb1c">More...</a><br /></td></tr>
<tr class="separator:a32d626626eee0bc4ade146973f6abb1c inherit pub_methods_classlog4cxx_1_1_appender_skeleton"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8a4525ba6d2efe017934bbd867186ec3 inherit pub_methods_classlog4cxx_1_1_appender_skeleton"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1_appender_skeleton.html#a8a4525ba6d2efe017934bbd867186ec3">addFilter</a> (const <a class="el" href="namespacelog4cxx_1_1spi.html#a2d59aaf291a3cb28e165f0912242da25">spi::FilterPtr</a> &amp;newFilter)</td></tr>
<tr class="memdesc:a8a4525ba6d2efe017934bbd867186ec3 inherit pub_methods_classlog4cxx_1_1_appender_skeleton"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a filter to end of the filter list. <a href="#a8a4525ba6d2efe017934bbd867186ec3">More...</a><br /></td></tr>
<tr class="separator:a8a4525ba6d2efe017934bbd867186ec3 inherit pub_methods_classlog4cxx_1_1_appender_skeleton"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af13013b8fd73be124730ec9f299c234d inherit pub_methods_classlog4cxx_1_1_appender_skeleton"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1_appender_skeleton.html#af13013b8fd73be124730ec9f299c234d">clearFilters</a> ()</td></tr>
<tr class="memdesc:af13013b8fd73be124730ec9f299c234d inherit pub_methods_classlog4cxx_1_1_appender_skeleton"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clear the filters chain. <a href="#af13013b8fd73be124730ec9f299c234d">More...</a><br /></td></tr>
<tr class="separator:af13013b8fd73be124730ec9f299c234d inherit pub_methods_classlog4cxx_1_1_appender_skeleton"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a68195e289d2c9cb19bd5751e59d6d892 inherit pub_methods_classlog4cxx_1_1_appender_skeleton"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="namespacelog4cxx_1_1spi.html#a108bc59ff8ac9e8ef6ad79e9567f4293">spi::ErrorHandlerPtr</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1_appender_skeleton.html#a68195e289d2c9cb19bd5751e59d6d892">getErrorHandler</a> () const </td></tr>
<tr class="memdesc:a68195e289d2c9cb19bd5751e59d6d892 inherit pub_methods_classlog4cxx_1_1_appender_skeleton"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the currently set <a class="el" href="classlog4cxx_1_1spi_1_1_error_handler.html" title="Appenders may delegate their error handling to ErrorHandlers. ">spi::ErrorHandler</a> for this <a class="el" href="classlog4cxx_1_1_appender.html" title="Implement this interface for your own strategies for outputting log statements. ">Appender</a>. <a href="#a68195e289d2c9cb19bd5751e59d6d892">More...</a><br /></td></tr>
<tr class="separator:a68195e289d2c9cb19bd5751e59d6d892 inherit pub_methods_classlog4cxx_1_1_appender_skeleton"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a459cdb3654725c5dbc68ac4e4a8b980e inherit pub_methods_classlog4cxx_1_1_appender_skeleton"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacelog4cxx_1_1spi.html#a2d59aaf291a3cb28e165f0912242da25">spi::FilterPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1_appender_skeleton.html#a459cdb3654725c5dbc68ac4e4a8b980e">getFilter</a> () const </td></tr>
<tr class="memdesc:a459cdb3654725c5dbc68ac4e4a8b980e inherit pub_methods_classlog4cxx_1_1_appender_skeleton"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the head Filter. <a href="#a459cdb3654725c5dbc68ac4e4a8b980e">More...</a><br /></td></tr>
<tr class="separator:a459cdb3654725c5dbc68ac4e4a8b980e inherit pub_methods_classlog4cxx_1_1_appender_skeleton"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a65d9c0a259578f6bb448f722bf9b13b9 inherit pub_methods_classlog4cxx_1_1_appender_skeleton"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="namespacelog4cxx_1_1spi.html#a2d59aaf291a3cb28e165f0912242da25">spi::FilterPtr</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1_appender_skeleton.html#a65d9c0a259578f6bb448f722bf9b13b9">getFirstFilter</a> () const </td></tr>
<tr class="memdesc:a65d9c0a259578f6bb448f722bf9b13b9 inherit pub_methods_classlog4cxx_1_1_appender_skeleton"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the first filter in the filter chain for this <a class="el" href="classlog4cxx_1_1_appender.html" title="Implement this interface for your own strategies for outputting log statements. ">Appender</a>. <a href="#a65d9c0a259578f6bb448f722bf9b13b9">More...</a><br /></td></tr>
<tr class="separator:a65d9c0a259578f6bb448f722bf9b13b9 inherit pub_methods_classlog4cxx_1_1_appender_skeleton"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af54e877f133079a04e7c210c0d3ad5dc inherit pub_methods_classlog4cxx_1_1_appender_skeleton"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacelog4cxx.html#abacb7573630fc4e562c99e4571a90f1e">LayoutPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1_appender_skeleton.html#af54e877f133079a04e7c210c0d3ad5dc">getLayout</a> () const </td></tr>
<tr class="memdesc:af54e877f133079a04e7c210c0d3ad5dc inherit pub_methods_classlog4cxx_1_1_appender_skeleton"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the layout of this appender. <a href="#af54e877f133079a04e7c210c0d3ad5dc">More...</a><br /></td></tr>
<tr class="separator:af54e877f133079a04e7c210c0d3ad5dc inherit pub_methods_classlog4cxx_1_1_appender_skeleton"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac22a8d65fdc07f5b0e52c935b0ee055f inherit pub_methods_classlog4cxx_1_1_appender_skeleton"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacelog4cxx.html#ad7ec98d27bca7666e23f27dd1fb181c8">LogString</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1_appender_skeleton.html#ac22a8d65fdc07f5b0e52c935b0ee055f">getName</a> () const </td></tr>
<tr class="memdesc:ac22a8d65fdc07f5b0e52c935b0ee055f inherit pub_methods_classlog4cxx_1_1_appender_skeleton"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the name of this <a class="el" href="classlog4cxx_1_1_appender.html" title="Implement this interface for your own strategies for outputting log statements. ">Appender</a>. <a href="#ac22a8d65fdc07f5b0e52c935b0ee055f">More...</a><br /></td></tr>
<tr class="separator:ac22a8d65fdc07f5b0e52c935b0ee055f inherit pub_methods_classlog4cxx_1_1_appender_skeleton"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a784a1140df55e25c4162f382b9ad47be inherit pub_methods_classlog4cxx_1_1_appender_skeleton"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="namespacelog4cxx.html#ae5a3f62e1b8b965953cbddfda82c53b5">LevelPtr</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1_appender_skeleton.html#a784a1140df55e25c4162f382b9ad47be">getThreshold</a> ()</td></tr>
<tr class="memdesc:a784a1140df55e25c4162f382b9ad47be inherit pub_methods_classlog4cxx_1_1_appender_skeleton"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns this appenders threshold level. <a href="#a784a1140df55e25c4162f382b9ad47be">More...</a><br /></td></tr>
<tr class="separator:a784a1140df55e25c4162f382b9ad47be inherit pub_methods_classlog4cxx_1_1_appender_skeleton"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a40984cbecea40b828eba6271a14c2b4a inherit pub_methods_classlog4cxx_1_1_appender_skeleton"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1_appender_skeleton.html#a40984cbecea40b828eba6271a14c2b4a">isAsSevereAsThreshold</a> (const <a class="el" href="namespacelog4cxx.html#ae5a3f62e1b8b965953cbddfda82c53b5">LevelPtr</a> &amp;level) const </td></tr>
<tr class="memdesc:a40984cbecea40b828eba6271a14c2b4a inherit pub_methods_classlog4cxx_1_1_appender_skeleton"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check whether the message level is below the appender's threshold. <a href="#a40984cbecea40b828eba6271a14c2b4a">More...</a><br /></td></tr>
<tr class="separator:a40984cbecea40b828eba6271a14c2b4a inherit pub_methods_classlog4cxx_1_1_appender_skeleton"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2df87e9db87ebe5396ea94fb9c25c488 inherit pub_methods_classlog4cxx_1_1_appender_skeleton"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1_appender_skeleton.html#a2df87e9db87ebe5396ea94fb9c25c488">doAppend</a> (const <a class="el" href="namespacelog4cxx_1_1spi.html#ab5abd68f0fb303c6d5f5f7d1ff49b3a6">spi::LoggingEventPtr</a> &amp;event, <a class="el" href="classlog4cxx_1_1helpers_1_1_pool.html">log4cxx::helpers::Pool</a> &amp;<a class="el" href="classlog4cxx_1_1_appender_skeleton.html#a6c72571775abf91a74fade4e2c2b9af8">pool</a>)</td></tr>
<tr class="memdesc:a2df87e9db87ebe5396ea94fb9c25c488 inherit pub_methods_classlog4cxx_1_1_appender_skeleton"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method performs threshold checks and invokes filters before delegating actual logging to the subclasses specific <a class="el" href="classlog4cxx_1_1_appender_skeleton.html#a4c08a91d859f636117f07463bb53fe41" title="Subclasses of AppenderSkeleton should implement this method to perform actual logging. ">AppenderSkeleton::append</a> method. <a href="#a2df87e9db87ebe5396ea94fb9c25c488">More...</a><br /></td></tr>
<tr class="separator:a2df87e9db87ebe5396ea94fb9c25c488 inherit pub_methods_classlog4cxx_1_1_appender_skeleton"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa040b30f61aa49ee862dba7d32e3c537 inherit pub_methods_classlog4cxx_1_1_appender_skeleton"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1_appender_skeleton.html#aa040b30f61aa49ee862dba7d32e3c537">setErrorHandler</a> (const <a class="el" href="namespacelog4cxx_1_1spi.html#a108bc59ff8ac9e8ef6ad79e9567f4293">spi::ErrorHandlerPtr</a> &amp;eh)</td></tr>
<tr class="memdesc:aa040b30f61aa49ee862dba7d32e3c537 inherit pub_methods_classlog4cxx_1_1_appender_skeleton"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the <a class="el" href="classlog4cxx_1_1spi_1_1_error_handler.html">ErrorHandler</a> for this <a class="el" href="classlog4cxx_1_1_appender.html" title="Implement this interface for your own strategies for outputting log statements. ">Appender</a>. <a href="#aa040b30f61aa49ee862dba7d32e3c537">More...</a><br /></td></tr>
<tr class="separator:aa040b30f61aa49ee862dba7d32e3c537 inherit pub_methods_classlog4cxx_1_1_appender_skeleton"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a115922e0a4ce63e2145c8861aac07c7f inherit pub_methods_classlog4cxx_1_1_appender_skeleton"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1_appender_skeleton.html#a115922e0a4ce63e2145c8861aac07c7f">setLayout</a> (const <a class="el" href="namespacelog4cxx.html#abacb7573630fc4e562c99e4571a90f1e">LayoutPtr</a> &amp;layout1)</td></tr>
<tr class="memdesc:a115922e0a4ce63e2145c8861aac07c7f inherit pub_methods_classlog4cxx_1_1_appender_skeleton"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the layout for this appender. <a href="#a115922e0a4ce63e2145c8861aac07c7f">More...</a><br /></td></tr>
<tr class="separator:a115922e0a4ce63e2145c8861aac07c7f inherit pub_methods_classlog4cxx_1_1_appender_skeleton"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a87e335b8d195a30dbdfe18d5da24b047 inherit pub_methods_classlog4cxx_1_1_appender_skeleton"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1_appender_skeleton.html#a87e335b8d195a30dbdfe18d5da24b047">setName</a> (const <a class="el" href="namespacelog4cxx.html#ad7ec98d27bca7666e23f27dd1fb181c8">LogString</a> &amp;name1)</td></tr>
<tr class="memdesc:a87e335b8d195a30dbdfe18d5da24b047 inherit pub_methods_classlog4cxx_1_1_appender_skeleton"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the name of this <a class="el" href="classlog4cxx_1_1_appender.html" title="Implement this interface for your own strategies for outputting log statements. ">Appender</a>. <a href="#a87e335b8d195a30dbdfe18d5da24b047">More...</a><br /></td></tr>
<tr class="separator:a87e335b8d195a30dbdfe18d5da24b047 inherit pub_methods_classlog4cxx_1_1_appender_skeleton"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a09e9d86bbb2b7b2f94b3f7e74d3557a4 inherit pub_methods_classlog4cxx_1_1_appender_skeleton"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1_appender_skeleton.html#a09e9d86bbb2b7b2f94b3f7e74d3557a4">setThreshold</a> (const <a class="el" href="namespacelog4cxx.html#ae5a3f62e1b8b965953cbddfda82c53b5">LevelPtr</a> &amp;<a class="el" href="classlog4cxx_1_1_appender_skeleton.html#a084d52617254f80c575bc96187ff4474">threshold</a>)</td></tr>
<tr class="memdesc:a09e9d86bbb2b7b2f94b3f7e74d3557a4 inherit pub_methods_classlog4cxx_1_1_appender_skeleton"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the threshold level. <a href="#a09e9d86bbb2b7b2f94b3f7e74d3557a4">More...</a><br /></td></tr>
<tr class="separator:a09e9d86bbb2b7b2f94b3f7e74d3557a4 inherit pub_methods_classlog4cxx_1_1_appender_skeleton"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classlog4cxx_1_1_appender"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classlog4cxx_1_1_appender')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classlog4cxx_1_1_appender.html">Appender</a></td></tr>
<tr class="memitem:a15a14100e46e406766b1c92c670948e1 inherit pub_methods_classlog4cxx_1_1_appender"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1_appender.html#a15a14100e46e406766b1c92c670948e1">~Appender</a> ()</td></tr>
<tr class="separator:a15a14100e46e406766b1c92c670948e1 inherit pub_methods_classlog4cxx_1_1_appender"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classlog4cxx_1_1spi_1_1_option_handler"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classlog4cxx_1_1spi_1_1_option_handler')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classlog4cxx_1_1spi_1_1_option_handler.html">OptionHandler</a></td></tr>
<tr class="memitem:ad773ac49843844af53fe553912ed63e5 inherit pub_methods_classlog4cxx_1_1spi_1_1_option_handler"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1spi_1_1_option_handler.html#ad773ac49843844af53fe553912ed63e5">~OptionHandler</a> ()</td></tr>
<tr class="separator:ad773ac49843844af53fe553912ed63e5 inherit pub_methods_classlog4cxx_1_1spi_1_1_option_handler"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classlog4cxx_1_1helpers_1_1_object"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classlog4cxx_1_1helpers_1_1_object')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classlog4cxx_1_1helpers_1_1_object.html">Object</a></td></tr>
<tr class="memitem:ae7b62e37794f297c0cede40ed0e84fcd inherit pub_methods_classlog4cxx_1_1helpers_1_1_object"><td class="memItemLeft" align="right" valign="top">virtual const <a class="el" href="classlog4cxx_1_1helpers_1_1_class.html">helpers::Class</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1helpers_1_1_object.html#ae7b62e37794f297c0cede40ed0e84fcd">getClass</a> () const </td></tr>
<tr class="separator:ae7b62e37794f297c0cede40ed0e84fcd inherit pub_methods_classlog4cxx_1_1helpers_1_1_object"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab5cc4f9ba1ea5c2f25bc4b1f0dac5dc5 inherit pub_methods_classlog4cxx_1_1helpers_1_1_object"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1helpers_1_1_object.html#ab5cc4f9ba1ea5c2f25bc4b1f0dac5dc5">~Object</a> ()</td></tr>
<tr class="separator:ab5cc4f9ba1ea5c2f25bc4b1f0dac5dc5 inherit pub_methods_classlog4cxx_1_1helpers_1_1_object"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0ab1bb19059c1de23f8a35cdbc0b6a5c inherit pub_methods_classlog4cxx_1_1helpers_1_1_object"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1helpers_1_1_object.html#a0ab1bb19059c1de23f8a35cdbc0b6a5c">instanceof</a> (const <a class="el" href="classlog4cxx_1_1helpers_1_1_class.html">Class</a> &amp;clazz) const =0</td></tr>
<tr class="separator:a0ab1bb19059c1de23f8a35cdbc0b6a5c inherit pub_methods_classlog4cxx_1_1helpers_1_1_object"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a04b3422e17b0a882538bbc99833ab9df inherit pub_methods_classlog4cxx_1_1helpers_1_1_object"><td class="memItemLeft" align="right" valign="top">virtual const void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1helpers_1_1_object.html#a04b3422e17b0a882538bbc99833ab9df">cast</a> (const <a class="el" href="classlog4cxx_1_1helpers_1_1_class.html">Class</a> &amp;clazz) const =0</td></tr>
<tr class="separator:a04b3422e17b0a882538bbc99833ab9df inherit pub_methods_classlog4cxx_1_1helpers_1_1_object"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classlog4cxx_1_1helpers_1_1_object_impl"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classlog4cxx_1_1helpers_1_1_object_impl')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classlog4cxx_1_1helpers_1_1_object_impl.html">ObjectImpl</a></td></tr>
<tr class="memitem:a5e6e9fc30dc1f098fee72d516ea0bad0 inherit pub_methods_classlog4cxx_1_1helpers_1_1_object_impl"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1helpers_1_1_object_impl.html#a5e6e9fc30dc1f098fee72d516ea0bad0">ObjectImpl</a> ()</td></tr>
<tr class="separator:a5e6e9fc30dc1f098fee72d516ea0bad0 inherit pub_methods_classlog4cxx_1_1helpers_1_1_object_impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abb974728bb3cb991285140c1aa57eed7 inherit pub_methods_classlog4cxx_1_1helpers_1_1_object_impl"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1helpers_1_1_object_impl.html#abb974728bb3cb991285140c1aa57eed7">~ObjectImpl</a> ()</td></tr>
<tr class="separator:abb974728bb3cb991285140c1aa57eed7 inherit pub_methods_classlog4cxx_1_1helpers_1_1_object_impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0198815940c2715c84b0e04828cf8dfa inherit pub_methods_classlog4cxx_1_1helpers_1_1_object_impl"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1helpers_1_1_object_impl.html#a0198815940c2715c84b0e04828cf8dfa">addRef</a> () const </td></tr>
<tr class="separator:a0198815940c2715c84b0e04828cf8dfa inherit pub_methods_classlog4cxx_1_1helpers_1_1_object_impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a55c31efee1904916b999395fa4d46a24 inherit pub_methods_classlog4cxx_1_1helpers_1_1_object_impl"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1helpers_1_1_object_impl.html#a55c31efee1904916b999395fa4d46a24">releaseRef</a> () const </td></tr>
<tr class="separator:a55c31efee1904916b999395fa4d46a24 inherit pub_methods_classlog4cxx_1_1helpers_1_1_object_impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-attribs"></a>
Static Public Attributes</h2></td></tr>
<tr class="memitem:a99b0a86e5516b7e6714faaf444cfd2be"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1net_1_1_socket_appender.html#a99b0a86e5516b7e6714faaf444cfd2be">DEFAULT_PORT</a></td></tr>
<tr class="memdesc:a99b0a86e5516b7e6714faaf444cfd2be"><td class="mdescLeft">&#160;</td><td class="mdescRight">The default port number of remote logging server (4560). <a href="#a99b0a86e5516b7e6714faaf444cfd2be">More...</a><br /></td></tr>
<tr class="separator:a99b0a86e5516b7e6714faaf444cfd2be"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad40c219e214e2824f320cf7f532ce735"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1net_1_1_socket_appender.html#ad40c219e214e2824f320cf7f532ce735">DEFAULT_RECONNECTION_DELAY</a></td></tr>
<tr class="memdesc:ad40c219e214e2824f320cf7f532ce735"><td class="mdescLeft">&#160;</td><td class="mdescRight">The default reconnection delay (30000 milliseconds or 30 seconds). <a href="#ad40c219e214e2824f320cf7f532ce735">More...</a><br /></td></tr>
<tr class="separator:ad40c219e214e2824f320cf7f532ce735"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:a547de53d1d112be4473619d1d1f1989b"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1net_1_1_socket_appender.html#a547de53d1d112be4473619d1d1f1989b">setSocket</a> (log4cxx::helpers::SocketPtr &amp;socket, <a class="el" href="classlog4cxx_1_1helpers_1_1_pool.html">log4cxx::helpers::Pool</a> &amp;p)</td></tr>
<tr class="separator:a547de53d1d112be4473619d1d1f1989b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a341776e04cf186fa34ce9dc56421ce1c"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1net_1_1_socket_appender.html#a341776e04cf186fa34ce9dc56421ce1c">cleanUp</a> (<a class="el" href="classlog4cxx_1_1helpers_1_1_pool.html">log4cxx::helpers::Pool</a> &amp;p)</td></tr>
<tr class="separator:a341776e04cf186fa34ce9dc56421ce1c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7b76ff47dd182569171ec8bb6167a63d"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1net_1_1_socket_appender.html#a7b76ff47dd182569171ec8bb6167a63d">getDefaultDelay</a> () const </td></tr>
<tr class="separator:a7b76ff47dd182569171ec8bb6167a63d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af2f7856d78b85af569c2e23522311203"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1net_1_1_socket_appender.html#af2f7856d78b85af569c2e23522311203">getDefaultPort</a> () const </td></tr>
<tr class="separator:af2f7856d78b85af569c2e23522311203"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab862691b0ebb1d0ff98085b10b021781"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1net_1_1_socket_appender.html#ab862691b0ebb1d0ff98085b10b021781">append</a> (const <a class="el" href="namespacelog4cxx_1_1spi.html#ab5abd68f0fb303c6d5f5f7d1ff49b3a6">spi::LoggingEventPtr</a> &amp;event, <a class="el" href="classlog4cxx_1_1helpers_1_1_pool.html">log4cxx::helpers::Pool</a> &amp;<a class="el" href="classlog4cxx_1_1_appender_skeleton.html#a6c72571775abf91a74fade4e2c2b9af8">pool</a>)</td></tr>
<tr class="memdesc:ab862691b0ebb1d0ff98085b10b021781"><td class="mdescLeft">&#160;</td><td class="mdescRight">Subclasses of <code><a class="el" href="classlog4cxx_1_1_appender_skeleton.html" title="Implementation base class for all appenders. ">AppenderSkeleton</a></code> should implement this method to perform actual logging. <a href="#ab862691b0ebb1d0ff98085b10b021781">More...</a><br /></td></tr>
<tr class="separator:ab862691b0ebb1d0ff98085b10b021781"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
Additional Inherited Members</h2></td></tr>
<tr class="inherit_header pub_static_methods_classlog4cxx_1_1helpers_1_1_object"><td colspan="2" onclick="javascript:toggleInherit('pub_static_methods_classlog4cxx_1_1helpers_1_1_object')"><img src="closed.png" alt="-"/>&#160;Static Public Member Functions inherited from <a class="el" href="classlog4cxx_1_1helpers_1_1_object.html">Object</a></td></tr>
<tr class="memitem:a0bdbda4effe8938c1aca6d4397e5a39d inherit pub_static_methods_classlog4cxx_1_1helpers_1_1_object"><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="classlog4cxx_1_1helpers_1_1_class.html">helpers::Class</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1helpers_1_1_object.html#a0bdbda4effe8938c1aca6d4397e5a39d">getStaticClass</a> ()</td></tr>
<tr class="separator:a0bdbda4effe8938c1aca6d4397e5a39d inherit pub_static_methods_classlog4cxx_1_1helpers_1_1_object"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a50ec9288d0b7e3140dee8e24ee74a212 inherit pub_static_methods_classlog4cxx_1_1helpers_1_1_object"><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="classlog4cxx_1_1helpers_1_1_class_registration.html">log4cxx::helpers::ClassRegistration</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1helpers_1_1_object.html#a50ec9288d0b7e3140dee8e24ee74a212">registerClass</a> ()</td></tr>
<tr class="separator:a50ec9288d0b7e3140dee8e24ee74a212 inherit pub_static_methods_classlog4cxx_1_1helpers_1_1_object"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_attribs_classlog4cxx_1_1_appender_skeleton"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classlog4cxx_1_1_appender_skeleton')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="classlog4cxx_1_1_appender_skeleton.html">AppenderSkeleton</a></td></tr>
<tr class="memitem:af1f4e6a2229d95a18324c4e7fa71be65 inherit pro_attribs_classlog4cxx_1_1_appender_skeleton"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacelog4cxx.html#abacb7573630fc4e562c99e4571a90f1e">LayoutPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1_appender_skeleton.html#af1f4e6a2229d95a18324c4e7fa71be65">layout</a></td></tr>
<tr class="memdesc:af1f4e6a2229d95a18324c4e7fa71be65 inherit pro_attribs_classlog4cxx_1_1_appender_skeleton"><td class="mdescLeft">&#160;</td><td class="mdescRight">The layout variable does not need to be set if the appender implementation has its own layout. <a href="#af1f4e6a2229d95a18324c4e7fa71be65">More...</a><br /></td></tr>
<tr class="separator:af1f4e6a2229d95a18324c4e7fa71be65 inherit pro_attribs_classlog4cxx_1_1_appender_skeleton"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9de136310b76f5d0aa8b40848216b167 inherit pro_attribs_classlog4cxx_1_1_appender_skeleton"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacelog4cxx.html#ad7ec98d27bca7666e23f27dd1fb181c8">LogString</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1_appender_skeleton.html#a9de136310b76f5d0aa8b40848216b167">name</a></td></tr>
<tr class="memdesc:a9de136310b76f5d0aa8b40848216b167 inherit pro_attribs_classlog4cxx_1_1_appender_skeleton"><td class="mdescLeft">&#160;</td><td class="mdescRight">Appenders are named. <a href="#a9de136310b76f5d0aa8b40848216b167">More...</a><br /></td></tr>
<tr class="separator:a9de136310b76f5d0aa8b40848216b167 inherit pro_attribs_classlog4cxx_1_1_appender_skeleton"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a084d52617254f80c575bc96187ff4474 inherit pro_attribs_classlog4cxx_1_1_appender_skeleton"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacelog4cxx.html#ae5a3f62e1b8b965953cbddfda82c53b5">LevelPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1_appender_skeleton.html#a084d52617254f80c575bc96187ff4474">threshold</a></td></tr>
<tr class="memdesc:a084d52617254f80c575bc96187ff4474 inherit pro_attribs_classlog4cxx_1_1_appender_skeleton"><td class="mdescLeft">&#160;</td><td class="mdescRight">There is no level threshold filtering by default. <a href="#a084d52617254f80c575bc96187ff4474">More...</a><br /></td></tr>
<tr class="separator:a084d52617254f80c575bc96187ff4474 inherit pro_attribs_classlog4cxx_1_1_appender_skeleton"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae6afac50bae7fd8b7c2b7e7984918298 inherit pro_attribs_classlog4cxx_1_1_appender_skeleton"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacelog4cxx_1_1spi.html#a108bc59ff8ac9e8ef6ad79e9567f4293">spi::ErrorHandlerPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1_appender_skeleton.html#ae6afac50bae7fd8b7c2b7e7984918298">errorHandler</a></td></tr>
<tr class="memdesc:ae6afac50bae7fd8b7c2b7e7984918298 inherit pro_attribs_classlog4cxx_1_1_appender_skeleton"><td class="mdescLeft">&#160;</td><td class="mdescRight">It is assumed and enforced that errorHandler is never null. <a href="#ae6afac50bae7fd8b7c2b7e7984918298">More...</a><br /></td></tr>
<tr class="separator:ae6afac50bae7fd8b7c2b7e7984918298 inherit pro_attribs_classlog4cxx_1_1_appender_skeleton"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6d297ecc2f5fbfa373d9ad7a26ad51a7 inherit pro_attribs_classlog4cxx_1_1_appender_skeleton"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacelog4cxx_1_1spi.html#a2d59aaf291a3cb28e165f0912242da25">spi::FilterPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1_appender_skeleton.html#a6d297ecc2f5fbfa373d9ad7a26ad51a7">headFilter</a></td></tr>
<tr class="memdesc:a6d297ecc2f5fbfa373d9ad7a26ad51a7 inherit pro_attribs_classlog4cxx_1_1_appender_skeleton"><td class="mdescLeft">&#160;</td><td class="mdescRight">The first filter in the filter chain. <a href="#a6d297ecc2f5fbfa373d9ad7a26ad51a7">More...</a><br /></td></tr>
<tr class="separator:a6d297ecc2f5fbfa373d9ad7a26ad51a7 inherit pro_attribs_classlog4cxx_1_1_appender_skeleton"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0b816fdac60684ae1095e81d2bfdaa46 inherit pro_attribs_classlog4cxx_1_1_appender_skeleton"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacelog4cxx_1_1spi.html#a2d59aaf291a3cb28e165f0912242da25">spi::FilterPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1_appender_skeleton.html#a0b816fdac60684ae1095e81d2bfdaa46">tailFilter</a></td></tr>
<tr class="memdesc:a0b816fdac60684ae1095e81d2bfdaa46 inherit pro_attribs_classlog4cxx_1_1_appender_skeleton"><td class="mdescLeft">&#160;</td><td class="mdescRight">The last filter in the filter chain. <a href="#a0b816fdac60684ae1095e81d2bfdaa46">More...</a><br /></td></tr>
<tr class="separator:a0b816fdac60684ae1095e81d2bfdaa46 inherit pro_attribs_classlog4cxx_1_1_appender_skeleton"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a624c24d3973e790d23212b57f13e894b inherit pro_attribs_classlog4cxx_1_1_appender_skeleton"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1_appender_skeleton.html#a624c24d3973e790d23212b57f13e894b">closed</a></td></tr>
<tr class="memdesc:a624c24d3973e790d23212b57f13e894b inherit pro_attribs_classlog4cxx_1_1_appender_skeleton"><td class="mdescLeft">&#160;</td><td class="mdescRight">Is this appender closed? <a href="#a624c24d3973e790d23212b57f13e894b">More...</a><br /></td></tr>
<tr class="separator:a624c24d3973e790d23212b57f13e894b inherit pro_attribs_classlog4cxx_1_1_appender_skeleton"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6c72571775abf91a74fade4e2c2b9af8 inherit pro_attribs_classlog4cxx_1_1_appender_skeleton"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classlog4cxx_1_1helpers_1_1_pool.html">log4cxx::helpers::Pool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1_appender_skeleton.html#a6c72571775abf91a74fade4e2c2b9af8">pool</a></td></tr>
<tr class="separator:a6c72571775abf91a74fade4e2c2b9af8 inherit pro_attribs_classlog4cxx_1_1_appender_skeleton"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa48227a58e71081f489370bf534ed7ac inherit pro_attribs_classlog4cxx_1_1_appender_skeleton"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classlog4cxx_1_1helpers_1_1_mutex.html">log4cxx::helpers::Mutex</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1_appender_skeleton.html#aa48227a58e71081f489370bf534ed7ac">mutex</a></td></tr>
<tr class="separator:aa48227a58e71081f489370bf534ed7ac inherit pro_attribs_classlog4cxx_1_1_appender_skeleton"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_attribs_classlog4cxx_1_1helpers_1_1_object_impl"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classlog4cxx_1_1helpers_1_1_object_impl')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="classlog4cxx_1_1helpers_1_1_object_impl.html">ObjectImpl</a></td></tr>
<tr class="memitem:a88f2ae00c84f3f309965e6588ed158d4 inherit pro_attribs_classlog4cxx_1_1helpers_1_1_object_impl"><td class="memItemLeft" align="right" valign="top">unsigned int volatile&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1helpers_1_1_object_impl.html#a88f2ae00c84f3f309965e6588ed158d4">ref</a></td></tr>
<tr class="separator:a88f2ae00c84f3f309965e6588ed158d4 inherit pro_attribs_classlog4cxx_1_1helpers_1_1_object_impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Sends <a class="el" href="classlog4cxx_1_1spi_1_1_logging_event.html">LoggingEvent</a> objects to a remote a log server, usually Apache Chainsaw. </p>
<p>The <a class="el" href="classlog4cxx_1_1net_1_1_socket_appender.html" title="Sends LoggingEvent objects to a remote a log server, usually Apache Chainsaw. ">SocketAppender</a> has the following properties:</p>
<ul>
<li>If sent to Apache Chainsaw, 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 class="el" href="classlog4cxx_1_1_n_d_c.html">NDC</a>, location info as if it were logged locally by the client.</li>
<li>SocketAppenders do not use a layout. They ship a serialized <a class="el" href="classlog4cxx_1_1spi_1_1_logging_event.html">LoggingEvent</a> object to the server side.</li>
<li>Remote logging uses the TCP protocol. Consequently, if the server is reachable, then log events will eventually arrive at the server.</li>
<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.</li>
<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. <br />
<br />
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.</li>
<li>Even if a <code><a class="el" href="classlog4cxx_1_1net_1_1_socket_appender.html" title="Sends LoggingEvent objects to a remote a log server, usually Apache Chainsaw. ">SocketAppender</a></code> is no longer attached to any logger, it will not be destroyed in the presence of a connector thread. A connector thread exists only if the connection to the server is down. To avoid this destruction problem, you should <a class="el" href="classlog4cxx_1_1net_1_1_socket_appender_skeleton.html#a5ae591df94fc66ccb85cbb6565368bca" title="Release any resources allocated within the appender such as file handles, network connections...">close</a> the the <code><a class="el" href="classlog4cxx_1_1net_1_1_socket_appender.html" title="Sends LoggingEvent objects to a remote a log server, usually Apache Chainsaw. ">SocketAppender</a></code> explicitly. See also next item. <br />
<br />
Long lived applications which create/destroy many <code><a class="el" href="classlog4cxx_1_1net_1_1_socket_appender.html" title="Sends LoggingEvent objects to a remote a log server, usually Apache Chainsaw. ">SocketAppender</a></code> instances should be aware of this destruction problem. Most other applications can safely ignore it.</li>
<li>If the application hosting the <code><a class="el" href="classlog4cxx_1_1net_1_1_socket_appender.html" title="Sends LoggingEvent objects to a remote a log server, usually Apache Chainsaw. ">SocketAppender</a></code> exits before the <code><a class="el" href="classlog4cxx_1_1net_1_1_socket_appender.html" title="Sends LoggingEvent objects to a remote a log server, usually Apache Chainsaw. ">SocketAppender</a></code> is closed either explicitly or subsequent to destruction, then there might be untransmitted data in the pipe which might be lost. <br />
<br />
To avoid lost data, it is usually sufficient to <a class="el" href="classlog4cxx_1_1net_1_1_socket_appender_skeleton.html#a5ae591df94fc66ccb85cbb6565368bca" title="Release any resources allocated within the appender such as file handles, network connections...">close</a> the <code><a class="el" href="classlog4cxx_1_1net_1_1_socket_appender.html" title="Sends LoggingEvent objects to a remote a log server, usually Apache Chainsaw. ">SocketAppender</a></code> either explicitly or by calling the <a class="el" href="classlog4cxx_1_1_log_manager.html#a62d41be4b41bfdb31fb9d8b017c5363a" title="Safely close and remove all appenders in all loggers including the root logger. ">LogManager::shutdown</a> method before exiting the application. </li>
</ul>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="ac1ec5c6630aef196b08cfadf50bb8e96"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classlog4cxx_1_1net_1_1_socket_appender.html">SocketAppender</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ac26fd03e92578d2e5063b3880f9e2042"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">~<a class="el" href="classlog4cxx_1_1net_1_1_socket_appender.html">SocketAppender</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a5834c59ea27f900e3702a42e03712007"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classlog4cxx_1_1net_1_1_socket_appender.html">SocketAppender</a> </td>
<td>(</td>
<td class="paramtype">helpers::InetAddressPtr &amp;&#160;</td>
<td class="paramname"><em>address</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>port</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Connects to remote server at <code>address</code> and <code>port</code>. </p>
</div>
</div>
<a class="anchor" id="a31b40a0cee8762dd8e6508f48db47926"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classlog4cxx_1_1net_1_1_socket_appender.html">SocketAppender</a> </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="namespacelog4cxx.html#ad7ec98d27bca7666e23f27dd1fb181c8">LogString</a> &amp;&#160;</td>
<td class="paramname"><em>host</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>port</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Connects to remote server at <code>host</code> and <code>port</code>. </p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="ab862691b0ebb1d0ff98085b10b021781"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void append </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="namespacelog4cxx_1_1spi.html#ab5abd68f0fb303c6d5f5f7d1ff49b3a6">spi::LoggingEventPtr</a> &amp;&#160;</td>
<td class="paramname"><em>event</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classlog4cxx_1_1helpers_1_1_pool.html">log4cxx::helpers::Pool</a> &amp;&#160;</td>
<td class="paramname"><em>p</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Subclasses of <code><a class="el" href="classlog4cxx_1_1_appender_skeleton.html" title="Implementation base class for all appenders. ">AppenderSkeleton</a></code> should implement this method to perform actual logging. </p>
<p>See also <a class="el" href="classlog4cxx_1_1_appender_skeleton.html#a2df87e9db87ebe5396ea94fb9c25c488" title="This method performs threshold checks and invokes filters before delegating actual logging to the sub...">AppenderSkeleton::doAppend</a> method. </p>
<p>Implements <a class="el" href="classlog4cxx_1_1_appender_skeleton.html#a4c08a91d859f636117f07463bb53fe41">AppenderSkeleton</a>.</p>
</div>
</div>
<a class="anchor" id="a341776e04cf186fa34ce9dc56421ce1c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void cleanUp </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classlog4cxx_1_1helpers_1_1_pool.html">log4cxx::helpers::Pool</a> &amp;&#160;</td>
<td class="paramname"><em>p</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Implements <a class="el" href="classlog4cxx_1_1net_1_1_socket_appender_skeleton.html#a79a92843f641b5c13c0734a077bfb605">SocketAppenderSkeleton</a>.</p>
</div>
</div>
<a class="anchor" id="a7b76ff47dd182569171ec8bb6167a63d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual int getDefaultDelay </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Implements <a class="el" href="classlog4cxx_1_1net_1_1_socket_appender_skeleton.html#a62c080f531e2aae6a6d5449925685ace">SocketAppenderSkeleton</a>.</p>
</div>
</div>
<a class="anchor" id="af2f7856d78b85af569c2e23522311203"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual int getDefaultPort </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Implements <a class="el" href="classlog4cxx_1_1net_1_1_socket_appender_skeleton.html#a49bf100feb64a6d801a41f122a87e7ec">SocketAppenderSkeleton</a>.</p>
</div>
</div>
<a class="anchor" id="a547de53d1d112be4473619d1d1f1989b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void setSocket </td>
<td>(</td>
<td class="paramtype">log4cxx::helpers::SocketPtr &amp;&#160;</td>
<td class="paramname"><em>socket</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classlog4cxx_1_1helpers_1_1_pool.html">log4cxx::helpers::Pool</a> &amp;&#160;</td>
<td class="paramname"><em>p</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Implements <a class="el" href="classlog4cxx_1_1net_1_1_socket_appender_skeleton.html#a9077a15836f082b3e26fc25de4bea5ee">SocketAppenderSkeleton</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a class="anchor" id="a99b0a86e5516b7e6714faaf444cfd2be"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int DEFAULT_PORT</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>The default port number of remote logging server (4560). </p>
</div>
</div>
<a class="anchor" id="ad40c219e214e2824f320cf7f532ce735"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int DEFAULT_RECONNECTION_DELAY</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>The default reconnection delay (30000 milliseconds or 30 seconds). </p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="socketappender_8h.html">socketappender.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
</body>
</html>