Sophie

Sophie

distrib > Fedora > 16 > x86_64 > by-pkgid > ef445f0ce4be1c28e0c51502e9156d24 > files > 503

log4cxx-devel-0.10.0-10.fc15.x86_64.rpm

<!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"/>
<title>Apache log4cxx: SocketHubAppender Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.3 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">Apache log4cxx&#160;<span id="projectnumber">Version 0.10.0</span></div>
  </td>
 </tr>
 </tbody>
</table>
</div>
  <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>
    </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>
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
  initNavTree('classlog4cxx_1_1net_1_1_socket_hub_appender.html','');
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a>  </div>
  <div class="headertitle">
<h1>SocketHubAppender Class Reference</h1>  </div>
</div>
<div class="contents">
<!-- doxytag: class="log4cxx::net::SocketHubAppender" --><!-- doxytag: inherits="log4cxx::AppenderSkeleton" -->
<p>Sends <a class="el" href="classlog4cxx_1_1spi_1_1_logging_event.html">LoggingEvent</a> objects to a set of remote log servers, usually a SocketNode.  
<a href="#_details">More...</a></p>

<p>Inherits <a class="el" href="classlog4cxx_1_1_appender_skeleton.html">log4cxx::AppenderSkeleton</a>.</p>

<p><a href="classlog4cxx_1_1net_1_1_socket_hub_appender-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1net_1_1_socket_hub_appender.html#a57b492bb638f45dd164c8a3ad148b825">SocketHubAppender</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1net_1_1_socket_hub_appender.html#a6e8d42e6e9ca42434f5f63fc23a56451">~SocketHubAppender</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1net_1_1_socket_hub_appender.html#a5a01622efd9e036a3e7e1d2d6cb95557">SocketHubAppender</a> (int port)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Connects to remote server at <code>address</code> and <code>port</code>.  <a href="#a5a01622efd9e036a3e7e1d2d6cb95557"></a><br/></td></tr>
<tr><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_hub_appender.html#af1f3ced78d335ec9c2b800d6d5aa3ef8">activateOptions</a> (<a class="el" href="classlog4cxx_1_1helpers_1_1_pool.html">log4cxx::helpers::Pool</a> &amp;p)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set up the socket server on the specified port.  <a href="#af1f3ced78d335ec9c2b800d6d5aa3ef8"></a><br/></td></tr>
<tr><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_hub_appender.html#aee5023c29cca9dc68164b22a01cb7c6e">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><td class="mdescLeft">&#160;</td><td class="mdescRight">Set options.  <a href="#aee5023c29cca9dc68164b22a01cb7c6e"></a><br/></td></tr>
<tr><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_hub_appender.html#a47feccb1873356363e4d0e302bc3822c">close</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Release any resources allocated within the appender such as file handles, network connections, etc.  <a href="#a47feccb1873356363e4d0e302bc3822c"></a><br/></td></tr>
<tr><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_hub_appender.html#ac0184656854a0362e99b46512b6a1761">append</a> (const <a class="el" href="classlog4cxx_1_1helpers_1_1_object_ptr_t.html">spi::LoggingEventPtr</a> &amp;event, <a class="el" href="classlog4cxx_1_1helpers_1_1_pool.html">log4cxx::helpers::Pool</a> &amp;p)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Append an event to all of current connections.  <a href="#ac0184656854a0362e99b46512b6a1761"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1net_1_1_socket_hub_appender.html#a4312e727a9ea814779d2c9950dc3c73e">requiresLayout</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The <a class="el" href="classlog4cxx_1_1net_1_1_socket_hub_appender.html" title="Sends LoggingEvent objects to a set of remote log servers, usually a SocketNode.">SocketHubAppender</a> does not use a layout.  <a href="#a4312e727a9ea814779d2c9950dc3c73e"></a><br/></td></tr>
<tr><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_hub_appender.html#aea5168a8793a0d18d65a94d84904a2fb">setPort</a> (int port1)</td></tr>
<tr><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"></a><br/></td></tr>
<tr><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_hub_appender.html#a5e4fc3488ccbe0511b7e7a1b3ca873cf">getPort</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns value of the <b>Port</b> option.  <a href="#a5e4fc3488ccbe0511b7e7a1b3ca873cf"></a><br/></td></tr>
<tr><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_hub_appender.html#a41d896ff776e8e9094929230bfc5f648">setLocationInfo</a> (bool locationInfo1)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The <b>LocationInfo</b> option takes a boolean value.  <a href="#a41d896ff776e8e9094929230bfc5f648"></a><br/></td></tr>
<tr><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_hub_appender.html#ad70ffd01a630335c8e0465b04f360db4">getLocationInfo</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns value of the <b>LocationInfo</b> option.  <a href="#ad70ffd01a630335c8e0465b04f360db4"></a><br/></td></tr>
</table>
<hr/><a name="_details"></a><h2>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 set of remote log servers, usually a SocketNode. </p>
<p>Acts just like <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> except that instead of connecting to a given remote log server, <code><a class="el" href="classlog4cxx_1_1net_1_1_socket_hub_appender.html" title="Sends LoggingEvent objects to a set of remote log servers, usually a SocketNode.">SocketHubAppender</a></code> accepts connections from the remote log servers as clients. It can accept more than one connection. When a log event is received, the event is sent to the set of currently connected remote log servers. Implemented this way it does not require any update to the configuration file to send data to another remote log server. The remote log server simply connects to the host and port the <code><a class="el" href="classlog4cxx_1_1net_1_1_socket_hub_appender.html" title="Sends LoggingEvent objects to a set of remote log servers, usually a SocketNode.">SocketHubAppender</a></code> is running on.</p>
<p>The <code><a class="el" href="classlog4cxx_1_1net_1_1_socket_hub_appender.html" title="Sends LoggingEvent objects to a set of remote log servers, usually a SocketNode.">SocketHubAppender</a></code> does not store events such that the remote side will events that arrived after the establishment of its connection. Once connected, events arrive in order as guaranteed by the TCP protocol.</p>
<p>This implementation borrows heavily from 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>.</p>
<p>The <a class="el" href="classlog4cxx_1_1net_1_1_socket_hub_appender.html" title="Sends LoggingEvent objects to a set of remote log servers, usually a SocketNode.">SocketHubAppender</a> has the following characteristics:</p>
<ul>
<li>If sent to a SocketNode, 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" title="the ndc class implements nested diagnostic contexts as defined by neil harrison in the article &quot;...">NDC</a>, location info as if it were logged locally.</li>
</ul>
<ul>
<li><code><a class="el" href="classlog4cxx_1_1net_1_1_socket_hub_appender.html" title="Sends LoggingEvent objects to a set of remote log servers, usually a SocketNode.">SocketHubAppender</a></code> does not use a layout. It ships a serialized <a class="el" href="classlog4cxx_1_1spi_1_1_logging_event.html" title="The internal representation of logging events.">spi::LoggingEvent</a> object to the remote side.</li>
</ul>
<ul>
<li><code><a class="el" href="classlog4cxx_1_1net_1_1_socket_hub_appender.html" title="Sends LoggingEvent objects to a set of remote log servers, usually a SocketNode.">SocketHubAppender</a></code> relies on the TCP protocol. Consequently, if the remote side is reachable, then log events will eventually arrive at remote client.</li>
</ul>
<ul>
<li>If no remote clients are attached, the logging requests are simply dropped.</li>
</ul>
<ul>
<li>Logging events are automatically <em>buffered</em> by the native TCP implementation. This means that if the link to remote client is slow but still faster than the rate of (log) event production, the application will not be affected by the slow network connection. However, if the network connection is slower then the rate of event production, then the local application can only progress at the network rate. In particular, if the network link to the the remote client is down, the application will be blocked. <br/>
 <br/>
 On the other hand, if the network link is up, but the remote client is down, the client will not be blocked when making log requests but the log events will be lost due to client unavailability. <br/>
 <br/>
 The single remote client case extends to multiple clients connections. The rate of logging will be determined by the slowest link.</li>
