<!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" xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
<title>SocketAppender xref</title>
<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" />
</head>
<body>
<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/net/SocketAppender.html">View Javadoc</a></div><pre>

<a name="1" href="#1">1</a>   <em class="jxr_comment">/*</em>
<a name="2" href="#2">2</a>   <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em>
<a name="3" href="#3">3</a>   <em class="jxr_comment"> * contributor license agreements.  See the NOTICE file distributed with</em>
<a name="4" href="#4">4</a>   <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em>
<a name="5" href="#5">5</a>   <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em>
<a name="6" href="#6">6</a>   <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em>
<a name="7" href="#7">7</a>   <em class="jxr_comment"> * the License.  You may obtain a copy of the License at</em>
<a name="8" href="#8">8</a>   <em class="jxr_comment"> * </em>
<a name="9" href="#9">9</a>   <em class="jxr_comment"> *      <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em>
<a name="10" href="#10">10</a>  <em class="jxr_comment"> * </em>
<a name="11" href="#11">11</a>  <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em>
<a name="12" href="#12">12</a>  <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em>
<a name="13" href="#13">13</a>  <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em>
<a name="14" href="#14">14</a>  <em class="jxr_comment"> * See the License for the specific language governing permissions and</em>
<a name="15" href="#15">15</a>  <em class="jxr_comment"> * limitations under the License.</em>
<a name="16" href="#16">16</a>  <em class="jxr_comment"> */</em>
<a name="17" href="#17">17</a>  
<a name="18" href="#18">18</a>  <em class="jxr_comment">// Contributors: Dan MacDonald &lt;dan@redknee.com&gt;</em>
<a name="19" href="#19">19</a>  
<a name="20" href="#20">20</a>  <strong class="jxr_keyword">package</strong> org.apache.log4j.net;
<a name="21" href="#21">21</a>  
<a name="22" href="#22">22</a>  <strong class="jxr_keyword">import</strong> java.io.IOException;
<a name="23" href="#23">23</a>  <strong class="jxr_keyword">import</strong> java.io.ObjectOutputStream;
<a name="24" href="#24">24</a>  <strong class="jxr_keyword">import</strong> java.io.InterruptedIOException;
<a name="25" href="#25">25</a>  <strong class="jxr_keyword">import</strong> java.net.InetAddress;
<a name="26" href="#26">26</a>  <strong class="jxr_keyword">import</strong> java.net.Socket;
<a name="27" href="#27">27</a>  
<a name="28" href="#28">28</a>  <strong class="jxr_keyword">import</strong> org.apache.log4j.AppenderSkeleton;
<a name="29" href="#29">29</a>  <strong class="jxr_keyword">import</strong> org.apache.log4j.helpers.LogLog;
<a name="30" href="#30">30</a>  <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.ErrorCode;
<a name="31" href="#31">31</a>  <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggingEvent;
<a name="32" href="#32">32</a>  
<a name="33" href="#33">33</a>  <em class="jxr_javadoccomment">/**</em>
<a name="34" href="#34">34</a>  <em class="jxr_javadoccomment">    Sends {@link LoggingEvent} objects to a remote a log server,</em>
<a name="35" href="#35">35</a>  <em class="jxr_javadoccomment">    usually a {@link SocketNode}.</em>
<a name="36" href="#36">36</a>  
<a name="37" href="#37">37</a>  <em class="jxr_javadoccomment">    &lt;p&gt;The SocketAppender has the following properties:</em>
<a name="38" href="#38">38</a>  
<a name="39" href="#39">39</a>  <em class="jxr_javadoccomment">    &lt;ul&gt;</em>
<a name="40" href="#40">40</a>  
<a name="41" href="#41">41</a>  <em class="jxr_javadoccomment">      &lt;p&gt;&lt;li&gt;If sent to a {@link SocketNode}, remote logging is</em>
<a name="42" href="#42">42</a>  <em class="jxr_javadoccomment">      non-intrusive as far as the log event is concerned. In other</em>
<a name="43" href="#43">43</a>  <em class="jxr_javadoccomment">      words, the event will be logged with the same time stamp, {@link</em>
<a name="44" href="#44">44</a>  <em class="jxr_javadoccomment">      org.apache.log4j.NDC}, location info as if it were logged locally by</em>
<a name="45" href="#45">45</a>  <em class="jxr_javadoccomment">      the client.</em>
<a name="46" href="#46">46</a>  
<a name="47" href="#47">47</a>  <em class="jxr_javadoccomment">      &lt;p&gt;&lt;li&gt;SocketAppenders do not use a layout. They ship a</em>
<a name="48" href="#48">48</a>  <em class="jxr_javadoccomment">      serialized {@link LoggingEvent} object to the server side.</em>
<a name="49" href="#49">49</a>  
<a name="50" href="#50">50</a>  <em class="jxr_javadoccomment">      &lt;p&gt;&lt;li&gt;Remote logging uses the TCP protocol. Consequently, if</em>
<a name="51" href="#51">51</a>  <em class="jxr_javadoccomment">      the server is reachable, then log events will eventually arrive</em>
<a name="52" href="#52">52</a>  <em class="jxr_javadoccomment">      at the server.</em>
<a name="53" href="#53">53</a>  
<a name="54" href="#54">54</a>  <em class="jxr_javadoccomment">      &lt;p&gt;&lt;li&gt;If the remote server is down, the logging requests are</em>
<a name="55" href="#55">55</a>  <em class="jxr_javadoccomment">      simply dropped. However, if and when the server comes back up,</em>
<a name="56" href="#56">56</a>  <em class="jxr_javadoccomment">      then event transmission is resumed transparently. This</em>
<a name="57" href="#57">57</a>  <em class="jxr_javadoccomment">      transparent reconneciton is performed by a &lt;em&gt;connector&lt;/em&gt;</em>
<a name="58" href="#58">58</a>  <em class="jxr_javadoccomment">      thread which periodically attempts to connect to the server.</em>
<a name="59" href="#59">59</a>  
<a name="60" href="#60">60</a>  <em class="jxr_javadoccomment">      &lt;p&gt;&lt;li&gt;Logging events are automatically &lt;em&gt;buffered&lt;/em&gt; by the</em>
<a name="61" href="#61">61</a>  <em class="jxr_javadoccomment">      native TCP implementation. This means that if the link to server</em>
<a name="62" href="#62">62</a>  <em class="jxr_javadoccomment">      is slow but still faster than the rate of (log) event production</em>
<a name="63" href="#63">63</a>  <em class="jxr_javadoccomment">      by the client, the client will not be affected by the slow</em>
<a name="64" href="#64">64</a>  <em class="jxr_javadoccomment">      network connection. However, if the network connection is slower</em>
<a name="65" href="#65">65</a>  <em class="jxr_javadoccomment">      then the rate of event production, then the client can only</em>
<a name="66" href="#66">66</a>  <em class="jxr_javadoccomment">      progress at the network rate. In particular, if the network link</em>
<a name="67" href="#67">67</a>  <em class="jxr_javadoccomment">      to the the server is down, the client will be blocked.</em>
<a name="68" href="#68">68</a>  
<a name="69" href="#69">69</a>  <em class="jxr_javadoccomment">      &lt;p&gt;On the other hand, if the network link is up, but the server</em>
<a name="70" href="#70">70</a>  <em class="jxr_javadoccomment">      is down, the client will not be blocked when making log requests</em>
<a name="71" href="#71">71</a>  <em class="jxr_javadoccomment">      but the log events will be lost due to server unavailability.</em>
<a name="72" href="#72">72</a>  
<a name="73" href="#73">73</a>  <em class="jxr_javadoccomment">      &lt;p&gt;&lt;li&gt;Even if a &lt;code&gt;SocketAppender&lt;/code&gt; is no longer</em>
<a name="74" href="#74">74</a>  <em class="jxr_javadoccomment">      attached to any category, it will not be garbage collected in</em>
<a name="75" href="#75">75</a>  <em class="jxr_javadoccomment">      the presence of a connector thread. A connector thread exists</em>
<a name="76" href="#76">76</a>  <em class="jxr_javadoccomment">      only if the connection to the server is down. To avoid this</em>
<a name="77" href="#77">77</a>  <em class="jxr_javadoccomment">      garbage collection problem, you should {@link #close} the the</em>
<a name="78" href="#78">78</a>  <em class="jxr_javadoccomment">      &lt;code&gt;SocketAppender&lt;/code&gt; explicitly. See also next item.</em>
<a name="79" href="#79">79</a>  
<a name="80" href="#80">80</a>  <em class="jxr_javadoccomment">      &lt;p&gt;Long lived applications which create/destroy many</em>
<a name="81" href="#81">81</a>  <em class="jxr_javadoccomment">      &lt;code&gt;SocketAppender&lt;/code&gt; instances should be aware of this</em>
<a name="82" href="#82">82</a>  <em class="jxr_javadoccomment">      garbage collection problem. Most other applications can safely</em>
<a name="83" href="#83">83</a>  <em class="jxr_javadoccomment">      ignore it.</em>
<a name="84" href="#84">84</a>  
<a name="85" href="#85">85</a>  <em class="jxr_javadoccomment">      &lt;p&gt;&lt;li&gt;If the JVM hosting the &lt;code&gt;SocketAppender&lt;/code&gt; exits</em>
<a name="86" href="#86">86</a>  <em class="jxr_javadoccomment">      before the &lt;code&gt;SocketAppender&lt;/code&gt; is closed either</em>
<a name="87" href="#87">87</a>  <em class="jxr_javadoccomment">      explicitly or subsequent to garbage collection, then there might</em>
<a name="88" href="#88">88</a>  <em class="jxr_javadoccomment">      be untransmitted data in the pipe which might be lost. This is a</em>
<a name="89" href="#89">89</a>  <em class="jxr_javadoccomment">      common problem on Windows based systems.</em>
<a name="90" href="#90">90</a>  
<a name="91" href="#91">91</a>  <em class="jxr_javadoccomment">      &lt;p&gt;To avoid lost data, it is usually sufficient to {@link</em>
<a name="92" href="#92">92</a>  <em class="jxr_javadoccomment">      #close} the &lt;code&gt;SocketAppender&lt;/code&gt; either explicitly or by</em>
<a name="93" href="#93">93</a>  <em class="jxr_javadoccomment">      calling the {@link org.apache.log4j.LogManager#shutdown} method</em>
<a name="94" href="#94">94</a>  <em class="jxr_javadoccomment">      before exiting the application.</em>
<a name="95" href="#95">95</a>  
<a name="96" href="#96">96</a>  
<a name="97" href="#97">97</a>  <em class="jxr_javadoccomment">     &lt;/ul&gt;</em>
<a name="98" href="#98">98</a>  
<a name="99" href="#99">99</a>  <em class="jxr_javadoccomment">    @author  Ceki G&amp;uuml;lc&amp;uuml;</em>
<a name="100" href="#100">100</a> <em class="jxr_javadoccomment">    @since 0.8.4 */</em>
<a name="101" href="#101">101</a> 
<a name="102" href="#102">102</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/net/SocketAppender.html">SocketAppender</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../org/apache/log4j/AppenderSkeleton.html">AppenderSkeleton</a> {
<a name="103" href="#103">103</a> 
<a name="104" href="#104">104</a>   <em class="jxr_javadoccomment">/**</em>
<a name="105" href="#105">105</a> <em class="jxr_javadoccomment">     The default port number of remote logging server (4560).</em>
<a name="106" href="#106">106</a> <em class="jxr_javadoccomment">     @since 1.2.15</em>
<a name="107" href="#107">107</a> <em class="jxr_javadoccomment">  */</em>
<a name="108" href="#108">108</a>   <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> DEFAULT_PORT                 = 4560;
<a name="109" href="#109">109</a> 
<a name="110" href="#110">110</a>   <em class="jxr_javadoccomment">/**</em>
<a name="111" href="#111">111</a> <em class="jxr_javadoccomment">     The default reconnection delay (30000 milliseconds or 30 seconds).</em>
<a name="112" href="#112">112</a> <em class="jxr_javadoccomment">  */</em>
<a name="113" href="#113">113</a>   <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> DEFAULT_RECONNECTION_DELAY   = 30000;
<a name="114" href="#114">114</a> 
<a name="115" href="#115">115</a>   <em class="jxr_javadoccomment">/**</em>
<a name="116" href="#116">116</a> <em class="jxr_javadoccomment">     We remember host name as String in addition to the resolved</em>
<a name="117" href="#117">117</a> <em class="jxr_javadoccomment">     InetAddress so that it can be returned via getOption().</em>
<a name="118" href="#118">118</a> <em class="jxr_javadoccomment">  */</em>
<a name="119" href="#119">119</a>   String remoteHost;
<a name="120" href="#120">120</a> 
<a name="121" href="#121">121</a>   <em class="jxr_javadoccomment">/**</em>
<a name="122" href="#122">122</a> <em class="jxr_javadoccomment">   * The MulticastDNS zone advertised by a SocketAppender</em>
<a name="123" href="#123">123</a> <em class="jxr_javadoccomment">   */</em>
<a name="124" href="#124">124</a>   <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String ZONE = <span class="jxr_string">"_log4j_obj_tcpconnect_appender.local."</span>;
<a name="125" href="#125">125</a> 
<a name="126" href="#126">126</a>   InetAddress address;
<a name="127" href="#127">127</a>   <strong class="jxr_keyword">int</strong> port = DEFAULT_PORT;
<a name="128" href="#128">128</a>   ObjectOutputStream oos;
<a name="129" href="#129">129</a>   <strong class="jxr_keyword">int</strong> reconnectionDelay = DEFAULT_RECONNECTION_DELAY;
<a name="130" href="#130">130</a>   <strong class="jxr_keyword">boolean</strong> locationInfo = false;
<a name="131" href="#131">131</a>   <strong class="jxr_keyword">private</strong> String application;
<a name="132" href="#132">132</a> 
<a name="133" href="#133">133</a>   <strong class="jxr_keyword">private</strong> <a href="../../../../org/apache/log4j/net/SocketAppender.html">Connector</a> connector;
<a name="134" href="#134">134</a> 
<a name="135" href="#135">135</a>   <strong class="jxr_keyword">int</strong> counter = 0;
<a name="136" href="#136">136</a> 
<a name="137" href="#137">137</a>   <em class="jxr_comment">// reset the ObjectOutputStream every 70 calls</em>
<a name="138" href="#138">138</a>   <em class="jxr_comment">//private static final int RESET_FREQUENCY = 70;</em>
<a name="139" href="#139">139</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> RESET_FREQUENCY = 1;
<a name="140" href="#140">140</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> advertiseViaMulticastDNS;
<a name="141" href="#141">141</a>   <strong class="jxr_keyword">private</strong> <a href="../../../../org/apache/log4j/net/ZeroConfSupport.html">ZeroConfSupport</a> zeroConf;
<a name="142" href="#142">142</a> 
<a name="143" href="#143">143</a>   <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/net/SocketAppender.html">SocketAppender</a>() {
<a name="144" href="#144">144</a>   }
<a name="145" href="#145">145</a> 
<a name="146" href="#146">146</a>   <em class="jxr_javadoccomment">/**</em>
<a name="147" href="#147">147</a> <em class="jxr_javadoccomment">     Connects to remote server at &lt;code&gt;address&lt;/code&gt; and &lt;code&gt;port&lt;/code&gt;.</em>
<a name="148" href="#148">148</a> <em class="jxr_javadoccomment">  */</em>
<a name="149" href="#149">149</a>   <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/net/SocketAppender.html">SocketAppender</a>(InetAddress address, <strong class="jxr_keyword">int</strong> port) {
<a name="150" href="#150">150</a>     <strong class="jxr_keyword">this</strong>.address = address;
<a name="151" href="#151">151</a>     <strong class="jxr_keyword">this</strong>.remoteHost = address.getHostName();
<a name="152" href="#152">152</a>     <strong class="jxr_keyword">this</strong>.port = port;
<a name="153" href="#153">153</a>     connect(address, port);
<a name="154" href="#154">154</a>   }
<a name="155" href="#155">155</a> 
<a name="156" href="#156">156</a>   <em class="jxr_javadoccomment">/**</em>
<a name="157" href="#157">157</a> <em class="jxr_javadoccomment">     Connects to remote server at &lt;code&gt;host&lt;/code&gt; and &lt;code&gt;port&lt;/code&gt;.</em>
<a name="158" href="#158">158</a> <em class="jxr_javadoccomment">  */</em>
<a name="159" href="#159">159</a>   <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/net/SocketAppender.html">SocketAppender</a>(String host, <strong class="jxr_keyword">int</strong> port) {
<a name="160" href="#160">160</a>     <strong class="jxr_keyword">this</strong>.port = port;
<a name="161" href="#161">161</a>     <strong class="jxr_keyword">this</strong>.address = getAddressByName(host);
<a name="162" href="#162">162</a>     <strong class="jxr_keyword">this</strong>.remoteHost = host;
<a name="163" href="#163">163</a>     connect(address, port);
<a name="164" href="#164">164</a>   }
<a name="165" href="#165">165</a> 
<a name="166" href="#166">166</a>   <em class="jxr_javadoccomment">/**</em>
<a name="167" href="#167">167</a> <em class="jxr_javadoccomment">     Connect to the specified &lt;b&gt;RemoteHost&lt;/b&gt; and &lt;b&gt;Port&lt;/b&gt;.</em>
<a name="168" href="#168">168</a> <em class="jxr_javadoccomment">  */</em>
<a name="169" href="#169">169</a>   <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> activateOptions() {
<a name="170" href="#170">170</a>     <strong class="jxr_keyword">if</strong> (advertiseViaMulticastDNS) {
<a name="171" href="#171">171</a>       zeroConf = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/net/ZeroConfSupport.html">ZeroConfSupport</a>(ZONE, port, getName());
<a name="172" href="#172">172</a>       zeroConf.advertise();
<a name="173" href="#173">173</a>     }
<a name="174" href="#174">174</a>     connect(address, port);
<a name="175" href="#175">175</a>   }
<a name="176" href="#176">176</a> 
<a name="177" href="#177">177</a>   <em class="jxr_javadoccomment">/**</em>
<a name="178" href="#178">178</a> <em class="jxr_javadoccomment">   * Close this appender.  </em>
<a name="179" href="#179">179</a> <em class="jxr_javadoccomment">   *</em>
<a name="180" href="#180">180</a> <em class="jxr_javadoccomment">   * &lt;p&gt;This will mark the appender as closed and call then {@link</em>
<a name="181" href="#181">181</a> <em class="jxr_javadoccomment">   * #cleanUp} method.</em>
<a name="182" href="#182">182</a> <em class="jxr_javadoccomment">   * */</em>
<a name="183" href="#183">183</a>   <strong class="jxr_keyword">synchronized</strong> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> close() {
<a name="184" href="#184">184</a>     <strong class="jxr_keyword">if</strong>(closed)
<a name="185" href="#185">185</a>       <strong class="jxr_keyword">return</strong>;
<a name="186" href="#186">186</a> 
<a name="187" href="#187">187</a>     <strong class="jxr_keyword">this</strong>.closed = <strong class="jxr_keyword">true</strong>;
<a name="188" href="#188">188</a>     <strong class="jxr_keyword">if</strong> (advertiseViaMulticastDNS) {
<a name="189" href="#189">189</a>       zeroConf.unadvertise();
<a name="190" href="#190">190</a>     }
<a name="191" href="#191">191</a> 
<a name="192" href="#192">192</a>     cleanUp();
<a name="193" href="#193">193</a>   }
<a name="194" href="#194">194</a> 
<a name="195" href="#195">195</a>   <em class="jxr_javadoccomment">/**</em>
<a name="196" href="#196">196</a> <em class="jxr_javadoccomment">   * Drop the connection to the remote host and release the underlying</em>
<a name="197" href="#197">197</a> <em class="jxr_javadoccomment">   * connector thread if it has been created </em>
<a name="198" href="#198">198</a> <em class="jxr_javadoccomment">   * */</em>
<a name="199" href="#199">199</a>   <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> cleanUp() {
<a name="200" href="#200">200</a>     <strong class="jxr_keyword">if</strong>(oos != <strong class="jxr_keyword">null</strong>) {
<a name="201" href="#201">201</a>       <strong class="jxr_keyword">try</strong> {
<a name="202" href="#202">202</a> 	oos.close();
<a name="203" href="#203">203</a>       } <strong class="jxr_keyword">catch</strong>(IOException e) {
<a name="204" href="#204">204</a>           <strong class="jxr_keyword">if</strong> (e instanceof InterruptedIOException) {
<a name="205" href="#205">205</a>               Thread.currentThread().interrupt();
<a name="206" href="#206">206</a>           }
<a name="207" href="#207">207</a> 	      LogLog.error(<span class="jxr_string">"Could not close oos."</span>, e);
<a name="208" href="#208">208</a>       }
<a name="209" href="#209">209</a>       oos = <strong class="jxr_keyword">null</strong>;
<a name="210" href="#210">210</a>     }
<a name="211" href="#211">211</a>     <strong class="jxr_keyword">if</strong>(connector != <strong class="jxr_keyword">null</strong>) {
<a name="212" href="#212">212</a>       <em class="jxr_comment">//LogLog.debug("Interrupting the connector.");</em>
<a name="213" href="#213">213</a>       connector.interrupted = <strong class="jxr_keyword">true</strong>;
<a name="214" href="#214">214</a>       connector = <strong class="jxr_keyword">null</strong>;  <em class="jxr_comment">// allow gc</em>
<a name="215" href="#215">215</a>     }
<a name="216" href="#216">216</a>   }
<a name="217" href="#217">217</a> 
<a name="218" href="#218">218</a>   <strong class="jxr_keyword">void</strong> connect(InetAddress address, <strong class="jxr_keyword">int</strong> port) {
<a name="219" href="#219">219</a>     <strong class="jxr_keyword">if</strong>(<strong class="jxr_keyword">this</strong>.address == <strong class="jxr_keyword">null</strong>)
<a name="220" href="#220">220</a>       <strong class="jxr_keyword">return</strong>;
<a name="221" href="#221">221</a>     <strong class="jxr_keyword">try</strong> {
<a name="222" href="#222">222</a>       <em class="jxr_comment">// First, close the previous connection if any.</em>
<a name="223" href="#223">223</a>       cleanUp();
<a name="224" href="#224">224</a>       oos = <strong class="jxr_keyword">new</strong> ObjectOutputStream(<strong class="jxr_keyword">new</strong> Socket(address, port).getOutputStream());
<a name="225" href="#225">225</a>     } <strong class="jxr_keyword">catch</strong>(IOException e) {
<a name="226" href="#226">226</a>       <strong class="jxr_keyword">if</strong> (e instanceof InterruptedIOException) {
<a name="227" href="#227">227</a>           Thread.currentThread().interrupt();
<a name="228" href="#228">228</a>       }
<a name="229" href="#229">229</a>       String msg = <span class="jxr_string">"Could not connect to remote log4j server at ["</span>
<a name="230" href="#230">230</a> 	+address.getHostName()+<span class="jxr_string">"]."</span>;
<a name="231" href="#231">231</a>       <strong class="jxr_keyword">if</strong>(reconnectionDelay &gt; 0) {
<a name="232" href="#232">232</a>         msg += <span class="jxr_string">" We will try again later."</span>;
<a name="233" href="#233">233</a> 	fireConnector(); <em class="jxr_comment">// fire the connector thread</em>
<a name="234" href="#234">234</a>       } <strong class="jxr_keyword">else</strong> {
<a name="235" href="#235">235</a>           msg += <span class="jxr_string">" We are not retrying."</span>;
<a name="236" href="#236">236</a>           errorHandler.error(msg, e, ErrorCode.GENERIC_FAILURE);
<a name="237" href="#237">237</a>       } 
<a name="238" href="#238">238</a>       LogLog.error(msg);
<a name="239" href="#239">239</a>     }
<a name="240" href="#240">240</a>   }
<a name="241" href="#241">241</a> 
<a name="242" href="#242">242</a> 
<a name="243" href="#243">243</a>   <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> append(<a href="../../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a> event) {
<a name="244" href="#244">244</a>     <strong class="jxr_keyword">if</strong>(event == <strong class="jxr_keyword">null</strong>)
<a name="245" href="#245">245</a>       <strong class="jxr_keyword">return</strong>;
<a name="246" href="#246">246</a> 
<a name="247" href="#247">247</a>     <strong class="jxr_keyword">if</strong>(address==<strong class="jxr_keyword">null</strong>) {
<a name="248" href="#248">248</a>       errorHandler.error(<span class="jxr_string">"No remote host is set for SocketAppender named \&quot;"</span>+
<a name="249" href="#249">249</a> 			<strong class="jxr_keyword">this</strong>.name+<span class="jxr_string">"\&quot;."</span>);
<a name="250" href="#250">250</a>       <strong class="jxr_keyword">return</strong>;
<a name="251" href="#251">251</a>     }
<a name="252" href="#252">252</a> 
<a name="253" href="#253">253</a>     <strong class="jxr_keyword">if</strong>(oos != <strong class="jxr_keyword">null</strong>) {
<a name="254" href="#254">254</a>       <strong class="jxr_keyword">try</strong> {
<a name="255" href="#255">255</a>     	 
<a name="256" href="#256">256</a> 	<strong class="jxr_keyword">if</strong>(locationInfo) {
<a name="257" href="#257">257</a> 	   event.getLocationInformation();
<a name="258" href="#258">258</a> 	}
<a name="259" href="#259">259</a>     <strong class="jxr_keyword">if</strong> (application != <strong class="jxr_keyword">null</strong>) {
<a name="260" href="#260">260</a>         event.setProperty(<span class="jxr_string">"application"</span>, application);
<a name="261" href="#261">261</a>     }
<a name="262" href="#262">262</a>     event.getNDC();
<a name="263" href="#263">263</a>     event.getThreadName();
<a name="264" href="#264">264</a>     event.getMDCCopy();
<a name="265" href="#265">265</a>     event.getRenderedMessage();
<a name="266" href="#266">266</a>     event.getThrowableStrRep();
<a name="267" href="#267">267</a>     
<a name="268" href="#268">268</a> 	oos.writeObject(event);
<a name="269" href="#269">269</a> 	<em class="jxr_comment">//LogLog.debug("=========Flushing.");</em>
<a name="270" href="#270">270</a> 	oos.flush();
<a name="271" href="#271">271</a> 	<strong class="jxr_keyword">if</strong>(++counter &gt;= RESET_FREQUENCY) {
<a name="272" href="#272">272</a> 	  counter = 0;
<a name="273" href="#273">273</a> 	  <em class="jxr_comment">// Failing to reset the object output stream every now and</em>
<a name="274" href="#274">274</a> 	  <em class="jxr_comment">// then creates a serious memory leak.</em>
<a name="275" href="#275">275</a> 	  <em class="jxr_comment">//System.err.println("Doing oos.reset()");</em>
<a name="276" href="#276">276</a> 	  oos.reset();
<a name="277" href="#277">277</a> 	}
<a name="278" href="#278">278</a>       } <strong class="jxr_keyword">catch</strong>(IOException e) {
<a name="279" href="#279">279</a>           <strong class="jxr_keyword">if</strong> (e instanceof InterruptedIOException) {
<a name="280" href="#280">280</a>               Thread.currentThread().interrupt();
<a name="281" href="#281">281</a>           }
<a name="282" href="#282">282</a> 	      oos = <strong class="jxr_keyword">null</strong>;
<a name="283" href="#283">283</a> 	      LogLog.warn(<span class="jxr_string">"Detected problem with connection: "</span>+e);
<a name="284" href="#284">284</a> 	      <strong class="jxr_keyword">if</strong>(reconnectionDelay &gt; 0) {
<a name="285" href="#285">285</a> 	         fireConnector();
<a name="286" href="#286">286</a> 	      } <strong class="jxr_keyword">else</strong> {
<a name="287" href="#287">287</a> 	         errorHandler.error(<span class="jxr_string">"Detected problem with connection, not reconnecting."</span>, e,
<a name="288" href="#288">288</a> 	               ErrorCode.GENERIC_FAILURE);
<a name="289" href="#289">289</a> 	      }
<a name="290" href="#290">290</a>       }
<a name="291" href="#291">291</a>     }
<a name="292" href="#292">292</a>   }
<a name="293" href="#293">293</a> 
<a name="294" href="#294">294</a>   <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setAdvertiseViaMulticastDNS(<strong class="jxr_keyword">boolean</strong> advertiseViaMulticastDNS) {
<a name="295" href="#295">295</a>     <strong class="jxr_keyword">this</strong>.advertiseViaMulticastDNS = advertiseViaMulticastDNS;
<a name="296" href="#296">296</a>   }
<a name="297" href="#297">297</a> 
<a name="298" href="#298">298</a>   <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> isAdvertiseViaMulticastDNS() {
<a name="299" href="#299">299</a>     <strong class="jxr_keyword">return</strong> advertiseViaMulticastDNS;
<a name="300" href="#300">300</a>   }
<a name="301" href="#301">301</a> 
<a name="302" href="#302">302</a>   <strong class="jxr_keyword">void</strong> fireConnector() {
<a name="303" href="#303">303</a>     <strong class="jxr_keyword">if</strong>(connector == <strong class="jxr_keyword">null</strong>) {
<a name="304" href="#304">304</a>       LogLog.debug(<span class="jxr_string">"Starting a new connector thread."</span>);
<a name="305" href="#305">305</a>       connector = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/net/SocketAppender.html">Connector</a>();
<a name="306" href="#306">306</a>       connector.setDaemon(<strong class="jxr_keyword">true</strong>);
<a name="307" href="#307">307</a>       connector.setPriority(Thread.MIN_PRIORITY);
<a name="308" href="#308">308</a>       connector.start();
<a name="309" href="#309">309</a>     }
<a name="310" href="#310">310</a>   }
<a name="311" href="#311">311</a> 
<a name="312" href="#312">312</a>   <strong class="jxr_keyword">static</strong>
<a name="313" href="#313">313</a>   InetAddress getAddressByName(String host) {
<a name="314" href="#314">314</a>     <strong class="jxr_keyword">try</strong> {
<a name="315" href="#315">315</a>       <strong class="jxr_keyword">return</strong> InetAddress.getByName(host);
<a name="316" href="#316">316</a>     } <strong class="jxr_keyword">catch</strong>(Exception e) {
<a name="317" href="#317">317</a>       <strong class="jxr_keyword">if</strong> (e instanceof InterruptedIOException || e instanceof InterruptedException) {
<a name="318" href="#318">318</a>           Thread.currentThread().interrupt();
<a name="319" href="#319">319</a>       }
<a name="320" href="#320">320</a>       LogLog.error(<span class="jxr_string">"Could not find address of ["</span>+host+<span class="jxr_string">"]."</span>, e);
<a name="321" href="#321">321</a>       <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
<a name="322" href="#322">322</a>     }
<a name="323" href="#323">323</a>   }
<a name="324" href="#324">324</a> 
<a name="325" href="#325">325</a>   <em class="jxr_javadoccomment">/**</em>
<a name="326" href="#326">326</a> <em class="jxr_javadoccomment">   * The SocketAppender does not use a layout. Hence, this method</em>
<a name="327" href="#327">327</a> <em class="jxr_javadoccomment">   * returns &lt;code&gt;false&lt;/code&gt;.  </em>
<a name="328" href="#328">328</a> <em class="jxr_javadoccomment">   * */</em>
<a name="329" href="#329">329</a>   <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> requiresLayout() {
<a name="330" href="#330">330</a>     <strong class="jxr_keyword">return</strong> false;
<a name="331" href="#331">331</a>   }
<a name="332" href="#332">332</a> 
<a name="333" href="#333">333</a>   <em class="jxr_javadoccomment">/**</em>
<a name="334" href="#334">334</a> <em class="jxr_javadoccomment">   * The &lt;b&gt;RemoteHost&lt;/b&gt; option takes a string value which should be</em>
<a name="335" href="#335">335</a> <em class="jxr_javadoccomment">   * the host name of the server where a {@link SocketNode} is</em>
<a name="336" href="#336">336</a> <em class="jxr_javadoccomment">   * running.</em>
<a name="337" href="#337">337</a> <em class="jxr_javadoccomment">   * */</em>
<a name="338" href="#338">338</a>   <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setRemoteHost(String host) {
<a name="339" href="#339">339</a>     address = getAddressByName(host);
<a name="340" href="#340">340</a>     remoteHost = host;
<a name="341" href="#341">341</a>   }
<a name="342" href="#342">342</a> 
<a name="343" href="#343">343</a>   <em class="jxr_javadoccomment">/**</em>
<a name="344" href="#344">344</a> <em class="jxr_javadoccomment">     Returns value of the &lt;b&gt;RemoteHost&lt;/b&gt; option.</em>
<a name="345" href="#345">345</a> <em class="jxr_javadoccomment">   */</em>
<a name="346" href="#346">346</a>   <strong class="jxr_keyword">public</strong> String getRemoteHost() {
<a name="347" href="#347">347</a>     <strong class="jxr_keyword">return</strong> remoteHost;
<a name="348" href="#348">348</a>   }
<a name="349" href="#349">349</a> 
<a name="350" href="#350">350</a>   <em class="jxr_javadoccomment">/**</em>
<a name="351" href="#351">351</a> <em class="jxr_javadoccomment">     The &lt;b&gt;Port&lt;/b&gt; option takes a positive integer representing</em>
<a name="352" href="#352">352</a> <em class="jxr_javadoccomment">     the port where the server is waiting for connections.</em>
<a name="353" href="#353">353</a> <em class="jxr_javadoccomment">   */</em>
<a name="354" href="#354">354</a>   <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setPort(<strong class="jxr_keyword">int</strong> port) {
<a name="355" href="#355">355</a>     <strong class="jxr_keyword">this</strong>.port = port;
<a name="356" href="#356">356</a>   }
<a name="357" href="#357">357</a> 
<a name="358" href="#358">358</a>   <em class="jxr_javadoccomment">/**</em>
<a name="359" href="#359">359</a> <em class="jxr_javadoccomment">     Returns value of the &lt;b&gt;Port&lt;/b&gt; option.</em>
<a name="360" href="#360">360</a> <em class="jxr_javadoccomment">   */</em>
<a name="361" href="#361">361</a>   <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> getPort() {
<a name="362" href="#362">362</a>     <strong class="jxr_keyword">return</strong> port;
<a name="363" href="#363">363</a>   }
<a name="364" href="#364">364</a> 
<a name="365" href="#365">365</a>   <em class="jxr_javadoccomment">/**</em>
<a name="366" href="#366">366</a> <em class="jxr_javadoccomment">     The &lt;b&gt;LocationInfo&lt;/b&gt; option takes a boolean value. If true,</em>
<a name="367" href="#367">367</a> <em class="jxr_javadoccomment">     the information sent to the remote host will include location</em>
<a name="368" href="#368">368</a> <em class="jxr_javadoccomment">     information. By default no location information is sent to the server.</em>
<a name="369" href="#369">369</a> <em class="jxr_javadoccomment">   */</em>
<a name="370" href="#370">370</a>   <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setLocationInfo(<strong class="jxr_keyword">boolean</strong> locationInfo) {
<a name="371" href="#371">371</a>     <strong class="jxr_keyword">this</strong>.locationInfo = locationInfo;
<a name="372" href="#372">372</a>   }
<a name="373" href="#373">373</a> 
<a name="374" href="#374">374</a>   <em class="jxr_javadoccomment">/**</em>
<a name="375" href="#375">375</a> <em class="jxr_javadoccomment">     Returns value of the &lt;b&gt;LocationInfo&lt;/b&gt; option.</em>
<a name="376" href="#376">376</a> <em class="jxr_javadoccomment">   */</em>
<a name="377" href="#377">377</a>   <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> getLocationInfo() {
<a name="378" href="#378">378</a>     <strong class="jxr_keyword">return</strong> locationInfo;
<a name="379" href="#379">379</a>   }
<a name="380" href="#380">380</a> 
<a name="381" href="#381">381</a>   <em class="jxr_javadoccomment">/**</em>
<a name="382" href="#382">382</a> <em class="jxr_javadoccomment">   * The &lt;b&gt;App&lt;/b&gt; option takes a string value which should be the name of the </em>
<a name="383" href="#383">383</a> <em class="jxr_javadoccomment">   * application getting logged.</em>
<a name="384" href="#384">384</a> <em class="jxr_javadoccomment">   * If property was already set (via system property), don't set here.</em>
<a name="385" href="#385">385</a> <em class="jxr_javadoccomment">   * @since 1.2.15</em>
<a name="386" href="#386">386</a> <em class="jxr_javadoccomment">   */</em>
<a name="387" href="#387">387</a>   <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setApplication(String lapp) {
<a name="388" href="#388">388</a>     <strong class="jxr_keyword">this</strong>.application = lapp;
<a name="389" href="#389">389</a>   }
<a name="390" href="#390">390</a> 
<a name="391" href="#391">391</a>   <em class="jxr_javadoccomment">/**</em>
<a name="392" href="#392">392</a> <em class="jxr_javadoccomment">   *  Returns value of the &lt;b&gt;Application&lt;/b&gt; option.</em>
<a name="393" href="#393">393</a> <em class="jxr_javadoccomment">   * @since 1.2.15</em>
<a name="394" href="#394">394</a> <em class="jxr_javadoccomment">   */</em>
<a name="395" href="#395">395</a>   <strong class="jxr_keyword">public</strong> String getApplication() {
<a name="396" href="#396">396</a>     <strong class="jxr_keyword">return</strong> application;
<a name="397" href="#397">397</a>   }
<a name="398" href="#398">398</a> 
<a name="399" href="#399">399</a>   <em class="jxr_javadoccomment">/**</em>
<a name="400" href="#400">400</a> <em class="jxr_javadoccomment">     The &lt;b&gt;ReconnectionDelay&lt;/b&gt; option takes a positive integer</em>
<a name="401" href="#401">401</a> <em class="jxr_javadoccomment">     representing the number of milliseconds to wait between each</em>
<a name="402" href="#402">402</a> <em class="jxr_javadoccomment">     failed connection attempt to the server. The default value of</em>
<a name="403" href="#403">403</a> <em class="jxr_javadoccomment">     this option is 30000 which corresponds to 30 seconds.</em>
<a name="404" href="#404">404</a> 
<a name="405" href="#405">405</a> <em class="jxr_javadoccomment">     &lt;p&gt;Setting this option to zero turns off reconnection</em>
<a name="406" href="#406">406</a> <em class="jxr_javadoccomment">     capability.</em>
<a name="407" href="#407">407</a> <em class="jxr_javadoccomment">   */</em>
<a name="408" href="#408">408</a>   <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setReconnectionDelay(<strong class="jxr_keyword">int</strong> delay) {
<a name="409" href="#409">409</a>     <strong class="jxr_keyword">this</strong>.reconnectionDelay = delay;
<a name="410" href="#410">410</a>   }
<a name="411" href="#411">411</a> 
<a name="412" href="#412">412</a>   <em class="jxr_javadoccomment">/**</em>
<a name="413" href="#413">413</a> <em class="jxr_javadoccomment">     Returns value of the &lt;b&gt;ReconnectionDelay&lt;/b&gt; option.</em>
<a name="414" href="#414">414</a> <em class="jxr_javadoccomment">   */</em>
<a name="415" href="#415">415</a>   <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> getReconnectionDelay() {
<a name="416" href="#416">416</a>     <strong class="jxr_keyword">return</strong> reconnectionDelay;
<a name="417" href="#417">417</a>   }
<a name="418" href="#418">418</a> 
<a name="419" href="#419">419</a>   <em class="jxr_javadoccomment">/**</em>
<a name="420" href="#420">420</a> <em class="jxr_javadoccomment">     The Connector will reconnect when the server becomes available</em>
<a name="421" href="#421">421</a> <em class="jxr_javadoccomment">     again.  It does this by attempting to open a new connection every</em>
<a name="422" href="#422">422</a> <em class="jxr_javadoccomment">     &lt;code&gt;reconnectionDelay&lt;/code&gt; milliseconds.</em>
<a name="423" href="#423">423</a> 
<a name="424" href="#424">424</a> <em class="jxr_javadoccomment">     &lt;p&gt;It stops trying whenever a connection is established. It will</em>
<a name="425" href="#425">425</a> <em class="jxr_javadoccomment">     restart to try reconnect to the server when previously open</em>
<a name="426" href="#426">426</a> <em class="jxr_javadoccomment">     connection is droppped.</em>
<a name="427" href="#427">427</a> 
<a name="428" href="#428">428</a> <em class="jxr_javadoccomment">     @author  Ceki G&amp;uuml;lc&amp;uuml;</em>
<a name="429" href="#429">429</a> <em class="jxr_javadoccomment">     @since 0.8.4</em>
<a name="430" href="#430">430</a> <em class="jxr_javadoccomment">  */</em>
<a name="431" href="#431">431</a>   <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/net/SocketAppender.html">Connector</a> <strong class="jxr_keyword">extends</strong> Thread {
<a name="432" href="#432">432</a> 
<a name="433" href="#433">433</a>     <strong class="jxr_keyword">boolean</strong> interrupted = false;
<a name="434" href="#434">434</a> 
<a name="435" href="#435">435</a>     <strong class="jxr_keyword">public</strong>
<a name="436" href="#436">436</a>     <strong class="jxr_keyword">void</strong> run() {
<a name="437" href="#437">437</a>       Socket socket;
<a name="438" href="#438">438</a>       <strong class="jxr_keyword">while</strong>(!interrupted) {
<a name="439" href="#439">439</a> 	<strong class="jxr_keyword">try</strong> {
<a name="440" href="#440">440</a> 	  sleep(reconnectionDelay);
<a name="441" href="#441">441</a> 	  LogLog.debug(<span class="jxr_string">"Attempting connection to "</span>+address.getHostName());
<a name="442" href="#442">442</a> 	  socket = <strong class="jxr_keyword">new</strong> Socket(address, port);
<a name="443" href="#443">443</a> 	  <strong class="jxr_keyword">synchronized</strong>(<strong class="jxr_keyword">this</strong>) {
<a name="444" href="#444">444</a> 	    oos = <strong class="jxr_keyword">new</strong> ObjectOutputStream(socket.getOutputStream());
<a name="445" href="#445">445</a> 	    connector = <strong class="jxr_keyword">null</strong>;
<a name="446" href="#446">446</a> 	    LogLog.debug(<span class="jxr_string">"Connection established. Exiting connector thread."</span>);
<a name="447" href="#447">447</a> 	    <strong class="jxr_keyword">break</strong>;
<a name="448" href="#448">448</a> 	  }
<a name="449" href="#449">449</a> 	} <strong class="jxr_keyword">catch</strong>(InterruptedException e) {
<a name="450" href="#450">450</a> 	  LogLog.debug(<span class="jxr_string">"Connector interrupted. Leaving loop."</span>);
<a name="451" href="#451">451</a> 	  <strong class="jxr_keyword">return</strong>;
<a name="452" href="#452">452</a> 	} <strong class="jxr_keyword">catch</strong>(java.net.ConnectException e) {
<a name="453" href="#453">453</a> 	  LogLog.debug(<span class="jxr_string">"Remote host "</span>+address.getHostName()
<a name="454" href="#454">454</a> 		       +<span class="jxr_string">" refused connection."</span>);
<a name="455" href="#455">455</a> 	} <strong class="jxr_keyword">catch</strong>(IOException e) {
<a name="456" href="#456">456</a>         <strong class="jxr_keyword">if</strong> (e instanceof InterruptedIOException) {
<a name="457" href="#457">457</a>             Thread.currentThread().interrupt();
<a name="458" href="#458">458</a>         }
<a name="459" href="#459">459</a> 	    LogLog.debug(<span class="jxr_string">"Could not connect to "</span> + address.getHostName()+
<a name="460" href="#460">460</a> 		       <span class="jxr_string">". Exception is "</span> + e);
<a name="461" href="#461">461</a> 	}
<a name="462" href="#462">462</a>       }
<a name="463" href="#463">463</a>       <em class="jxr_comment">//LogLog.debug("Exiting Connector.run() method.");</em>
<a name="464" href="#464">464</a>     }
<a name="465" href="#465">465</a> 
<a name="466" href="#466">466</a>     <em class="jxr_javadoccomment">/**</em>
<a name="467" href="#467">467</a> <em class="jxr_javadoccomment">       public</em>
<a name="468" href="#468">468</a> <em class="jxr_javadoccomment">       void finalize() {</em>
<a name="469" href="#469">469</a> <em class="jxr_javadoccomment">       LogLog.debug("Connector finalize() has been called.");</em>
<a name="470" href="#470">470</a> <em class="jxr_javadoccomment">       }</em>
<a name="471" href="#471">471</a> <em class="jxr_javadoccomment">    */</em>
<a name="472" href="#472">472</a>   }
<a name="473" href="#473">473</a> 
<a name="474" href="#474">474</a> }
</pre>
<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
</html>

