<!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>AvalonLogChute xref</title>
<link type="text/css" rel="stylesheet" href="../../../../../stylesheet.css" />
</head>
<body>
<div id="overview"><a href="../../../../../../apidocs/org/apache/velocity/runtime/log/AvalonLogChute.html">View Javadoc</a></div><pre>

<a name="1" href="#1">1</a>   <strong class="jxr_keyword">package</strong> org.apache.velocity.runtime.log;
<a name="2" href="#2">2</a>   
<a name="3" href="#3">3</a>   <em class="jxr_comment">/*</em>
<a name="4" href="#4">4</a>   <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one</em>
<a name="5" href="#5">5</a>   <em class="jxr_comment"> * or more contributor license agreements.  See the NOTICE file</em>
<a name="6" href="#6">6</a>   <em class="jxr_comment"> * distributed with this work for additional information</em>
<a name="7" href="#7">7</a>   <em class="jxr_comment"> * regarding copyright ownership.  The ASF licenses this file</em>
<a name="8" href="#8">8</a>   <em class="jxr_comment"> * to you under the Apache License, Version 2.0 (the</em>
<a name="9" href="#9">9</a>   <em class="jxr_comment"> * "License"); you may not use this file except in compliance</em>
<a name="10" href="#10">10</a>  <em class="jxr_comment"> * with the License.  You may obtain a copy of the License at</em>
<a name="11" href="#11">11</a>  <em class="jxr_comment"> *</em>
<a name="12" href="#12">12</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="13" href="#13">13</a>  <em class="jxr_comment"> *</em>
<a name="14" href="#14">14</a>  <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing,</em>
<a name="15" href="#15">15</a>  <em class="jxr_comment"> * software distributed under the License is distributed on an</em>
<a name="16" href="#16">16</a>  <em class="jxr_comment"> * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</em>
<a name="17" href="#17">17</a>  <em class="jxr_comment"> * KIND, either express or implied.  See the License for the</em>
<a name="18" href="#18">18</a>  <em class="jxr_comment"> * specific language governing permissions and limitations</em>
<a name="19" href="#19">19</a>  <em class="jxr_comment"> * under the License.    </em>
<a name="20" href="#20">20</a>  <em class="jxr_comment"> */</em>
<a name="21" href="#21">21</a>  
<a name="22" href="#22">22</a>  <strong class="jxr_keyword">import</strong> java.io.File;
<a name="23" href="#23">23</a>  <strong class="jxr_keyword">import</strong> java.io.IOException;
<a name="24" href="#24">24</a>  <strong class="jxr_keyword">import</strong> java.util.HashMap;
<a name="25" href="#25">25</a>  <strong class="jxr_keyword">import</strong> java.util.Map;
<a name="26" href="#26">26</a>  
<a name="27" href="#27">27</a>  <strong class="jxr_keyword">import</strong> org.apache.commons.lang.StringUtils;
<a name="28" href="#28">28</a>  <strong class="jxr_keyword">import</strong> org.apache.log.Hierarchy;
<a name="29" href="#29">29</a>  <strong class="jxr_keyword">import</strong> org.apache.log.LogTarget;
<a name="30" href="#30">30</a>  <strong class="jxr_keyword">import</strong> org.apache.log.Logger;
<a name="31" href="#31">31</a>  <strong class="jxr_keyword">import</strong> org.apache.log.Priority;
<a name="32" href="#32">32</a>  <strong class="jxr_keyword">import</strong> org.apache.log.output.io.FileTarget;
<a name="33" href="#33">33</a>  <strong class="jxr_keyword">import</strong> org.apache.velocity.runtime.RuntimeConstants;
<a name="34" href="#34">34</a>  <strong class="jxr_keyword">import</strong> org.apache.velocity.runtime.RuntimeServices;
<a name="35" href="#35">35</a>  
<a name="36" href="#36">36</a>  <em class="jxr_javadoccomment">/**</em>
<a name="37" href="#37">37</a>  <em class="jxr_javadoccomment"> * Implementation of a Avalon logger.</em>
<a name="38" href="#38">38</a>  <em class="jxr_javadoccomment"> *</em>
<a name="39" href="#39">39</a>  <em class="jxr_javadoccomment"> * @author &lt;a href="<a href="mailto:jon@latchkey.com" target="alexandria_uri">mailto:jon@latchkey.com</a>"&gt;Jon S. Stevens&lt;/a&gt;</em>
<a name="40" href="#40">40</a>  <em class="jxr_javadoccomment"> * @author &lt;a href="<a href="mailto:geirm@optonline.net" target="alexandria_uri">mailto:geirm@optonline.net</a>"&gt;Geir Magnusson Jr.&lt;/a&gt;</em>
<a name="41" href="#41">41</a>  <em class="jxr_javadoccomment"> * @author &lt;a href="<a href="mailto:nbubna@apache.org" target="alexandria_uri">mailto:nbubna@apache.org</a>"&gt;Nathan Bubna&lt;/a&gt;</em>
<a name="42" href="#42">42</a>  <em class="jxr_javadoccomment"> * @version $Id: AvalonLogChute.java 463300 2006-10-12 16:15:29Z henning $</em>
<a name="43" href="#43">43</a>  <em class="jxr_javadoccomment"> */</em>
<a name="44" href="#44">44</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../org/apache/velocity/runtime/log/AvalonLogChute.html">AvalonLogChute</a> implements <a href="../../../../../org/apache/velocity/runtime/log/LogChute.html">LogChute</a>
<a name="45" href="#45">45</a>  {
<a name="46" href="#46">46</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String AVALON_LOGGER = <span class="jxr_string">"runtime.log.logsystem.avalon.logger"</span>;
<a name="47" href="#47">47</a>   
<a name="48" href="#48">48</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String AVALON_LOGGER_FORMAT = <span class="jxr_string">"runtime.log.logsystem.avalon.format"</span>;
<a name="49" href="#49">49</a>      
<a name="50" href="#50">50</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String AVALON_LOGGER_LEVEL = <span class="jxr_string">"runtime.log.logsystem.avalon.level"</span>;
<a name="51" href="#51">51</a>  
<a name="52" href="#52">52</a>      <strong class="jxr_keyword">private</strong> Logger logger = <strong class="jxr_keyword">null</strong>;
<a name="53" href="#53">53</a>      <strong class="jxr_keyword">private</strong> <a href="../../../../../org/apache/velocity/runtime/RuntimeServices.html">RuntimeServices</a> rsvc = <strong class="jxr_keyword">null</strong>;
<a name="54" href="#54">54</a>      
<a name="55" href="#55">55</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> Map logLevels = <strong class="jxr_keyword">new</strong> HashMap();
<a name="56" href="#56">56</a>      
<a name="57" href="#57">57</a>      <strong class="jxr_keyword">static</strong>
<a name="58" href="#58">58</a>      {
<a name="59" href="#59">59</a>          logLevels.put(<span class="jxr_string">"trace"</span>, Priority.DEBUG);
<a name="60" href="#60">60</a>          logLevels.put(<span class="jxr_string">"debug"</span>, Priority.DEBUG);
<a name="61" href="#61">61</a>          logLevels.put(<span class="jxr_string">"info"</span>, Priority.INFO);
<a name="62" href="#62">62</a>          logLevels.put(<span class="jxr_string">"warn"</span>, Priority.WARN);
<a name="63" href="#63">63</a>          logLevels.put(<span class="jxr_string">"error"</span>, Priority.ERROR);
<a name="64" href="#64">64</a>      }
<a name="65" href="#65">65</a>  
<a name="66" href="#66">66</a>      <em class="jxr_javadoccomment">/**</em>
<a name="67" href="#67">67</a>  <em class="jxr_javadoccomment">     * @see org.apache.velocity.runtime.log.LogChute#init(org.apache.velocity.runtime.RuntimeServices)</em>
<a name="68" href="#68">68</a>  <em class="jxr_javadoccomment">     */</em>
<a name="69" href="#69">69</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> init(<a href="../../../../../org/apache/velocity/runtime/RuntimeServices.html">RuntimeServices</a> rs) <strong class="jxr_keyword">throws</strong> Exception
<a name="70" href="#70">70</a>      {
<a name="71" href="#71">71</a>          <strong class="jxr_keyword">this</strong>.rsvc = rs;
<a name="72" href="#72">72</a>  
<a name="73" href="#73">73</a>          <em class="jxr_comment">// if a logger is specified, we will use this instead of the default</em>
<a name="74" href="#74">74</a>          String name = (String)rsvc.getProperty(AVALON_LOGGER);
<a name="75" href="#75">75</a>          <strong class="jxr_keyword">if</strong> (name != <strong class="jxr_keyword">null</strong>)
<a name="76" href="#76">76</a>          {
<a name="77" href="#77">77</a>              <strong class="jxr_keyword">this</strong>.logger = Hierarchy.getDefaultHierarchy().getLoggerFor(name);
<a name="78" href="#78">78</a>          }
<a name="79" href="#79">79</a>          <strong class="jxr_keyword">else</strong>
<a name="80" href="#80">80</a>          {
<a name="81" href="#81">81</a>              <em class="jxr_comment">// use the toString() of RuntimeServices to make a unique logger</em>
<a name="82" href="#82">82</a>              logger = Hierarchy.getDefaultHierarchy().getLoggerFor(rsvc.toString());
<a name="83" href="#83">83</a>  
<a name="84" href="#84">84</a>              <em class="jxr_comment">// if we have a file property, use it to create a FileTarget</em>
<a name="85" href="#85">85</a>              String file = (String)rsvc.getProperty(RuntimeConstants.RUNTIME_LOG);
<a name="86" href="#86">86</a>              <strong class="jxr_keyword">if</strong> (StringUtils.isNotEmpty(file))
<a name="87" href="#87">87</a>              {
<a name="88" href="#88">88</a>                  initTarget(file, rsvc);
<a name="89" href="#89">89</a>              }
<a name="90" href="#90">90</a>          }
<a name="91" href="#91">91</a>      }
<a name="92" href="#92">92</a>  
<a name="93" href="#93">93</a>      <em class="jxr_comment">// creates a file target using the specified file name</em>
<a name="94" href="#94">94</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> initTarget(<strong class="jxr_keyword">final</strong> String file, <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/velocity/runtime/RuntimeServices.html">RuntimeServices</a> rsvc) <strong class="jxr_keyword">throws</strong> Exception
<a name="95" href="#95">95</a>      {
<a name="96" href="#96">96</a>          <strong class="jxr_keyword">try</strong>
<a name="97" href="#97">97</a>          {
<a name="98" href="#98">98</a>              String format = <strong class="jxr_keyword">null</strong>;
<a name="99" href="#99">99</a>              Priority level = <strong class="jxr_keyword">null</strong>;
<a name="100" href="#100">100</a>             <strong class="jxr_keyword">if</strong> (rsvc != <strong class="jxr_keyword">null</strong>)
<a name="101" href="#101">101</a>             {
<a name="102" href="#102">102</a>                 format = rsvc.getString(AVALON_LOGGER_FORMAT, <span class="jxr_string">"%{time} %{message}&#92;&#92;n%{throwable}"</span>);
<a name="103" href="#103">103</a>                 level = (Priority) logLevels.get(rsvc.getString(AVALON_LOGGER_LEVEL, <span class="jxr_string">"debug"</span>));
<a name="104" href="#104">104</a>             }
<a name="105" href="#105">105</a> 
<a name="106" href="#106">106</a>             <a href="../../../../../org/apache/velocity/runtime/log/VelocityFormatter.html">VelocityFormatter</a> vf = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/velocity/runtime/log/VelocityFormatter.html">VelocityFormatter</a>(format);
<a name="107" href="#107">107</a> 
<a name="108" href="#108">108</a>             <em class="jxr_comment">// make the target and keep the default behavior of not appending</em>
<a name="109" href="#109">109</a>             FileTarget target = <strong class="jxr_keyword">new</strong> FileTarget(<strong class="jxr_keyword">new</strong> File(file), false, vf);
<a name="110" href="#110">110</a> 
<a name="111" href="#111">111</a>             logger.setPriority(level);
<a name="112" href="#112">112</a>             logger.setLogTargets(<strong class="jxr_keyword">new</strong> LogTarget[] { target });
<a name="113" href="#113">113</a>             log(DEBUG_ID, <span class="jxr_string">"AvalonLogChute initialized using file '"</span>+file+'\'');
<a name="114" href="#114">114</a>         }
<a name="115" href="#115">115</a>         <strong class="jxr_keyword">catch</strong> (IOException ioe)
<a name="116" href="#116">116</a>         {
<a name="117" href="#117">117</a>             rsvc.getLog().warn(<span class="jxr_string">"Unable to create log file for AvalonLogChute"</span>, ioe);
<a name="118" href="#118">118</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> Exception(<span class="jxr_string">"Error configuring AvalonLogChute : "</span> + ioe);
<a name="119" href="#119">119</a>         }
<a name="120" href="#120">120</a>     }
<a name="121" href="#121">121</a> 
<a name="122" href="#122">122</a>     <em class="jxr_javadoccomment">/**</em>
<a name="123" href="#123">123</a> <em class="jxr_javadoccomment">     * @param file</em>
<a name="124" href="#124">124</a> <em class="jxr_javadoccomment">     * @throws Exception</em>
<a name="125" href="#125">125</a> <em class="jxr_javadoccomment">     * @deprecated This method should not be used. It is here only to provide</em>
<a name="126" href="#126">126</a> <em class="jxr_javadoccomment">     *             backwards compatibility for the deprecated AvalonLogSystem</em>
<a name="127" href="#127">127</a> <em class="jxr_javadoccomment">     *             class, in case anyone used it and this method directly.</em>
<a name="128" href="#128">128</a> <em class="jxr_javadoccomment">     */</em>
<a name="129" href="#129">129</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> init(String file) <strong class="jxr_keyword">throws</strong> Exception
<a name="130" href="#130">130</a>     {
<a name="131" href="#131">131</a>         logger = Hierarchy.getDefaultHierarchy().getLoggerFor(rsvc.toString());
<a name="132" href="#132">132</a>         initTarget(file, <strong class="jxr_keyword">null</strong>);
<a name="133" href="#133">133</a>         <em class="jxr_comment">// nag the theoretical user</em>
<a name="134" href="#134">134</a>         log(WARN_ID, <span class="jxr_string">"You shouldn't be using the init(String file) method!"</span>);
<a name="135" href="#135">135</a>     }
<a name="136" href="#136">136</a> 
<a name="137" href="#137">137</a>     <em class="jxr_javadoccomment">/**</em>
<a name="138" href="#138">138</a> <em class="jxr_javadoccomment">     *  logs messages</em>
<a name="139" href="#139">139</a> <em class="jxr_javadoccomment">     *</em>
<a name="140" href="#140">140</a> <em class="jxr_javadoccomment">     *  @param level severity level</em>
<a name="141" href="#141">141</a> <em class="jxr_javadoccomment">     *  @param message complete error message</em>
<a name="142" href="#142">142</a> <em class="jxr_javadoccomment">     */</em>
<a name="143" href="#143">143</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> log(<strong class="jxr_keyword">int</strong> level, String message)
<a name="144" href="#144">144</a>     {
<a name="145" href="#145">145</a>         <em class="jxr_comment">/*</em>
<a name="146" href="#146">146</a> <em class="jxr_comment">         * based on level, call the right logger method</em>
<a name="147" href="#147">147</a> <em class="jxr_comment">         * and prefix with the appropos prefix</em>
<a name="148" href="#148">148</a> <em class="jxr_comment">         */</em>
<a name="149" href="#149">149</a>         <strong class="jxr_keyword">switch</strong> (level)
<a name="150" href="#150">150</a>         {
<a name="151" href="#151">151</a>             <strong class="jxr_keyword">case</strong> WARN_ID:
<a name="152" href="#152">152</a>                 logger.warn(WARN_PREFIX + message );
<a name="153" href="#153">153</a>                 <strong class="jxr_keyword">break</strong>;
<a name="154" href="#154">154</a>             <strong class="jxr_keyword">case</strong> INFO_ID:
<a name="155" href="#155">155</a>                 logger.info(INFO_PREFIX + message);
<a name="156" href="#156">156</a>                 <strong class="jxr_keyword">break</strong>;
<a name="157" href="#157">157</a>             <strong class="jxr_keyword">case</strong> DEBUG_ID:
<a name="158" href="#158">158</a>                 logger.debug(DEBUG_PREFIX + message);
<a name="159" href="#159">159</a>                 <strong class="jxr_keyword">break</strong>;
<a name="160" href="#160">160</a>             <strong class="jxr_keyword">case</strong> TRACE_ID:
<a name="161" href="#161">161</a>                 logger.debug(TRACE_PREFIX + message);
<a name="162" href="#162">162</a>                 <strong class="jxr_keyword">break</strong>;
<a name="163" href="#163">163</a>             <strong class="jxr_keyword">case</strong> ERROR_ID:
<a name="164" href="#164">164</a>                 logger.error(ERROR_PREFIX + message);
<a name="165" href="#165">165</a>                 <strong class="jxr_keyword">break</strong>;
<a name="166" href="#166">166</a>             <strong class="jxr_keyword">default</strong>:
<a name="167" href="#167">167</a>                 logger.info(message);
<a name="168" href="#168">168</a>                 <strong class="jxr_keyword">break</strong>;
<a name="169" href="#169">169</a>         }
<a name="170" href="#170">170</a>     }
<a name="171" href="#171">171</a> 
<a name="172" href="#172">172</a>     <em class="jxr_javadoccomment">/**</em>
<a name="173" href="#173">173</a> <em class="jxr_javadoccomment">     *  logs messages and error</em>
<a name="174" href="#174">174</a> <em class="jxr_javadoccomment">     *</em>
<a name="175" href="#175">175</a> <em class="jxr_javadoccomment">     *  @param level severity level</em>
<a name="176" href="#176">176</a> <em class="jxr_javadoccomment">     *  @param message complete error message</em>
<a name="177" href="#177">177</a> <em class="jxr_javadoccomment">     * @param t</em>
<a name="178" href="#178">178</a> <em class="jxr_javadoccomment">     */</em>
<a name="179" href="#179">179</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> log(<strong class="jxr_keyword">int</strong> level, String message, Throwable t)
<a name="180" href="#180">180</a>     {
<a name="181" href="#181">181</a>         <strong class="jxr_keyword">switch</strong> (level)
<a name="182" href="#182">182</a>         {
<a name="183" href="#183">183</a>             <strong class="jxr_keyword">case</strong> WARN_ID:
<a name="184" href="#184">184</a>                 logger.warn(WARN_PREFIX + message, t);
<a name="185" href="#185">185</a>                 <strong class="jxr_keyword">break</strong>;
<a name="186" href="#186">186</a>             <strong class="jxr_keyword">case</strong> INFO_ID:
<a name="187" href="#187">187</a>                 logger.info(INFO_PREFIX + message, t);
<a name="188" href="#188">188</a>                 <strong class="jxr_keyword">break</strong>;
<a name="189" href="#189">189</a>             <strong class="jxr_keyword">case</strong> DEBUG_ID:
<a name="190" href="#190">190</a>                 logger.debug(DEBUG_PREFIX + message, t);
<a name="191" href="#191">191</a>                 <strong class="jxr_keyword">break</strong>;
<a name="192" href="#192">192</a>             <strong class="jxr_keyword">case</strong> TRACE_ID:
<a name="193" href="#193">193</a>                 logger.debug(TRACE_PREFIX + message, t);
<a name="194" href="#194">194</a>                 <strong class="jxr_keyword">break</strong>;
<a name="195" href="#195">195</a>             <strong class="jxr_keyword">case</strong> ERROR_ID:
<a name="196" href="#196">196</a>                 logger.error(ERROR_PREFIX + message, t);
<a name="197" href="#197">197</a>                 <strong class="jxr_keyword">break</strong>;
<a name="198" href="#198">198</a>             <strong class="jxr_keyword">default</strong>:
<a name="199" href="#199">199</a>                 logger.info(message, t);
<a name="200" href="#200">200</a>                 <strong class="jxr_keyword">break</strong>;
<a name="201" href="#201">201</a>         }
<a name="202" href="#202">202</a>     }
<a name="203" href="#203">203</a> 
<a name="204" href="#204">204</a>     <em class="jxr_javadoccomment">/**</em>
<a name="205" href="#205">205</a> <em class="jxr_javadoccomment">     * Checks to see whether the specified level is enabled.</em>
<a name="206" href="#206">206</a> <em class="jxr_javadoccomment">     * @param level</em>
<a name="207" href="#207">207</a> <em class="jxr_javadoccomment">     * @return True if the specified level is enabled.</em>
<a name="208" href="#208">208</a> <em class="jxr_javadoccomment">     */</em>
<a name="209" href="#209">209</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> isLevelEnabled(<strong class="jxr_keyword">int</strong> level)
<a name="210" href="#210">210</a>     {
<a name="211" href="#211">211</a>         <strong class="jxr_keyword">switch</strong> (level)
<a name="212" href="#212">212</a>         {
<a name="213" href="#213">213</a>             <em class="jxr_comment">// For Avalon, no Trace exists. Log at debug level.</em>
<a name="214" href="#214">214</a>             <strong class="jxr_keyword">case</strong> TRACE_ID:
<a name="215" href="#215">215</a>             <strong class="jxr_keyword">case</strong> DEBUG_ID:
<a name="216" href="#216">216</a>                 <strong class="jxr_keyword">return</strong> logger.isDebugEnabled();
<a name="217" href="#217">217</a>             <strong class="jxr_keyword">case</strong> INFO_ID:
<a name="218" href="#218">218</a>                 <strong class="jxr_keyword">return</strong> logger.isInfoEnabled();
<a name="219" href="#219">219</a>             <strong class="jxr_keyword">case</strong> WARN_ID:
<a name="220" href="#220">220</a>                 <strong class="jxr_keyword">return</strong> logger.isWarnEnabled();
<a name="221" href="#221">221</a>             <strong class="jxr_keyword">case</strong> ERROR_ID:
<a name="222" href="#222">222</a>                 <strong class="jxr_keyword">return</strong> logger.isErrorEnabled();
<a name="223" href="#223">223</a>             <strong class="jxr_keyword">default</strong>:
<a name="224" href="#224">224</a>                 <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a name="225" href="#225">225</a>         }
<a name="226" href="#226">226</a>     }
<a name="227" href="#227">227</a> 
<a name="228" href="#228">228</a>     <em class="jxr_javadoccomment">/**</em>
<a name="229" href="#229">229</a> <em class="jxr_javadoccomment">     * Also do a shutdown if the object is destroy()'d.</em>
<a name="230" href="#230">230</a> <em class="jxr_javadoccomment">     * @throws Throwable</em>
<a name="231" href="#231">231</a> <em class="jxr_javadoccomment">     */</em>
<a name="232" href="#232">232</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> finalize() <strong class="jxr_keyword">throws</strong> Throwable
<a name="233" href="#233">233</a>     {
<a name="234" href="#234">234</a>         shutdown();
<a name="235" href="#235">235</a>     }
<a name="236" href="#236">236</a> 
<a name="237" href="#237">237</a>     <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> Close all destinations*/</em>
<a name="238" href="#238">238</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> shutdown()
<a name="239" href="#239">239</a>     {
<a name="240" href="#240">240</a>         logger.unsetLogTargets();
<a name="241" href="#241">241</a>     }
<a name="242" href="#242">242</a> 
<a name="243" href="#243">243</a> }
</pre>
<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
</html>