</ul>
<ul>
<li>If the application hosting the <code><a class="el" href="classlog4cxx_1_1net_1_1_socket_hub_appender.html" title="Sends LoggingEvent objects to a set of remote log servers, usually a SocketNode.">SocketHubAppender</a></code> exits before the <code><a class="el" href="classlog4cxx_1_1net_1_1_socket_hub_appender.html" title="Sends LoggingEvent objects to a set of remote log servers, usually a SocketNode.">SocketHubAppender</a></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. <br/>
 <br/>
 To avoid lost data, it is usually sufficient to <a class="el" href="classlog4cxx_1_1net_1_1_socket_hub_appender.html#a47feccb1873356363e4d0e302bc3822c" 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_hub_appender.html" title="Sends LoggingEvent objects to a set of remote log servers, usually a SocketNode.">SocketHubAppender</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><hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a57b492bb638f45dd164c8a3ad148b825"></a><!-- doxytag: member="log4cxx::net::SocketHubAppender::SocketHubAppender" ref="a57b492bb638f45dd164c8a3ad148b825" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classlog4cxx_1_1net_1_1_socket_hub_appender.html">SocketHubAppender</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a6e8d42e6e9ca42434f5f63fc23a56451"></a><!-- doxytag: member="log4cxx::net::SocketHubAppender::~SocketHubAppender" ref="a6e8d42e6e9ca42434f5f63fc23a56451" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">~<a class="el" href="classlog4cxx_1_1net_1_1_socket_hub_appender.html">SocketHubAppender</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a5a01622efd9e036a3e7e1d2d6cb95557"></a><!-- doxytag: member="log4cxx::net::SocketHubAppender::SocketHubAppender" ref="a5a01622efd9e036a3e7e1d2d6cb95557" args="(int port)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classlog4cxx_1_1net_1_1_socket_hub_appender.html">SocketHubAppender</a> </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>port</em></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>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="af1f3ced78d335ec9c2b800d6d5aa3ef8"></a><!-- doxytag: member="log4cxx::net::SocketHubAppender::activateOptions" ref="af1f3ced78d335ec9c2b800d6d5aa3ef8" args="(log4cxx::helpers::Pool &amp;p)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void activateOptions </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><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set up the socket server on the specified port. </p>

<p>Reimplemented from <a class="el" href="classlog4cxx_1_1_appender_skeleton.html#abe1aa95ede9cc9d0609905154129c0ba">AppenderSkeleton</a>.</p>

</div>
</div>
<a class="anchor" id="ac0184656854a0362e99b46512b6a1761"></a><!-- doxytag: member="log4cxx::net::SocketHubAppender::append" ref="ac0184656854a0362e99b46512b6a1761" args="(const spi::LoggingEventPtr &amp;event, log4cxx::helpers::Pool &amp;p)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void append </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classlog4cxx_1_1helpers_1_1_object_ptr_t.html">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><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Append an event to all of current connections. </p>

<p>Implements <a class="el" href="classlog4cxx_1_1_appender_skeleton.html#a4c08a91d859f636117f07463bb53fe41">AppenderSkeleton</a>.</p>

</div>
</div>
<a class="anchor" id="a47feccb1873356363e4d0e302bc3822c"></a><!-- doxytag: member="log4cxx::net::SocketHubAppender::close" ref="a47feccb1873356363e4d0e302bc3822c" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void close </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Release any resources allocated within the appender such as file handles, network connections, etc. </p>
<p>It is a programming error to append to a closed appender. </p>

<p>Implements <a class="el" href="classlog4cxx_1_1_appender.html#af6ee7eacbde6b379b68d954e44f6e549">Appender</a>.</p>

</div>
</div>
<a class="anchor" id="ad70ffd01a630335c8e0465b04f360db4"></a><!-- doxytag: member="log4cxx::net::SocketHubAppender::getLocationInfo" ref="ad70ffd01a630335c8e0465b04f360db4" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool getLocationInfo </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns value of the <b>LocationInfo</b> option. </p>

</div>
</div>
<a class="anchor" id="a5e4fc3488ccbe0511b7e7a1b3ca873cf"></a><!-- doxytag: member="log4cxx::net::SocketHubAppender::getPort" ref="a5e4fc3488ccbe0511b7e7a1b3ca873cf" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int getPort </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns value of the <b>Port</b> option. </p>

</div>
</div>
<a class="anchor" id="a4312e727a9ea814779d2c9950dc3c73e"></a><!-- doxytag: member="log4cxx::net::SocketHubAppender::requiresLayout" ref="a4312e727a9ea814779d2c9950dc3c73e" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool requiresLayout </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The <a class="el" href="classlog4cxx_1_1net_1_1_socket_hub_appender.html" title="Sends LoggingEvent objects to a set of remote log servers, usually a SocketNode.">SocketHubAppender</a> does not use a layout. </p>
<p>Hence, this method returns <code>false</code>. </p>

<p>Implements <a class="el" href="classlog4cxx_1_1_appender.html#a1fa0a21a0f0a6ec3a9e92a98db9ffa85">Appender</a>.</p>

</div>
</div>
<a class="anchor" id="a41d896ff776e8e9094929230bfc5f648"></a><!-- doxytag: member="log4cxx::net::SocketHubAppender::setLocationInfo" ref="a41d896ff776e8e9094929230bfc5f648" args="(bool locationInfo1)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void setLocationInfo </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>locationInfo1</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The <b>LocationInfo</b> option takes a boolean value. </p>
<p>If true, the information sent to the remote host will include location information. By default no location information is sent to the server. </p>

</div>
</div>
<a class="anchor" id="aee5023c29cca9dc68164b22a01cb7c6e"></a><!-- doxytag: member="log4cxx::net::SocketHubAppender::setOption" ref="aee5023c29cca9dc68164b22a01cb7c6e" args="(const LogString &amp;option, const LogString &amp;value)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void setOption </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="namespacelog4cxx.html#ad7ec98d27bca7666e23f27dd1fb181c8">LogString</a> &amp;&#160;</td>
          <td class="paramname"><em>option</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="namespacelog4cxx.html#ad7ec98d27bca7666e23f27dd1fb181c8">LogString</a> &amp;&#160;</td>
          <td class="paramname"><em>value</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set options. </p>

<p>Reimplemented from <a class="el" href="classlog4cxx_1_1_appender_skeleton.html#aee5023c29cca9dc68164b22a01cb7c6e">AppenderSkeleton</a>.</p>

</div>
</div>
<a class="anchor" id="aea5168a8793a0d18d65a94d84904a2fb"></a><!-- doxytag: member="log4cxx::net::SocketHubAppender::setPort" ref="aea5168a8793a0d18d65a94d84904a2fb" args="(int port1)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void setPort </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>port1</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The <b>Port</b> option takes a positive integer representing the port where the server is waiting for connections. </p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="sockethubappender_8h.html">sockethubappender.h</a></li>
</ul>
</div>
</div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><a class="el" href="namespacelog4cxx.html">log4cxx</a>      </li>
      <li class="navelem"><a class="el" href="namespacelog4cxx_1_1net.html">net</a>      </li>
      <li class="navelem"><a class="el" href="classlog4cxx_1_1net_1_1_socket_hub_appender.html">SocketHubAppender</a>      </li>
<!--
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>