<!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>PropertyConfigurator xref</title>
<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
</head>
<body>
<div id="overview"><a href="../../../../apidocs/org/apache/log4j/PropertyConfigurator.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>  
<a name="19" href="#19">19</a>  <em class="jxr_comment">// Contibutors: "Luke Blanshard" &lt;Luke@quiq.com&gt;</em>
<a name="20" href="#20">20</a>  <em class="jxr_comment">//              "Mark DONSZELMANN" &lt;Mark.Donszelmann@cern.ch&gt;</em>
<a name="21" href="#21">21</a>  <em class="jxr_comment">//               Anders Kristensen &lt;akristensen@dynamicsoft.com&gt;</em>
<a name="22" href="#22">22</a>  
<a name="23" href="#23">23</a>  <strong class="jxr_keyword">package</strong> org.apache.log4j;
<a name="24" href="#24">24</a>  
<a name="25" href="#25">25</a>  <strong class="jxr_keyword">import</strong> java.io.FileInputStream;
<a name="26" href="#26">26</a>  <strong class="jxr_keyword">import</strong> java.io.IOException;
<a name="27" href="#27">27</a>  <strong class="jxr_keyword">import</strong> java.io.InputStream;
<a name="28" href="#28">28</a>  <strong class="jxr_keyword">import</strong> java.io.InterruptedIOException;
<a name="29" href="#29">29</a>  <strong class="jxr_keyword">import</strong> java.net.URLConnection;
<a name="30" href="#30">30</a>  <strong class="jxr_keyword">import</strong> java.util.Enumeration;
<a name="31" href="#31">31</a>  <strong class="jxr_keyword">import</strong> java.util.Hashtable;
<a name="32" href="#32">32</a>  <strong class="jxr_keyword">import</strong> java.util.Properties;
<a name="33" href="#33">33</a>  <strong class="jxr_keyword">import</strong> java.util.StringTokenizer;
<a name="34" href="#34">34</a>  <strong class="jxr_keyword">import</strong> java.util.Vector;
<a name="35" href="#35">35</a>  <strong class="jxr_keyword">import</strong> java.util.Iterator;
<a name="36" href="#36">36</a>  <strong class="jxr_keyword">import</strong> java.util.Map;
<a name="37" href="#37">37</a>  
<a name="38" href="#38">38</a>  <strong class="jxr_keyword">import</strong> org.apache.log4j.config.PropertySetter;
<a name="39" href="#39">39</a>  <strong class="jxr_keyword">import</strong> org.apache.log4j.helpers.FileWatchdog;
<a name="40" href="#40">40</a>  <strong class="jxr_keyword">import</strong> org.apache.log4j.helpers.LogLog;
<a name="41" href="#41">41</a>  <strong class="jxr_keyword">import</strong> org.apache.log4j.helpers.OptionConverter;
<a name="42" href="#42">42</a>  <strong class="jxr_keyword">import</strong> org.apache.log4j.or.RendererMap;
<a name="43" href="#43">43</a>  <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.Configurator;
<a name="44" href="#44">44</a>  <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.Filter;
<a name="45" href="#45">45</a>  <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggerFactory;
<a name="46" href="#46">46</a>  <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggerRepository;
<a name="47" href="#47">47</a>  <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.OptionHandler;
<a name="48" href="#48">48</a>  <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.RendererSupport;
<a name="49" href="#49">49</a>  <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.ThrowableRenderer;
<a name="50" href="#50">50</a>  <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.ThrowableRendererSupport;
<a name="51" href="#51">51</a>  <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.ErrorHandler;
<a name="52" href="#52">52</a>  
<a name="53" href="#53">53</a>  <em class="jxr_javadoccomment">/**</em>
<a name="54" href="#54">54</a>  <em class="jxr_javadoccomment">   Allows the configuration of log4j from an external file.  See</em>
<a name="55" href="#55">55</a>  <em class="jxr_javadoccomment">   &lt;b&gt;{@link #doConfigure(String, LoggerRepository)}&lt;/b&gt; for the</em>
<a name="56" href="#56">56</a>  <em class="jxr_javadoccomment">   expected format.</em>
<a name="57" href="#57">57</a>  
<a name="58" href="#58">58</a>  <em class="jxr_javadoccomment">   &lt;p&gt;It is sometimes useful to see how log4j is reading configuration</em>
<a name="59" href="#59">59</a>  <em class="jxr_javadoccomment">   files. You can enable log4j internal logging by defining the</em>
<a name="60" href="#60">60</a>  <em class="jxr_javadoccomment">   &lt;b&gt;log4j.debug&lt;/b&gt; variable.</em>
<a name="61" href="#61">61</a>  
<a name="62" href="#62">62</a>  <em class="jxr_javadoccomment">   &lt;P&gt;As of log4j version 0.8.5, at class initialization time class,</em>
<a name="63" href="#63">63</a>  <em class="jxr_javadoccomment">   the file &lt;b&gt;log4j.properties&lt;/b&gt; will be searched from the search</em>
<a name="64" href="#64">64</a>  <em class="jxr_javadoccomment">   path used to load classes. If the file can be found, then it will</em>
<a name="65" href="#65">65</a>  <em class="jxr_javadoccomment">   be fed to the {@link PropertyConfigurator#configure(java.net.URL)}</em>
<a name="66" href="#66">66</a>  <em class="jxr_javadoccomment">   method.</em>
<a name="67" href="#67">67</a>  
<a name="68" href="#68">68</a>  <em class="jxr_javadoccomment">   &lt;p&gt;The &lt;code&gt;PropertyConfigurator&lt;/code&gt; does not handle the</em>
<a name="69" href="#69">69</a>  <em class="jxr_javadoccomment">   advanced configuration features supported by the {@link</em>
<a name="70" href="#70">70</a>  <em class="jxr_javadoccomment">   org.apache.log4j.xml.DOMConfigurator DOMConfigurator} such as</em>
<a name="71" href="#71">71</a>  <em class="jxr_javadoccomment">   support custom {@link org.apache.log4j.spi.ErrorHandler ErrorHandlers},</em>
<a name="72" href="#72">72</a>  <em class="jxr_javadoccomment">   nested appenders such as the {@link org.apache.log4j.AsyncAppender</em>
<a name="73" href="#73">73</a>  <em class="jxr_javadoccomment">   AsyncAppender}, etc.</em>
<a name="74" href="#74">74</a>  
<a name="75" href="#75">75</a>  <em class="jxr_javadoccomment">   &lt;p&gt;All option &lt;em&gt;values&lt;/em&gt; admit variable substitution. The</em>
<a name="76" href="#76">76</a>  <em class="jxr_javadoccomment">   syntax of variable substitution is similar to that of Unix</em>
<a name="77" href="#77">77</a>  <em class="jxr_javadoccomment">   shells. The string between an opening &lt;b&gt;&amp;quot;${&amp;quot;&lt;/b&gt; and</em>
<a name="78" href="#78">78</a>  <em class="jxr_javadoccomment">   closing &lt;b&gt;&amp;quot;}&amp;quot;&lt;/b&gt; is interpreted as a key. The value of</em>
<a name="79" href="#79">79</a>  <em class="jxr_javadoccomment">   the substituted variable can be defined as a system property or in</em>
<a name="80" href="#80">80</a>  <em class="jxr_javadoccomment">   the configuration file itself. The value of the key is first</em>
<a name="81" href="#81">81</a>  <em class="jxr_javadoccomment">   searched in the system properties, and if not found there, it is</em>
<a name="82" href="#82">82</a>  <em class="jxr_javadoccomment">   then searched in the configuration file being parsed.  The</em>
<a name="83" href="#83">83</a>  <em class="jxr_javadoccomment">   corresponding value replaces the ${variableName} sequence. For</em>
<a name="84" href="#84">84</a>  <em class="jxr_javadoccomment">   example, if &lt;code&gt;java.home&lt;/code&gt; system property is set to</em>
<a name="85" href="#85">85</a>  <em class="jxr_javadoccomment">   &lt;code&gt;/home/xyz&lt;/code&gt;, then every occurrence of the sequence</em>
<a name="86" href="#86">86</a>  <em class="jxr_javadoccomment">   &lt;code&gt;${java.home}&lt;/code&gt; will be interpreted as</em>
<a name="87" href="#87">87</a>  <em class="jxr_javadoccomment">   &lt;code&gt;/home/xyz&lt;/code&gt;.</em>
<a name="88" href="#88">88</a>  
<a name="89" href="#89">89</a>  
<a name="90" href="#90">90</a>  <em class="jxr_javadoccomment">   @author Ceki G&amp;uuml;lc&amp;uuml;</em>
<a name="91" href="#91">91</a>  <em class="jxr_javadoccomment">   @author Anders Kristensen</em>
<a name="92" href="#92">92</a>  <em class="jxr_javadoccomment">   @since 0.8.1 */</em>
<a name="93" href="#93">93</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../org/apache/log4j/PropertyConfigurator.html">PropertyConfigurator</a> implements <a href="../../../org/apache/log4j/spi/Configurator.html">Configurator</a> {
<a name="94" href="#94">94</a>  
<a name="95" href="#95">95</a>    <em class="jxr_javadoccomment">/**</em>
<a name="96" href="#96">96</a>  <em class="jxr_javadoccomment">     Used internally to keep track of configured appenders.</em>
<a name="97" href="#97">97</a>  <em class="jxr_javadoccomment">   */</em>
<a name="98" href="#98">98</a>    <strong class="jxr_keyword">protected</strong> Hashtable registry = <strong class="jxr_keyword">new</strong> Hashtable(11);  
<a name="99" href="#99">99</a>    <strong class="jxr_keyword">private</strong> <a href="../../../org/apache/log4j/spi/LoggerRepository.html">LoggerRepository</a> repository;
<a name="100" href="#100">100</a>   <strong class="jxr_keyword">protected</strong> <a href="../../../org/apache/log4j/spi/LoggerFactory.html">LoggerFactory</a> loggerFactory = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/DefaultCategoryFactory.html">DefaultCategoryFactory</a>();
<a name="101" href="#101">101</a> 
<a name="102" href="#102">102</a>   <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String      CATEGORY_PREFIX = <span class="jxr_string">"log4j.category."</span>;
<a name="103" href="#103">103</a>   <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String      LOGGER_PREFIX   = <span class="jxr_string">"log4j.logger."</span>;
<a name="104" href="#104">104</a>   <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String       FACTORY_PREFIX = <span class="jxr_string">"log4j.factory"</span>;
<a name="105" href="#105">105</a>   <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String    ADDITIVITY_PREFIX = <span class="jxr_string">"log4j.additivity."</span>;
<a name="106" href="#106">106</a>   <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String ROOT_CATEGORY_PREFIX = <span class="jxr_string">"log4j.rootCategory"</span>;
<a name="107" href="#107">107</a>   <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String ROOT_LOGGER_PREFIX   = <span class="jxr_string">"log4j.rootLogger"</span>;
<a name="108" href="#108">108</a>   <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String      APPENDER_PREFIX = <span class="jxr_string">"log4j.appender."</span>;
<a name="109" href="#109">109</a>   <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String      RENDERER_PREFIX = <span class="jxr_string">"log4j.renderer."</span>;
<a name="110" href="#110">110</a>   <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String      THRESHOLD_PREFIX = <span class="jxr_string">"log4j.threshold"</span>;
<a name="111" href="#111">111</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String      THROWABLE_RENDERER_PREFIX = <span class="jxr_string">"log4j.throwableRenderer"</span>;
<a name="112" href="#112">112</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String LOGGER_REF	= <span class="jxr_string">"logger-ref"</span>;
<a name="113" href="#113">113</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String ROOT_REF		= <span class="jxr_string">"root-ref"</span>;
<a name="114" href="#114">114</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String APPENDER_REF_TAG 	= <span class="jxr_string">"appender-ref"</span>;  
<a name="115" href="#115">115</a>   
<a name="116" href="#116">116</a> 
<a name="117" href="#117">117</a>   <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> Key for specifying the {@link org.apache.log4j.spi.LoggerFactory</em>
<a name="118" href="#118">118</a> <em class="jxr_javadoccomment">      LoggerFactory}.  Currently set to "&lt;code&gt;log4j.loggerFactory&lt;/code&gt;".  */</em>
<a name="119" href="#119">119</a>   <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String LOGGER_FACTORY_KEY = <span class="jxr_string">"log4j.loggerFactory"</span>;
<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">     * If property set to true, then hierarchy will be reset before configuration.</em>
<a name="123" href="#123">123</a> <em class="jxr_javadoccomment">     */</em>
<a name="124" href="#124">124</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String RESET_KEY = <span class="jxr_string">"log4j.reset"</span>;
<a name="125" href="#125">125</a> 
<a name="126" href="#126">126</a>   <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">private</strong> String INTERNAL_ROOT_NAME = <span class="jxr_string">"root"</span>;
<a name="127" href="#127">127</a> 
<a name="128" href="#128">128</a>   <em class="jxr_javadoccomment">/**</em>
<a name="129" href="#129">129</a> <em class="jxr_javadoccomment">    Read configuration from a file. &lt;b&gt;The existing configuration is</em>
<a name="130" href="#130">130</a> <em class="jxr_javadoccomment">    not cleared nor reset.&lt;/b&gt; If you require a different behavior,</em>
<a name="131" href="#131">131</a> <em class="jxr_javadoccomment">    then call {@link  LogManager#resetConfiguration</em>
<a name="132" href="#132">132</a> <em class="jxr_javadoccomment">    resetConfiguration} method before calling</em>
<a name="133" href="#133">133</a> <em class="jxr_javadoccomment">    &lt;code&gt;doConfigure&lt;/code&gt;.</em>
<a name="134" href="#134">134</a> 
<a name="135" href="#135">135</a> <em class="jxr_javadoccomment">    &lt;p&gt;The configuration file consists of statements in the format</em>
<a name="136" href="#136">136</a> <em class="jxr_javadoccomment">    &lt;code&gt;key=value&lt;/code&gt;. The syntax of different configuration</em>
<a name="137" href="#137">137</a> <em class="jxr_javadoccomment">    elements are discussed below.</em>
<a name="138" href="#138">138</a> 
<a name="139" href="#139">139</a> <em class="jxr_javadoccomment">    &lt;h3&gt;Repository-wide threshold&lt;/h3&gt;</em>
<a name="140" href="#140">140</a> 
<a name="141" href="#141">141</a> <em class="jxr_javadoccomment">    &lt;p&gt;The repository-wide threshold filters logging requests by level</em>
<a name="142" href="#142">142</a> <em class="jxr_javadoccomment">    regardless of logger. The syntax is:</em>
<a name="143" href="#143">143</a> 
<a name="144" href="#144">144</a> <em class="jxr_javadoccomment">    &lt;pre&gt;</em>
<a name="145" href="#145">145</a> <em class="jxr_javadoccomment">    log4j.threshold=[level]</em>
<a name="146" href="#146">146</a> <em class="jxr_javadoccomment">    &lt;/pre&gt;</em>
<a name="147" href="#147">147</a> 
<a name="148" href="#148">148</a> <em class="jxr_javadoccomment">    &lt;p&gt;The level value can consist of the string values OFF, FATAL,</em>
<a name="149" href="#149">149</a> <em class="jxr_javadoccomment">    ERROR, WARN, INFO, DEBUG, ALL or a &lt;em&gt;custom level&lt;/em&gt; value. A</em>
<a name="150" href="#150">150</a> <em class="jxr_javadoccomment">    custom level value can be specified in the form</em>
<a name="151" href="#151">151</a> <em class="jxr_javadoccomment">    level#classname. By default the repository-wide threshold is set</em>
<a name="152" href="#152">152</a> <em class="jxr_javadoccomment">    to the lowest possible value, namely the level &lt;code&gt;ALL&lt;/code&gt;.</em>
<a name="153" href="#153">153</a> <em class="jxr_javadoccomment">    &lt;/p&gt;</em>
<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">    &lt;h3&gt;Appender configuration&lt;/h3&gt;</em>
<a name="157" href="#157">157</a> 
<a name="158" href="#158">158</a> <em class="jxr_javadoccomment">    &lt;p&gt;Appender configuration syntax is:</em>
<a name="159" href="#159">159</a> <em class="jxr_javadoccomment">    &lt;pre&gt;</em>
<a name="160" href="#160">160</a> <em class="jxr_javadoccomment">    # For appender named &lt;i&gt;appenderName&lt;/i&gt;, set its class.</em>
<a name="161" href="#161">161</a> <em class="jxr_javadoccomment">    # Note: The appender name can contain dots.</em>
<a name="162" href="#162">162</a> <em class="jxr_javadoccomment">    log4j.appender.appenderName=fully.qualified.name.of.appender.class</em>
<a name="163" href="#163">163</a> 
<a name="164" href="#164">164</a> <em class="jxr_javadoccomment">    # Set appender specific options.</em>
<a name="165" href="#165">165</a> <em class="jxr_javadoccomment">    log4j.appender.appenderName.option1=value1</em>
<a name="166" href="#166">166</a> <em class="jxr_javadoccomment">    ...</em>
<a name="167" href="#167">167</a> <em class="jxr_javadoccomment">    log4j.appender.appenderName.optionN=valueN</em>
<a name="168" href="#168">168</a> <em class="jxr_javadoccomment">    &lt;/pre&gt;</em>
<a name="169" href="#169">169</a> 
<a name="170" href="#170">170</a> <em class="jxr_javadoccomment">    For each named appender you can configure its {@link Layout}. The</em>
<a name="171" href="#171">171</a> <em class="jxr_javadoccomment">    syntax for configuring an appender's layout is:</em>
<a name="172" href="#172">172</a> <em class="jxr_javadoccomment">    &lt;pre&gt;</em>
<a name="173" href="#173">173</a> <em class="jxr_javadoccomment">    log4j.appender.appenderName.layout=fully.qualified.name.of.layout.class</em>
<a name="174" href="#174">174</a> <em class="jxr_javadoccomment">    log4j.appender.appenderName.layout.option1=value1</em>
<a name="175" href="#175">175</a> <em class="jxr_javadoccomment">    ....</em>
<a name="176" href="#176">176</a> <em class="jxr_javadoccomment">    log4j.appender.appenderName.layout.optionN=valueN</em>
<a name="177" href="#177">177</a> <em class="jxr_javadoccomment">    &lt;/pre&gt;</em>
<a name="178" href="#178">178</a> 
<a name="179" href="#179">179</a> <em class="jxr_javadoccomment">    The syntax for adding {@link Filter}s to an appender is:</em>
<a name="180" href="#180">180</a> <em class="jxr_javadoccomment">    &lt;pre&gt;</em>
<a name="181" href="#181">181</a> <em class="jxr_javadoccomment">    log4j.appender.appenderName.filter.ID=fully.qualified.name.of.filter.class</em>
<a name="182" href="#182">182</a> <em class="jxr_javadoccomment">    log4j.appender.appenderName.filter.ID.option1=value1</em>
<a name="183" href="#183">183</a> <em class="jxr_javadoccomment">    ...</em>
<a name="184" href="#184">184</a> <em class="jxr_javadoccomment">    log4j.appender.appenderName.filter.ID.optionN=valueN</em>
<a name="185" href="#185">185</a> <em class="jxr_javadoccomment">    &lt;/pre&gt;</em>
<a name="186" href="#186">186</a> <em class="jxr_javadoccomment">    The first line defines the class name of the filter identified by ID;</em>
<a name="187" href="#187">187</a> <em class="jxr_javadoccomment">    subsequent lines with the same ID specify filter option - value</em>
<a name="188" href="#188">188</a> <em class="jxr_javadoccomment">    paris. Multiple filters are added to the appender in the lexicographic</em>
<a name="189" href="#189">189</a> <em class="jxr_javadoccomment">    order of IDs.</em>
<a name="190" href="#190">190</a> 
<a name="191" href="#191">191</a> <em class="jxr_javadoccomment">    The syntax for adding an {@link ErrorHandler} to an appender is:</em>
<a name="192" href="#192">192</a> <em class="jxr_javadoccomment">    &lt;pre&gt;</em>
<a name="193" href="#193">193</a> <em class="jxr_javadoccomment">    log4j.appender.appenderName.errorhandler=fully.qualified.name.of.filter.class</em>
<a name="194" href="#194">194</a> <em class="jxr_javadoccomment">    log4j.appender.appenderName.errorhandler.root-ref={true|false}</em>
<a name="195" href="#195">195</a> <em class="jxr_javadoccomment">    log4j.appender.appenderName.errorhandler.logger-ref=loggerName</em>
<a name="196" href="#196">196</a> <em class="jxr_javadoccomment">    log4j.appender.appenderName.errorhandler.appender-ref=appenderName</em>
<a name="197" href="#197">197</a> <em class="jxr_javadoccomment">    log4j.appender.appenderName.errorhandler.option1=value1</em>
<a name="198" href="#198">198</a> <em class="jxr_javadoccomment">    ...</em>
<a name="199" href="#199">199</a> <em class="jxr_javadoccomment">    log4j.appender.appenderName.errorhandler.optionN=valueN</em>
<a name="200" href="#200">200</a> <em class="jxr_javadoccomment">    &lt;/pre&gt;</em>
<a name="201" href="#201">201</a> 
<a name="202" href="#202">202</a> <em class="jxr_javadoccomment">    &lt;h3&gt;Configuring loggers&lt;/h3&gt;</em>
<a name="203" href="#203">203</a> 
<a name="204" href="#204">204</a> <em class="jxr_javadoccomment">    &lt;p&gt;The syntax for configuring the root logger is:</em>
<a name="205" href="#205">205</a> <em class="jxr_javadoccomment">    &lt;pre&gt;</em>
<a name="206" href="#206">206</a> <em class="jxr_javadoccomment">      log4j.rootLogger=[level], appenderName, appenderName, ...</em>
<a name="207" href="#207">207</a> <em class="jxr_javadoccomment">    &lt;/pre&gt;</em>
<a name="208" href="#208">208</a> 
<a name="209" href="#209">209</a> <em class="jxr_javadoccomment">    &lt;p&gt;This syntax means that an optional &lt;em&gt;level&lt;/em&gt; can be</em>
<a name="210" href="#210">210</a> <em class="jxr_javadoccomment">    supplied followed by appender names separated by commas.</em>
<a name="211" href="#211">211</a> 
<a name="212" href="#212">212</a> <em class="jxr_javadoccomment">    &lt;p&gt;The level value can consist of the string values OFF, FATAL,</em>
<a name="213" href="#213">213</a> <em class="jxr_javadoccomment">    ERROR, WARN, INFO, DEBUG, ALL or a &lt;em&gt;custom level&lt;/em&gt; value. A</em>
<a name="214" href="#214">214</a> <em class="jxr_javadoccomment">    custom level value can be specified in the form</em>
<a name="215" href="#215">215</a> <em class="jxr_javadoccomment">    &lt;code&gt;level#classname&lt;/code&gt;.</em>
<a name="216" href="#216">216</a> 
<a name="217" href="#217">217</a> <em class="jxr_javadoccomment">    &lt;p&gt;If a level value is specified, then the root level is set</em>
<a name="218" href="#218">218</a> <em class="jxr_javadoccomment">    to the corresponding level.  If no level value is specified,</em>
<a name="219" href="#219">219</a> <em class="jxr_javadoccomment">    then the root level remains untouched.</em>
<a name="220" href="#220">220</a> 
<a name="221" href="#221">221</a> <em class="jxr_javadoccomment">    &lt;p&gt;The root logger can be assigned multiple appenders.</em>
<a name="222" href="#222">222</a> 
<a name="223" href="#223">223</a> <em class="jxr_javadoccomment">    &lt;p&gt;Each &lt;i&gt;appenderName&lt;/i&gt; (separated by commas) will be added to</em>
<a name="224" href="#224">224</a> <em class="jxr_javadoccomment">    the root logger. The named appender is defined using the</em>
<a name="225" href="#225">225</a> <em class="jxr_javadoccomment">    appender syntax defined above.</em>
<a name="226" href="#226">226</a> 
<a name="227" href="#227">227</a> <em class="jxr_javadoccomment">    &lt;p&gt;For non-root categories the syntax is almost the same:</em>
<a name="228" href="#228">228</a> <em class="jxr_javadoccomment">    &lt;pre&gt;</em>
<a name="229" href="#229">229</a> <em class="jxr_javadoccomment">    log4j.logger.logger_name=[level|INHERITED|NULL], appenderName, appenderName, ...</em>
<a name="230" href="#230">230</a> <em class="jxr_javadoccomment">    &lt;/pre&gt;</em>
<a name="231" href="#231">231</a> 
<a name="232" href="#232">232</a> <em class="jxr_javadoccomment">    &lt;p&gt;The meaning of the optional level value is discussed above</em>
<a name="233" href="#233">233</a> <em class="jxr_javadoccomment">    in relation to the root logger. In addition however, the value</em>
<a name="234" href="#234">234</a> <em class="jxr_javadoccomment">    INHERITED can be specified meaning that the named logger should</em>
<a name="235" href="#235">235</a> <em class="jxr_javadoccomment">    inherit its level from the logger hierarchy.</em>
<a name="236" href="#236">236</a> 
<a name="237" href="#237">237</a> <em class="jxr_javadoccomment">    &lt;p&gt;If no level value is supplied, then the level of the</em>
<a name="238" href="#238">238</a> <em class="jxr_javadoccomment">    named logger remains untouched.</em>
<a name="239" href="#239">239</a> 
<a name="240" href="#240">240</a> <em class="jxr_javadoccomment">    &lt;p&gt;By default categories inherit their level from the</em>
<a name="241" href="#241">241</a> <em class="jxr_javadoccomment">    hierarchy. However, if you set the level of a logger and later</em>
<a name="242" href="#242">242</a> <em class="jxr_javadoccomment">    decide that that logger should inherit its level, then you should</em>
<a name="243" href="#243">243</a> <em class="jxr_javadoccomment">    specify INHERITED as the value for the level value. NULL is a</em>
<a name="244" href="#244">244</a> <em class="jxr_javadoccomment">    synonym for INHERITED.</em>
<a name="245" href="#245">245</a> 
<a name="246" href="#246">246</a> <em class="jxr_javadoccomment">    &lt;p&gt;Similar to the root logger syntax, each &lt;i&gt;appenderName&lt;/i&gt;</em>
<a name="247" href="#247">247</a> <em class="jxr_javadoccomment">    (separated by commas) will be attached to the named logger.</em>
<a name="248" href="#248">248</a> 
<a name="249" href="#249">249</a> <em class="jxr_javadoccomment">    &lt;p&gt;See the &lt;a href="../../../../manual.html#additivity"&gt;appender</em>
<a name="250" href="#250">250</a> <em class="jxr_javadoccomment">    additivity rule&lt;/a&gt; in the user manual for the meaning of the</em>
<a name="251" href="#251">251</a> <em class="jxr_javadoccomment">    &lt;code&gt;additivity&lt;/code&gt; flag.</em>
<a name="252" href="#252">252</a> 
<a name="253" href="#253">253</a> <em class="jxr_javadoccomment">    &lt;h3&gt;ObjectRenderers&lt;/h3&gt;</em>
<a name="254" href="#254">254</a> 
<a name="255" href="#255">255</a> <em class="jxr_javadoccomment">    You can customize the way message objects of a given type are</em>
<a name="256" href="#256">256</a> <em class="jxr_javadoccomment">    converted to String before being logged. This is done by</em>
<a name="257" href="#257">257</a> <em class="jxr_javadoccomment">    specifying an {@link org.apache.log4j.or.ObjectRenderer ObjectRenderer}</em>
<a name="258" href="#258">258</a> <em class="jxr_javadoccomment">    for the object type would like to customize.</em>
<a name="259" href="#259">259</a> 
<a name="260" href="#260">260</a> <em class="jxr_javadoccomment">    &lt;p&gt;The syntax is:</em>
<a name="261" href="#261">261</a> 
<a name="262" href="#262">262</a> <em class="jxr_javadoccomment">    &lt;pre&gt;</em>
<a name="263" href="#263">263</a> <em class="jxr_javadoccomment">    log4j.renderer.fully.qualified.name.of.rendered.class=fully.qualified.name.of.rendering.class</em>
<a name="264" href="#264">264</a> <em class="jxr_javadoccomment">    &lt;/pre&gt;</em>
<a name="265" href="#265">265</a> 
<a name="266" href="#266">266</a> <em class="jxr_javadoccomment">    As in,</em>
<a name="267" href="#267">267</a> <em class="jxr_javadoccomment">    &lt;pre&gt;</em>
<a name="268" href="#268">268</a> <em class="jxr_javadoccomment">    log4j.renderer.my.Fruit=my.FruitRenderer</em>
<a name="269" href="#269">269</a> <em class="jxr_javadoccomment">    &lt;/pre&gt;</em>
<a name="270" href="#270">270</a> 
<a name="271" href="#271">271</a> <em class="jxr_javadoccomment">   &lt;h3&gt;ThrowableRenderer&lt;/h3&gt;</em>
<a name="272" href="#272">272</a> 
<a name="273" href="#273">273</a> <em class="jxr_javadoccomment">   You can customize the way an instance of Throwable is</em>
<a name="274" href="#274">274</a> <em class="jxr_javadoccomment">   converted to String before being logged. This is done by</em>
<a name="275" href="#275">275</a> <em class="jxr_javadoccomment">   specifying an {@link org.apache.log4j.spi.ThrowableRenderer ThrowableRenderer}.</em>
<a name="276" href="#276">276</a> 
<a name="277" href="#277">277</a> <em class="jxr_javadoccomment">   &lt;p&gt;The syntax is:</em>
<a name="278" href="#278">278</a> 
<a name="279" href="#279">279</a> <em class="jxr_javadoccomment">   &lt;pre&gt;</em>
<a name="280" href="#280">280</a> <em class="jxr_javadoccomment">   log4j.throwableRenderer=fully.qualified.name.of.rendering.class</em>
<a name="281" href="#281">281</a> <em class="jxr_javadoccomment">   log4j.throwableRenderer.paramName=paramValue</em>
<a name="282" href="#282">282</a> <em class="jxr_javadoccomment">   &lt;/pre&gt;</em>
<a name="283" href="#283">283</a> 
<a name="284" href="#284">284</a> <em class="jxr_javadoccomment">   As in,</em>
<a name="285" href="#285">285</a> <em class="jxr_javadoccomment">   &lt;pre&gt;</em>
<a name="286" href="#286">286</a> <em class="jxr_javadoccomment">   log4j.throwableRenderer=org.apache.log4j.EnhancedThrowableRenderer</em>
<a name="287" href="#287">287</a> <em class="jxr_javadoccomment">   &lt;/pre&gt;</em>
<a name="288" href="#288">288</a> 
<a name="289" href="#289">289</a> <em class="jxr_javadoccomment">    &lt;h3&gt;Logger Factories&lt;/h3&gt;</em>
<a name="290" href="#290">290</a> 
<a name="291" href="#291">291</a> <em class="jxr_javadoccomment">    The usage of custom logger factories is discouraged and no longer</em>
<a name="292" href="#292">292</a> <em class="jxr_javadoccomment">    documented.</em>
<a name="293" href="#293">293</a> 
<a name="294" href="#294">294</a> <em class="jxr_javadoccomment">    &lt;h3&gt;Resetting Hierarchy&lt;/h3&gt;</em>
<a name="295" href="#295">295</a> 
<a name="296" href="#296">296</a> <em class="jxr_javadoccomment">    The hierarchy will be reset before configuration when</em>
<a name="297" href="#297">297</a> <em class="jxr_javadoccomment">    log4j.reset=true is present in the properties file.</em>
<a name="298" href="#298">298</a> 
<a name="299" href="#299">299</a> <em class="jxr_javadoccomment">    &lt;h3&gt;Example&lt;/h3&gt;</em>
<a name="300" href="#300">300</a> 
<a name="301" href="#301">301</a> <em class="jxr_javadoccomment">    &lt;p&gt;An example configuration is given below. Other configuration</em>
<a name="302" href="#302">302</a> <em class="jxr_javadoccomment">    file examples are given in the &lt;code&gt;examples&lt;/code&gt; folder.</em>
<a name="303" href="#303">303</a> 
<a name="304" href="#304">304</a> <em class="jxr_javadoccomment">    &lt;pre&gt;</em>
<a name="305" href="#305">305</a> 
<a name="306" href="#306">306</a> <em class="jxr_javadoccomment">    # Set options for appender named "A1".</em>
<a name="307" href="#307">307</a> <em class="jxr_javadoccomment">    # Appender "A1" will be a SyslogAppender</em>
<a name="308" href="#308">308</a> <em class="jxr_javadoccomment">    log4j.appender.A1=org.apache.log4j.net.SyslogAppender</em>
<a name="309" href="#309">309</a> 
<a name="310" href="#310">310</a> <em class="jxr_javadoccomment">    # The syslog daemon resides on www.abc.net</em>
<a name="311" href="#311">311</a> <em class="jxr_javadoccomment">    log4j.appender.A1.SyslogHost=www.abc.net</em>
<a name="312" href="#312">312</a> 
<a name="313" href="#313">313</a> <em class="jxr_javadoccomment">    # A1's layout is a PatternLayout, using the conversion pattern</em>
<a name="314" href="#314">314</a> <em class="jxr_javadoccomment">    # &lt;b&gt;%r %-5p %c{2} %M.%L %x - %m\n&lt;/b&gt;. Thus, the log output will</em>
<a name="315" href="#315">315</a> <em class="jxr_javadoccomment">    # include # the relative time since the start of the application in</em>
<a name="316" href="#316">316</a> <em class="jxr_javadoccomment">    # milliseconds, followed by the level of the log request,</em>
<a name="317" href="#317">317</a> <em class="jxr_javadoccomment">    # followed by the two rightmost components of the logger name,</em>
<a name="318" href="#318">318</a> <em class="jxr_javadoccomment">    # followed by the callers method name, followed by the line number,</em>
<a name="319" href="#319">319</a> <em class="jxr_javadoccomment">    # the nested disgnostic context and finally the message itself.</em>
<a name="320" href="#320">320</a> <em class="jxr_javadoccomment">    # Refer to the documentation of {@link PatternLayout} for further information</em>
<a name="321" href="#321">321</a> <em class="jxr_javadoccomment">    # on the syntax of the ConversionPattern key.</em>
<a name="322" href="#322">322</a> <em class="jxr_javadoccomment">    log4j.appender.A1.layout=org.apache.log4j.PatternLayout</em>
<a name="323" href="#323">323</a> <em class="jxr_javadoccomment">    log4j.appender.A1.layout.ConversionPattern=%-4r %-5p %c{2} %M.%L %x - %m\n</em>
<a name="324" href="#324">324</a> 
<a name="325" href="#325">325</a> <em class="jxr_javadoccomment">    # Set options for appender named "A2"</em>
<a name="326" href="#326">326</a> <em class="jxr_javadoccomment">    # A2 should be a RollingFileAppender, with maximum file size of 10 MB</em>
<a name="327" href="#327">327</a> <em class="jxr_javadoccomment">    # using at most one backup file. A2's layout is TTCC, using the</em>
<a name="328" href="#328">328</a> <em class="jxr_javadoccomment">    # ISO8061 date format with context printing enabled.</em>
<a name="329" href="#329">329</a> <em class="jxr_javadoccomment">    log4j.appender.A2=org.apache.log4j.RollingFileAppender</em>
<a name="330" href="#330">330</a> <em class="jxr_javadoccomment">    log4j.appender.A2.MaxFileSize=10MB</em>
<a name="331" href="#331">331</a> <em class="jxr_javadoccomment">    log4j.appender.A2.MaxBackupIndex=1</em>
<a name="332" href="#332">332</a> <em class="jxr_javadoccomment">    log4j.appender.A2.layout=org.apache.log4j.TTCCLayout</em>
<a name="333" href="#333">333</a> <em class="jxr_javadoccomment">    log4j.appender.A2.layout.ContextPrinting=enabled</em>
<a name="334" href="#334">334</a> <em class="jxr_javadoccomment">    log4j.appender.A2.layout.DateFormat=ISO8601</em>
<a name="335" href="#335">335</a> 
<a name="336" href="#336">336</a> <em class="jxr_javadoccomment">    # Root logger set to DEBUG using the A2 appender defined above.</em>
<a name="337" href="#337">337</a> <em class="jxr_javadoccomment">    log4j.rootLogger=DEBUG, A2</em>
<a name="338" href="#338">338</a> 
<a name="339" href="#339">339</a> <em class="jxr_javadoccomment">    # Logger definitions:</em>
<a name="340" href="#340">340</a> <em class="jxr_javadoccomment">    # The SECURITY logger inherits is level from root. However, it's output</em>
<a name="341" href="#341">341</a> <em class="jxr_javadoccomment">    # will go to A1 appender defined above. It's additivity is non-cumulative.</em>
<a name="342" href="#342">342</a> <em class="jxr_javadoccomment">    log4j.logger.SECURITY=INHERIT, A1</em>
<a name="343" href="#343">343</a> <em class="jxr_javadoccomment">    log4j.additivity.SECURITY=false</em>
<a name="344" href="#344">344</a> 
<a name="345" href="#345">345</a> <em class="jxr_javadoccomment">    # Only warnings or above will be logged for the logger "SECURITY.access".</em>
<a name="346" href="#346">346</a> <em class="jxr_javadoccomment">    # Output will go to A1.</em>
<a name="347" href="#347">347</a> <em class="jxr_javadoccomment">    log4j.logger.SECURITY.access=WARN</em>
<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">    # The logger "class.of.the.day" inherits its level from the</em>
<a name="351" href="#351">351</a> <em class="jxr_javadoccomment">    # logger hierarchy.  Output will go to the appender's of the root</em>
<a name="352" href="#352">352</a> <em class="jxr_javadoccomment">    # logger, A2 in this case.</em>
<a name="353" href="#353">353</a> <em class="jxr_javadoccomment">    log4j.logger.class.of.the.day=INHERIT</em>
<a name="354" href="#354">354</a> <em class="jxr_javadoccomment">    &lt;/pre&gt;</em>
<a name="355" href="#355">355</a> 
<a name="356" href="#356">356</a> <em class="jxr_javadoccomment">    &lt;p&gt;Refer to the &lt;b&gt;setOption&lt;/b&gt; method in each Appender and</em>
<a name="357" href="#357">357</a> <em class="jxr_javadoccomment">    Layout for class specific options.</em>
<a name="358" href="#358">358</a> 
<a name="359" href="#359">359</a> <em class="jxr_javadoccomment">    &lt;p&gt;Use the &lt;code&gt;#&lt;/code&gt; or &lt;code&gt;!&lt;/code&gt; characters at the</em>
<a name="360" href="#360">360</a> <em class="jxr_javadoccomment">    beginning of a line for comments.</em>
<a name="361" href="#361">361</a> 
<a name="362" href="#362">362</a> <em class="jxr_javadoccomment">   &lt;p&gt;</em>
<a name="363" href="#363">363</a> <em class="jxr_javadoccomment">   @param configFileName The name of the configuration file where the</em>
<a name="364" href="#364">364</a> <em class="jxr_javadoccomment">   configuration information is stored.</em>
<a name="365" href="#365">365</a> 
<a name="366" href="#366">366</a> <em class="jxr_javadoccomment">  */</em>
<a name="367" href="#367">367</a>   <strong class="jxr_keyword">public</strong>
<a name="368" href="#368">368</a>   <strong class="jxr_keyword">void</strong> doConfigure(String configFileName, <a href="../../../org/apache/log4j/spi/LoggerRepository.html">LoggerRepository</a> hierarchy) {
<a name="369" href="#369">369</a>     Properties props = <strong class="jxr_keyword">new</strong> Properties();
<a name="370" href="#370">370</a>     FileInputStream istream = <strong class="jxr_keyword">null</strong>;
<a name="371" href="#371">371</a>     <strong class="jxr_keyword">try</strong> {
<a name="372" href="#372">372</a>       istream = <strong class="jxr_keyword">new</strong> FileInputStream(configFileName);
<a name="373" href="#373">373</a>       props.load(istream);
<a name="374" href="#374">374</a>       istream.close();
<a name="375" href="#375">375</a>     }
<a name="376" href="#376">376</a>     <strong class="jxr_keyword">catch</strong> (Exception e) {
<a name="377" href="#377">377</a>       <strong class="jxr_keyword">if</strong> (e instanceof InterruptedIOException || e instanceof InterruptedException) {
<a name="378" href="#378">378</a>           Thread.currentThread().interrupt();
<a name="379" href="#379">379</a>       }
<a name="380" href="#380">380</a>       LogLog.error(<span class="jxr_string">"Could not read configuration file ["</span>+configFileName+<span class="jxr_string">"]."</span>, e);
<a name="381" href="#381">381</a>       LogLog.error(<span class="jxr_string">"Ignoring configuration file ["</span> + configFileName+<span class="jxr_string">"]."</span>);
<a name="382" href="#382">382</a>       <strong class="jxr_keyword">return</strong>;
<a name="383" href="#383">383</a>     } <strong class="jxr_keyword">finally</strong> {
<a name="384" href="#384">384</a>         <strong class="jxr_keyword">if</strong>(istream != <strong class="jxr_keyword">null</strong>) {
<a name="385" href="#385">385</a>             <strong class="jxr_keyword">try</strong> {
<a name="386" href="#386">386</a>                 istream.close();
<a name="387" href="#387">387</a>             } <strong class="jxr_keyword">catch</strong>(InterruptedIOException ignore) {
<a name="388" href="#388">388</a>                 Thread.currentThread().interrupt();
<a name="389" href="#389">389</a>             } <strong class="jxr_keyword">catch</strong>(Throwable ignore) {
<a name="390" href="#390">390</a>             }
<a name="391" href="#391">391</a> 
<a name="392" href="#392">392</a>         }
<a name="393" href="#393">393</a>     }
<a name="394" href="#394">394</a>     <em class="jxr_comment">// If we reach here, then the config file is alright.</em>
<a name="395" href="#395">395</a>     doConfigure(props, hierarchy);
<a name="396" href="#396">396</a>   }
<a name="397" href="#397">397</a> 
<a name="398" href="#398">398</a>   <em class="jxr_javadoccomment">/**</em>
<a name="399" href="#399">399</a> <em class="jxr_javadoccomment">   */</em>
<a name="400" href="#400">400</a>   <strong class="jxr_keyword">static</strong>
<a name="401" href="#401">401</a>   <strong class="jxr_keyword">public</strong>
<a name="402" href="#402">402</a>   <strong class="jxr_keyword">void</strong> configure(String configFilename) {
<a name="403" href="#403">403</a>     <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/PropertyConfigurator.html">PropertyConfigurator</a>().doConfigure(configFilename,
<a name="404" href="#404">404</a> 					   LogManager.getLoggerRepository());
<a name="405" href="#405">405</a>   }
<a name="406" href="#406">406</a> 
<a name="407" href="#407">407</a>   <em class="jxr_javadoccomment">/**</em>
<a name="408" href="#408">408</a> <em class="jxr_javadoccomment">  Read configuration options from url &lt;code&gt;configURL&lt;/code&gt;.</em>
<a name="409" href="#409">409</a> 
<a name="410" href="#410">410</a> <em class="jxr_javadoccomment">  @since 0.8.2</em>
<a name="411" href="#411">411</a> <em class="jxr_javadoccomment">*/</em>
<a name="412" href="#412">412</a> <strong class="jxr_keyword">public</strong>
<a name="413" href="#413">413</a> <strong class="jxr_keyword">static</strong>
<a name="414" href="#414">414</a> <strong class="jxr_keyword">void</strong> configure(java.net.URL configURL) {
<a name="415" href="#415">415</a>  <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/PropertyConfigurator.html">PropertyConfigurator</a>().doConfigure(configURL,
<a name="416" href="#416">416</a>                     LogManager.getLoggerRepository());
<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">Reads configuration options from an InputStream.</em>
<a name="421" href="#421">421</a> 
<a name="422" href="#422">422</a> <em class="jxr_javadoccomment">@since 1.2.17</em>
<a name="423" href="#423">423</a> <em class="jxr_javadoccomment">*/</em>
<a name="424" href="#424">424</a> <strong class="jxr_keyword">public</strong>
<a name="425" href="#425">425</a> <strong class="jxr_keyword">static</strong>
<a name="426" href="#426">426</a> <strong class="jxr_keyword">void</strong> configure(InputStream inputStream) {
<a name="427" href="#427">427</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/PropertyConfigurator.html">PropertyConfigurator</a>().doConfigure(inputStream,
<a name="428" href="#428">428</a>                   LogManager.getLoggerRepository());
<a name="429" href="#429">429</a> }
<a name="430" href="#430">430</a> 
<a name="431" href="#431">431</a> 
<a name="432" href="#432">432</a>   <em class="jxr_javadoccomment">/**</em>
<a name="433" href="#433">433</a> <em class="jxr_javadoccomment">     Read configuration options from &lt;code&gt;properties&lt;/code&gt;.</em>
<a name="434" href="#434">434</a> 
<a name="435" href="#435">435</a> <em class="jxr_javadoccomment">     See {@link #doConfigure(String, LoggerRepository)} for the expected format.</em>
<a name="436" href="#436">436</a> <em class="jxr_javadoccomment">  */</em>
<a name="437" href="#437">437</a>   <strong class="jxr_keyword">static</strong>
<a name="438" href="#438">438</a>   <strong class="jxr_keyword">public</strong>
<a name="439" href="#439">439</a>   <strong class="jxr_keyword">void</strong> configure(Properties properties) {
<a name="440" href="#440">440</a>     <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/PropertyConfigurator.html">PropertyConfigurator</a>().doConfigure(properties,
<a name="441" href="#441">441</a> 					   LogManager.getLoggerRepository());
<a name="442" href="#442">442</a>   }
<a name="443" href="#443">443</a> 
<a name="444" href="#444">444</a>   <em class="jxr_javadoccomment">/**</em>
<a name="445" href="#445">445</a> <em class="jxr_javadoccomment">     Like {@link #configureAndWatch(String, long)} except that the</em>
<a name="446" href="#446">446</a> <em class="jxr_javadoccomment">     default delay as defined by {@link FileWatchdog#DEFAULT_DELAY} is</em>
<a name="447" href="#447">447</a> <em class="jxr_javadoccomment">     used.</em>
<a name="448" href="#448">448</a> 
<a name="449" href="#449">449</a> <em class="jxr_javadoccomment">     @param configFilename A file in key=value format.</em>
<a name="450" href="#450">450</a> 
<a name="451" href="#451">451</a> <em class="jxr_javadoccomment">  */</em>
<a name="452" href="#452">452</a>   <strong class="jxr_keyword">static</strong>
<a name="453" href="#453">453</a>   <strong class="jxr_keyword">public</strong>
<a name="454" href="#454">454</a>   <strong class="jxr_keyword">void</strong> configureAndWatch(String configFilename) {
<a name="455" href="#455">455</a>     configureAndWatch(configFilename, FileWatchdog.DEFAULT_DELAY);
<a name="456" href="#456">456</a>   }
<a name="457" href="#457">457</a> 
<a name="458" href="#458">458</a> 
<a name="459" href="#459">459</a>   <em class="jxr_javadoccomment">/**</em>
<a name="460" href="#460">460</a> <em class="jxr_javadoccomment">     Read the configuration file &lt;code&gt;configFilename&lt;/code&gt; if it</em>
<a name="461" href="#461">461</a> <em class="jxr_javadoccomment">     exists. Moreover, a thread will be created that will periodically</em>
<a name="462" href="#462">462</a> <em class="jxr_javadoccomment">     check if &lt;code&gt;configFilename&lt;/code&gt; has been created or</em>
<a name="463" href="#463">463</a> <em class="jxr_javadoccomment">     modified. The period is determined by the &lt;code&gt;delay&lt;/code&gt;</em>
<a name="464" href="#464">464</a> <em class="jxr_javadoccomment">     argument. If a change or file creation is detected, then</em>
<a name="465" href="#465">465</a> <em class="jxr_javadoccomment">     &lt;code&gt;configFilename&lt;/code&gt; is read to configure log4j.</em>
<a name="466" href="#466">466</a> 
<a name="467" href="#467">467</a> <em class="jxr_javadoccomment">      @param configFilename A file in key=value format.</em>
<a name="468" href="#468">468</a> <em class="jxr_javadoccomment">      @param delay The delay in milliseconds to wait between each check.</em>
<a name="469" href="#469">469</a> <em class="jxr_javadoccomment">  */</em>
<a name="470" href="#470">470</a>   <strong class="jxr_keyword">static</strong>
<a name="471" href="#471">471</a>   <strong class="jxr_keyword">public</strong>
<a name="472" href="#472">472</a>   <strong class="jxr_keyword">void</strong> configureAndWatch(String configFilename, <strong class="jxr_keyword">long</strong> delay) {
<a name="473" href="#473">473</a>     <a href="../../../org/apache/log4j/PropertyConfigurator.html">PropertyWatchdog</a> pdog = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/PropertyConfigurator.html">PropertyWatchdog</a>(configFilename);
<a name="474" href="#474">474</a>     pdog.setDelay(delay);
<a name="475" href="#475">475</a>     pdog.start();
<a name="476" href="#476">476</a>   }
<a name="477" href="#477">477</a> 
<a name="478" href="#478">478</a> 
<a name="479" href="#479">479</a>   <em class="jxr_javadoccomment">/**</em>
<a name="480" href="#480">480</a> <em class="jxr_javadoccomment">     Read configuration options from &lt;code&gt;properties&lt;/code&gt;.</em>
<a name="481" href="#481">481</a> 
<a name="482" href="#482">482</a> <em class="jxr_javadoccomment">     See {@link #doConfigure(String, LoggerRepository)} for the expected format.</em>
<a name="483" href="#483">483</a> <em class="jxr_javadoccomment">  */</em>
<a name="484" href="#484">484</a>   <strong class="jxr_keyword">public</strong>
<a name="485" href="#485">485</a>   <strong class="jxr_keyword">void</strong> doConfigure(Properties properties, <a href="../../../org/apache/log4j/spi/LoggerRepository.html">LoggerRepository</a> hierarchy) {
<a name="486" href="#486">486</a> 	repository = hierarchy;
<a name="487" href="#487">487</a>     String value = properties.getProperty(LogLog.DEBUG_KEY);
<a name="488" href="#488">488</a>     <strong class="jxr_keyword">if</strong>(value == <strong class="jxr_keyword">null</strong>) {
<a name="489" href="#489">489</a>       value = properties.getProperty(<span class="jxr_string">"log4j.configDebug"</span>);
<a name="490" href="#490">490</a>       <strong class="jxr_keyword">if</strong>(value != <strong class="jxr_keyword">null</strong>)
<a name="491" href="#491">491</a> 	LogLog.warn(<span class="jxr_string">"[log4j.configDebug] is deprecated. Use [log4j.debug] instead."</span>);
<a name="492" href="#492">492</a>     }
<a name="493" href="#493">493</a> 
<a name="494" href="#494">494</a>     <strong class="jxr_keyword">if</strong>(value != <strong class="jxr_keyword">null</strong>) {
<a name="495" href="#495">495</a>       LogLog.setInternalDebugging(OptionConverter.toBoolean(value, <strong class="jxr_keyword">true</strong>));
<a name="496" href="#496">496</a>     }
<a name="497" href="#497">497</a> 
<a name="498" href="#498">498</a>       <em class="jxr_comment">//</em>
<a name="499" href="#499">499</a>       <em class="jxr_comment">//   if log4j.reset=true then</em>
<a name="500" href="#500">500</a>       <em class="jxr_comment">//        reset hierarchy</em>
<a name="501" href="#501">501</a>     String reset = properties.getProperty(RESET_KEY);
<a name="502" href="#502">502</a>     <strong class="jxr_keyword">if</strong> (reset != <strong class="jxr_keyword">null</strong> &amp;&amp; OptionConverter.toBoolean(reset, false)) {
<a name="503" href="#503">503</a>           hierarchy.resetConfiguration();
<a name="504" href="#504">504</a>     }
<a name="505" href="#505">505</a> 
<a name="506" href="#506">506</a>     String thresholdStr = OptionConverter.findAndSubst(THRESHOLD_PREFIX,
<a name="507" href="#507">507</a> 						       properties);
<a name="508" href="#508">508</a>     <strong class="jxr_keyword">if</strong>(thresholdStr != <strong class="jxr_keyword">null</strong>) {
<a name="509" href="#509">509</a>       hierarchy.setThreshold(OptionConverter.toLevel(thresholdStr,
<a name="510" href="#510">510</a> 						     (Level) Level.ALL));
<a name="511" href="#511">511</a>       LogLog.debug(<span class="jxr_string">"Hierarchy threshold set to ["</span>+hierarchy.getThreshold()+<span class="jxr_string">"]."</span>);
<a name="512" href="#512">512</a>     }
<a name="513" href="#513">513</a>     
<a name="514" href="#514">514</a>     configureRootCategory(properties, hierarchy);
<a name="515" href="#515">515</a>     configureLoggerFactory(properties);
<a name="516" href="#516">516</a>     parseCatsAndRenderers(properties, hierarchy);
<a name="517" href="#517">517</a> 
<a name="518" href="#518">518</a>     LogLog.debug(<span class="jxr_string">"Finished configuring."</span>);
<a name="519" href="#519">519</a>     <em class="jxr_comment">// We don't want to hold references to appenders preventing their</em>
<a name="520" href="#520">520</a>     <em class="jxr_comment">// garbage collection.</em>
<a name="521" href="#521">521</a>     registry.clear();
<a name="522" href="#522">522</a>   }
<a name="523" href="#523">523</a> 
<a name="524" href="#524">524</a>     <em class="jxr_javadoccomment">/**</em>
<a name="525" href="#525">525</a> <em class="jxr_javadoccomment">     * Read configuration options from url &lt;code&gt;configURL&lt;/code&gt;.</em>
<a name="526" href="#526">526</a> <em class="jxr_javadoccomment">     * </em>
<a name="527" href="#527">527</a> <em class="jxr_javadoccomment">     * @since 1.2.17</em>
<a name="528" href="#528">528</a> <em class="jxr_javadoccomment">     */</em>
<a name="529" href="#529">529</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> doConfigure(InputStream inputStream, <a href="../../../org/apache/log4j/spi/LoggerRepository.html">LoggerRepository</a> hierarchy) {
<a name="530" href="#530">530</a>         Properties props = <strong class="jxr_keyword">new</strong> Properties();
<a name="531" href="#531">531</a>         <strong class="jxr_keyword">try</strong> {
<a name="532" href="#532">532</a>             props.load(inputStream);
<a name="533" href="#533">533</a>         } <strong class="jxr_keyword">catch</strong> (IOException e) {
<a name="534" href="#534">534</a>             <strong class="jxr_keyword">if</strong> (e instanceof InterruptedIOException) {
<a name="535" href="#535">535</a>                 Thread.currentThread().interrupt();
<a name="536" href="#536">536</a>             }
<a name="537" href="#537">537</a>             LogLog.error(<span class="jxr_string">"Could not read configuration file from InputStream ["</span> + inputStream
<a name="538" href="#538">538</a>                  + <span class="jxr_string">"]."</span>, e);
<a name="539" href="#539">539</a>             LogLog.error(<span class="jxr_string">"Ignoring configuration InputStream ["</span> + inputStream +<span class="jxr_string">"]."</span>);
<a name="540" href="#540">540</a>             <strong class="jxr_keyword">return</strong>;
<a name="541" href="#541">541</a>           }
<a name="542" href="#542">542</a>         <strong class="jxr_keyword">this</strong>.doConfigure(props, hierarchy);
<a name="543" href="#543">543</a>     }
<a name="544" href="#544">544</a> 
<a name="545" href="#545">545</a>   <em class="jxr_javadoccomment">/**</em>
<a name="546" href="#546">546</a> <em class="jxr_javadoccomment">     Read configuration options from url &lt;code&gt;configURL&lt;/code&gt;.</em>
<a name="547" href="#547">547</a> <em class="jxr_javadoccomment">   */</em>
<a name="548" href="#548">548</a>   <strong class="jxr_keyword">public</strong>
<a name="549" href="#549">549</a>   <strong class="jxr_keyword">void</strong> doConfigure(java.net.URL configURL, <a href="../../../org/apache/log4j/spi/LoggerRepository.html">LoggerRepository</a> hierarchy) {
<a name="550" href="#550">550</a>     Properties props = <strong class="jxr_keyword">new</strong> Properties();
<a name="551" href="#551">551</a>     LogLog.debug(<span class="jxr_string">"Reading configuration from URL "</span> + configURL);
<a name="552" href="#552">552</a>     InputStream istream = <strong class="jxr_keyword">null</strong>;
<a name="553" href="#553">553</a>     URLConnection uConn = <strong class="jxr_keyword">null</strong>;
<a name="554" href="#554">554</a>     <strong class="jxr_keyword">try</strong> {
<a name="555" href="#555">555</a>       uConn = configURL.openConnection();
<a name="556" href="#556">556</a>       uConn.setUseCaches(false);
<a name="557" href="#557">557</a>       istream = uConn.getInputStream();
<a name="558" href="#558">558</a>       props.load(istream);
<a name="559" href="#559">559</a>     }
<a name="560" href="#560">560</a>     <strong class="jxr_keyword">catch</strong> (Exception e) {
<a name="561" href="#561">561</a>       <strong class="jxr_keyword">if</strong> (e instanceof InterruptedIOException || e instanceof InterruptedException) {
<a name="562" href="#562">562</a>           Thread.currentThread().interrupt();
<a name="563" href="#563">563</a>       }
<a name="564" href="#564">564</a>       LogLog.error(<span class="jxr_string">"Could not read configuration file from URL ["</span> + configURL
<a name="565" href="#565">565</a> 		   + <span class="jxr_string">"]."</span>, e);
<a name="566" href="#566">566</a>       LogLog.error(<span class="jxr_string">"Ignoring configuration file ["</span> + configURL +<span class="jxr_string">"]."</span>);
<a name="567" href="#567">567</a>       <strong class="jxr_keyword">return</strong>;
<a name="568" href="#568">568</a>     }
<a name="569" href="#569">569</a>     <strong class="jxr_keyword">finally</strong> {
<a name="570" href="#570">570</a>         <strong class="jxr_keyword">if</strong> (istream != <strong class="jxr_keyword">null</strong>) {
<a name="571" href="#571">571</a>             <strong class="jxr_keyword">try</strong> {
<a name="572" href="#572">572</a>                 istream.close();
<a name="573" href="#573">573</a>             } <strong class="jxr_keyword">catch</strong>(InterruptedIOException ignore) {
<a name="574" href="#574">574</a>                 Thread.currentThread().interrupt();
<a name="575" href="#575">575</a>             } <strong class="jxr_keyword">catch</strong>(IOException ignore) {
<a name="576" href="#576">576</a>             } <strong class="jxr_keyword">catch</strong>(RuntimeException ignore) {
<a name="577" href="#577">577</a>             }
<a name="578" href="#578">578</a>         }
<a name="579" href="#579">579</a>     }
<a name="580" href="#580">580</a>     doConfigure(props, hierarchy);
<a name="581" href="#581">581</a>   }
<a name="582" href="#582">582</a> 
<a name="583" href="#583">583</a> 
<a name="584" href="#584">584</a>   <em class="jxr_comment">// --------------------------------------------------------------------------</em>
<a name="585" href="#585">585</a>   <em class="jxr_comment">// Internal stuff</em>
<a name="586" href="#586">586</a>   <em class="jxr_comment">// --------------------------------------------------------------------------</em>
<a name="587" href="#587">587</a> 
<a name="588" href="#588">588</a>   <em class="jxr_javadoccomment">/**</em>
<a name="589" href="#589">589</a> <em class="jxr_javadoccomment">     Check the provided &lt;code&gt;Properties&lt;/code&gt; object for a</em>
<a name="590" href="#590">590</a> <em class="jxr_javadoccomment">     {@link org.apache.log4j.spi.LoggerFactory LoggerFactory}</em>
<a name="591" href="#591">591</a> <em class="jxr_javadoccomment">     entry specified by {@link #LOGGER_FACTORY_KEY}.  If such an entry</em>
<a name="592" href="#592">592</a> <em class="jxr_javadoccomment">     exists, an attempt is made to create an instance using the default</em>
<a name="593" href="#593">593</a> <em class="jxr_javadoccomment">     constructor.  This instance is used for subsequent Category creations</em>
<a name="594" href="#594">594</a> <em class="jxr_javadoccomment">     within this configurator.</em>
<a name="595" href="#595">595</a> 
<a name="596" href="#596">596</a> <em class="jxr_javadoccomment">     @see #parseCatsAndRenderers</em>
<a name="597" href="#597">597</a> <em class="jxr_javadoccomment">   */</em>
<a name="598" href="#598">598</a>   <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> configureLoggerFactory(Properties props) {
<a name="599" href="#599">599</a>     String factoryClassName = OptionConverter.findAndSubst(LOGGER_FACTORY_KEY,
<a name="600" href="#600">600</a> 							   props);
<a name="601" href="#601">601</a>     <strong class="jxr_keyword">if</strong>(factoryClassName != <strong class="jxr_keyword">null</strong>) {
<a name="602" href="#602">602</a>       LogLog.debug(<span class="jxr_string">"Setting category factory to ["</span>+factoryClassName+<span class="jxr_string">"]."</span>);
<a name="603" href="#603">603</a>       loggerFactory = (LoggerFactory)
<a name="604" href="#604">604</a> 	          OptionConverter.instantiateByClassName(factoryClassName,
<a name="605" href="#605">605</a> 							 LoggerFactory.<strong class="jxr_keyword">class</strong>,
<a name="606" href="#606">606</a> 							 loggerFactory);
<a name="607" href="#607">607</a>       PropertySetter.setProperties(loggerFactory, props, FACTORY_PREFIX + <span class="jxr_string">"."</span>);
<a name="608" href="#608">608</a>     }
<a name="609" href="#609">609</a>   }
<a name="610" href="#610">610</a> 
<a name="611" href="#611">611</a>   <em class="jxr_comment">/*</em>
<a name="612" href="#612">612</a> <em class="jxr_comment">  void configureOptionHandler(OptionHandler oh, String prefix,</em>
<a name="613" href="#613">613</a> <em class="jxr_comment">			      Properties props) {</em>
<a name="614" href="#614">614</a> <em class="jxr_comment">    String[] options = oh.getOptionStrings();</em>
<a name="615" href="#615">615</a> <em class="jxr_comment">    if(options == null)</em>
<a name="616" href="#616">616</a> <em class="jxr_comment">      return;</em>
<a name="617" href="#617">617</a> 
<a name="618" href="#618">618</a> <em class="jxr_comment">    String value;</em>
<a name="619" href="#619">619</a> <em class="jxr_comment">    for(int i = 0; i &lt; options.length; i++) {</em>
<a name="620" href="#620">620</a> <em class="jxr_comment">      value =  OptionConverter.findAndSubst(prefix + options[i], props);</em>
<a name="621" href="#621">621</a> <em class="jxr_comment">      LogLog.debug(</em>
<a name="622" href="#622">622</a> <em class="jxr_comment">         "Option " + options[i] + "=[" + (value == null? "N/A" : value)+"].");</em>
<a name="623" href="#623">623</a> <em class="jxr_comment">      // Some option handlers assume that null value are not passed to them.</em>
<a name="624" href="#624">624</a> <em class="jxr_comment">      // So don't remove this check</em>
<a name="625" href="#625">625</a> <em class="jxr_comment">      if(value != null) {</em>
<a name="626" href="#626">626</a> <em class="jxr_comment">	oh.setOption(options[i], value);</em>
<a name="627" href="#627">627</a> <em class="jxr_comment">      }</em>
<a name="628" href="#628">628</a> <em class="jxr_comment">    }</em>
<a name="629" href="#629">629</a> <em class="jxr_comment">    oh.activateOptions();</em>
<a name="630" href="#630">630</a> <em class="jxr_comment">  }</em>
<a name="631" href="#631">631</a> <em class="jxr_comment">  */</em>
<a name="632" href="#632">632</a> 
<a name="633" href="#633">633</a> 
<a name="634" href="#634">634</a>   <strong class="jxr_keyword">void</strong> configureRootCategory(Properties props, <a href="../../../org/apache/log4j/spi/LoggerRepository.html">LoggerRepository</a> hierarchy) {
<a name="635" href="#635">635</a>     String effectiveFrefix = ROOT_LOGGER_PREFIX;
<a name="636" href="#636">636</a>     String value = OptionConverter.findAndSubst(ROOT_LOGGER_PREFIX, props);
<a name="637" href="#637">637</a> 
<a name="638" href="#638">638</a>     <strong class="jxr_keyword">if</strong>(value == <strong class="jxr_keyword">null</strong>) {
<a name="639" href="#639">639</a>       value = OptionConverter.findAndSubst(ROOT_CATEGORY_PREFIX, props);
<a name="640" href="#640">640</a>       effectiveFrefix = ROOT_CATEGORY_PREFIX;
<a name="641" href="#641">641</a>     }
<a name="642" href="#642">642</a> 
<a name="643" href="#643">643</a>     <strong class="jxr_keyword">if</strong>(value == <strong class="jxr_keyword">null</strong>)
<a name="644" href="#644">644</a>       LogLog.debug(<span class="jxr_string">"Could not find root logger information. Is this OK?"</span>);
<a name="645" href="#645">645</a>     <strong class="jxr_keyword">else</strong> {
<a name="646" href="#646">646</a>       <a href="../../../org/apache/log4j/Logger.html">Logger</a> root = hierarchy.getRootLogger();
<a name="647" href="#647">647</a>       <strong class="jxr_keyword">synchronized</strong>(root) {
<a name="648" href="#648">648</a> 	parseCategory(props, root, effectiveFrefix, INTERNAL_ROOT_NAME, value);
<a name="649" href="#649">649</a>       }
<a name="650" href="#650">650</a>     }
<a name="651" href="#651">651</a>   }
<a name="652" href="#652">652</a> 
<a name="653" href="#653">653</a> 
<a name="654" href="#654">654</a>   <em class="jxr_javadoccomment">/**</em>
<a name="655" href="#655">655</a> <em class="jxr_javadoccomment">     Parse non-root elements, such non-root categories and renderers.</em>
<a name="656" href="#656">656</a> <em class="jxr_javadoccomment">  */</em>
<a name="657" href="#657">657</a>   <strong class="jxr_keyword">protected</strong>
<a name="658" href="#658">658</a>   <strong class="jxr_keyword">void</strong> parseCatsAndRenderers(Properties props, <a href="../../../org/apache/log4j/spi/LoggerRepository.html">LoggerRepository</a> hierarchy) {
<a name="659" href="#659">659</a>     Enumeration enumeration = props.propertyNames();
<a name="660" href="#660">660</a>     <strong class="jxr_keyword">while</strong>(enumeration.hasMoreElements()) {
<a name="661" href="#661">661</a>       String key = (String) enumeration.nextElement();
<a name="662" href="#662">662</a>       <strong class="jxr_keyword">if</strong>(key.startsWith(CATEGORY_PREFIX) || key.startsWith(LOGGER_PREFIX)) {
<a name="663" href="#663">663</a> 	String loggerName = <strong class="jxr_keyword">null</strong>;
<a name="664" href="#664">664</a> 	<strong class="jxr_keyword">if</strong>(key.startsWith(CATEGORY_PREFIX)) {
<a name="665" href="#665">665</a> 	  loggerName = key.substring(CATEGORY_PREFIX.length());
<a name="666" href="#666">666</a> 	} <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong>(key.startsWith(LOGGER_PREFIX)) {
<a name="667" href="#667">667</a> 	  loggerName = key.substring(LOGGER_PREFIX.length());
<a name="668" href="#668">668</a> 	}
<a name="669" href="#669">669</a> 	String value =  OptionConverter.findAndSubst(key, props);
<a name="670" href="#670">670</a> 	Logger logger = hierarchy.getLogger(loggerName, loggerFactory);
<a name="671" href="#671">671</a> 	<strong class="jxr_keyword">synchronized</strong>(logger) {
<a name="672" href="#672">672</a> 	  parseCategory(props, logger, key, loggerName, value);
<a name="673" href="#673">673</a> 	  parseAdditivityForLogger(props, logger, loggerName);
<a name="674" href="#674">674</a> 	}
<a name="675" href="#675">675</a>       } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong>(key.startsWith(RENDERER_PREFIX)) {
<a name="676" href="#676">676</a> 	String renderedClass = key.substring(RENDERER_PREFIX.length());
<a name="677" href="#677">677</a> 	String renderingClass = OptionConverter.findAndSubst(key, props);
<a name="678" href="#678">678</a> 	<strong class="jxr_keyword">if</strong>(hierarchy instanceof <a href="../../../org/apache/log4j/spi/RendererSupport.html">RendererSupport</a>) {
<a name="679" href="#679">679</a> 	  RendererMap.addRenderer((RendererSupport) hierarchy, renderedClass,
<a name="680" href="#680">680</a> 				  renderingClass);
<a name="681" href="#681">681</a> 	}
<a name="682" href="#682">682</a>       } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (key.equals(THROWABLE_RENDERER_PREFIX)) {
<a name="683" href="#683">683</a>           <strong class="jxr_keyword">if</strong> (hierarchy instanceof ThrowableRendererSupport) {
<a name="684" href="#684">684</a>             <a href="../../../org/apache/log4j/spi/ThrowableRenderer.html">ThrowableRenderer</a> tr = (ThrowableRenderer)
<a name="685" href="#685">685</a>                   OptionConverter.instantiateByKey(props,
<a name="686" href="#686">686</a>                           THROWABLE_RENDERER_PREFIX,
<a name="687" href="#687">687</a>                           org.apache.log4j.spi.ThrowableRenderer.<strong class="jxr_keyword">class</strong>,
<a name="688" href="#688">688</a>                           <strong class="jxr_keyword">null</strong>);
<a name="689" href="#689">689</a>             <strong class="jxr_keyword">if</strong>(tr == <strong class="jxr_keyword">null</strong>) {
<a name="690" href="#690">690</a>                 LogLog.error(
<a name="691" href="#691">691</a>                     <span class="jxr_string">"Could not instantiate throwableRenderer."</span>);
<a name="692" href="#692">692</a>             } <strong class="jxr_keyword">else</strong> {
<a name="693" href="#693">693</a>                 <a href="../../../org/apache/log4j/config/PropertySetter.html">PropertySetter</a> setter = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/config/PropertySetter.html">PropertySetter</a>(tr);
<a name="694" href="#694">694</a>                 setter.setProperties(props, THROWABLE_RENDERER_PREFIX + <span class="jxr_string">"."</span>);
<a name="695" href="#695">695</a>                 ((<a href="../../../org/apache/log4j/spi/ThrowableRendererSupport.html">ThrowableRendererSupport</a>) hierarchy).setThrowableRenderer(tr);
<a name="696" href="#696">696</a> 
<a name="697" href="#697">697</a>             }
<a name="698" href="#698">698</a>           }
<a name="699" href="#699">699</a>       }
<a name="700" href="#700">700</a>     }
<a name="701" href="#701">701</a>   }
<a name="702" href="#702">702</a> 
<a name="703" href="#703">703</a>   <em class="jxr_javadoccomment">/**</em>
<a name="704" href="#704">704</a> <em class="jxr_javadoccomment">     Parse the additivity option for a non-root category.</em>
<a name="705" href="#705">705</a> <em class="jxr_javadoccomment">   */</em>
<a name="706" href="#706">706</a>   <strong class="jxr_keyword">void</strong> parseAdditivityForLogger(Properties props, <a href="../../../org/apache/log4j/Logger.html">Logger</a> cat,
<a name="707" href="#707">707</a> 				  String loggerName) {
<a name="708" href="#708">708</a>     String value = OptionConverter.findAndSubst(ADDITIVITY_PREFIX + loggerName,
<a name="709" href="#709">709</a> 					     props);
<a name="710" href="#710">710</a>     LogLog.debug(<span class="jxr_string">"Handling "</span>+ADDITIVITY_PREFIX + loggerName+<span class="jxr_string">"=["</span>+value+<span class="jxr_string">"]"</span>);
<a name="711" href="#711">711</a>     <em class="jxr_comment">// touch additivity only if necessary</em>
<a name="712" href="#712">712</a>     <strong class="jxr_keyword">if</strong>((value != <strong class="jxr_keyword">null</strong>) &amp;&amp; (!value.equals(<span class="jxr_string">""</span>))) {
<a name="713" href="#713">713</a>       <strong class="jxr_keyword">boolean</strong> additivity = OptionConverter.toBoolean(value, <strong class="jxr_keyword">true</strong>);
<a name="714" href="#714">714</a>       LogLog.debug(<span class="jxr_string">"Setting additivity for \&quot;"</span>+loggerName+<span class="jxr_string">"\&quot; to "</span>+
<a name="715" href="#715">715</a> 		   additivity);
<a name="716" href="#716">716</a>       cat.setAdditivity(additivity);
<a name="717" href="#717">717</a>     }
<a name="718" href="#718">718</a>   }
<a name="719" href="#719">719</a> 
<a name="720" href="#720">720</a>   <em class="jxr_javadoccomment">/**</em>
<a name="721" href="#721">721</a> <em class="jxr_javadoccomment">     This method must work for the root category as well.</em>
<a name="722" href="#722">722</a> <em class="jxr_javadoccomment">   */</em>
<a name="723" href="#723">723</a>   <strong class="jxr_keyword">void</strong> parseCategory(Properties props, <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, String optionKey,
<a name="724" href="#724">724</a> 		     String loggerName, String value) {
<a name="725" href="#725">725</a> 
<a name="726" href="#726">726</a>     LogLog.debug(<span class="jxr_string">"Parsing for ["</span> +loggerName +<span class="jxr_string">"] with value=["</span> + value+<span class="jxr_string">"]."</span>);
<a name="727" href="#727">727</a>     <em class="jxr_comment">// We must skip over ',' but not white space</em>
<a name="728" href="#728">728</a>     StringTokenizer st = <strong class="jxr_keyword">new</strong> StringTokenizer(value, <span class="jxr_string">","</span>);
<a name="729" href="#729">729</a> 
<a name="730" href="#730">730</a>     <em class="jxr_comment">// If value is not in the form ", appender.." or "", then we should set</em>
<a name="731" href="#731">731</a>     <em class="jxr_comment">// the level of the loggeregory.</em>
<a name="732" href="#732">732</a> 
<a name="733" href="#733">733</a>     <strong class="jxr_keyword">if</strong>(!(value.startsWith(<span class="jxr_string">","</span>) || value.equals(<span class="jxr_string">""</span>))) {
<a name="734" href="#734">734</a> 
<a name="735" href="#735">735</a>       <em class="jxr_comment">// just to be on the safe side...</em>
<a name="736" href="#736">736</a>       <strong class="jxr_keyword">if</strong>(!st.hasMoreTokens())
<a name="737" href="#737">737</a> 	<strong class="jxr_keyword">return</strong>;
<a name="738" href="#738">738</a> 
<a name="739" href="#739">739</a>       String levelStr = st.nextToken();
<a name="740" href="#740">740</a>       LogLog.debug(<span class="jxr_string">"Level token is ["</span> + levelStr + <span class="jxr_string">"]."</span>);
<a name="741" href="#741">741</a> 
<a name="742" href="#742">742</a>       <em class="jxr_comment">// If the level value is inherited, set category level value to</em>
<a name="743" href="#743">743</a>       <em class="jxr_comment">// null. We also check that the user has not specified inherited for the</em>
<a name="744" href="#744">744</a>       <em class="jxr_comment">// root category.</em>
<a name="745" href="#745">745</a>       <strong class="jxr_keyword">if</strong>(INHERITED.equalsIgnoreCase(levelStr) || 
<a name="746" href="#746">746</a>  	                                  NULL.equalsIgnoreCase(levelStr)) {
<a name="747" href="#747">747</a> 	<strong class="jxr_keyword">if</strong>(loggerName.equals(INTERNAL_ROOT_NAME)) {
<a name="748" href="#748">748</a> 	  LogLog.warn(<span class="jxr_string">"The root logger cannot be set to null."</span>);
<a name="749" href="#749">749</a> 	} <strong class="jxr_keyword">else</strong> {
<a name="750" href="#750">750</a> 	  logger.setLevel(<strong class="jxr_keyword">null</strong>);
<a name="751" href="#751">751</a> 	}
<a name="752" href="#752">752</a>       } <strong class="jxr_keyword">else</strong> {
<a name="753" href="#753">753</a> 	logger.setLevel(OptionConverter.toLevel(levelStr, (Level) Level.DEBUG));
<a name="754" href="#754">754</a>       }
<a name="755" href="#755">755</a>       LogLog.debug(<span class="jxr_string">"Category "</span> + loggerName + <span class="jxr_string">" set to "</span> + logger.getLevel());
<a name="756" href="#756">756</a>     }
<a name="757" href="#757">757</a> 
<a name="758" href="#758">758</a>     <em class="jxr_comment">// Begin by removing all existing appenders.</em>
<a name="759" href="#759">759</a>     logger.removeAllAppenders();
<a name="760" href="#760">760</a> 
<a name="761" href="#761">761</a>     <a href="../../../org/apache/log4j/Appender.html">Appender</a> appender;
<a name="762" href="#762">762</a>     String appenderName;
<a name="763" href="#763">763</a>     <strong class="jxr_keyword">while</strong>(st.hasMoreTokens()) {
<a name="764" href="#764">764</a>       appenderName = st.nextToken().trim();
<a name="765" href="#765">765</a>       <strong class="jxr_keyword">if</strong>(appenderName == <strong class="jxr_keyword">null</strong> || appenderName.equals(<span class="jxr_string">","</span>))
<a name="766" href="#766">766</a> 	<strong class="jxr_keyword">continue</strong>;
<a name="767" href="#767">767</a>       LogLog.debug(<span class="jxr_string">"Parsing appender named \&quot;"</span> + appenderName +<span class="jxr_string">"\&quot;."</span>);
<a name="768" href="#768">768</a>       appender = parseAppender(props, appenderName);
<a name="769" href="#769">769</a>       <strong class="jxr_keyword">if</strong>(appender != <strong class="jxr_keyword">null</strong>) {
<a name="770" href="#770">770</a> 	logger.addAppender(appender);
<a name="771" href="#771">771</a>       }
<a name="772" href="#772">772</a>     }
<a name="773" href="#773">773</a>   }
<a name="774" href="#774">774</a> 
<a name="775" href="#775">775</a>   <a href="../../../org/apache/log4j/Appender.html">Appender</a> parseAppender(Properties props, String appenderName) {
<a name="776" href="#776">776</a>     <a href="../../../org/apache/log4j/Appender.html">Appender</a> appender = registryGet(appenderName);
<a name="777" href="#777">777</a>     <strong class="jxr_keyword">if</strong>((appender != <strong class="jxr_keyword">null</strong>)) {
<a name="778" href="#778">778</a>       LogLog.debug(<span class="jxr_string">"Appender \&quot;"</span> + appenderName + <span class="jxr_string">"\&quot; was already parsed."</span>);
<a name="779" href="#779">779</a>       <strong class="jxr_keyword">return</strong> appender;
<a name="780" href="#780">780</a>     }
<a name="781" href="#781">781</a>     <em class="jxr_comment">// Appender was not previously initialized.</em>
<a name="782" href="#782">782</a>     String prefix = APPENDER_PREFIX + appenderName;
<a name="783" href="#783">783</a>     String layoutPrefix = prefix + <span class="jxr_string">".layout"</span>;
<a name="784" href="#784">784</a> 
<a name="785" href="#785">785</a>     appender = (Appender) OptionConverter.instantiateByKey(props, prefix,
<a name="786" href="#786">786</a> 					      org.apache.log4j.Appender.<strong class="jxr_keyword">class</strong>,
<a name="787" href="#787">787</a> 					      <strong class="jxr_keyword">null</strong>);
<a name="788" href="#788">788</a>     <strong class="jxr_keyword">if</strong>(appender == <strong class="jxr_keyword">null</strong>) {
<a name="789" href="#789">789</a>       LogLog.error(
<a name="790" href="#790">790</a>               <span class="jxr_string">"Could not instantiate appender named \&quot;"</span> + appenderName+<span class="jxr_string">"\&quot;."</span>);
<a name="791" href="#791">791</a>       <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
<a name="792" href="#792">792</a>     }
<a name="793" href="#793">793</a>     appender.setName(appenderName);
<a name="794" href="#794">794</a> 
<a name="795" href="#795">795</a>     <strong class="jxr_keyword">if</strong>(appender instanceof <a href="../../../org/apache/log4j/spi/OptionHandler.html">OptionHandler</a>) {
<a name="796" href="#796">796</a>       <strong class="jxr_keyword">if</strong>(appender.requiresLayout()) {
<a name="797" href="#797">797</a> 	Layout layout = (Layout) OptionConverter.instantiateByKey(props,
<a name="798" href="#798">798</a> 								  layoutPrefix,
<a name="799" href="#799">799</a> 								  Layout.<strong class="jxr_keyword">class</strong>,
<a name="800" href="#800">800</a> 								  <strong class="jxr_keyword">null</strong>);
<a name="801" href="#801">801</a> 	<strong class="jxr_keyword">if</strong>(layout != <strong class="jxr_keyword">null</strong>) {
<a name="802" href="#802">802</a> 	  appender.setLayout(layout);
<a name="803" href="#803">803</a> 	  LogLog.debug(<span class="jxr_string">"Parsing layout options for \&quot;"</span> + appenderName +<span class="jxr_string">"\&quot;."</span>);
<a name="804" href="#804">804</a> 	  <em class="jxr_comment">//configureOptionHandler(layout, layoutPrefix + ".", props);</em>
<a name="805" href="#805">805</a>           PropertySetter.setProperties(layout, props, layoutPrefix + <span class="jxr_string">"."</span>);
<a name="806" href="#806">806</a> 	  LogLog.debug(<span class="jxr_string">"End of parsing for \&quot;"</span> + appenderName +<span class="jxr_string">"\&quot;."</span>);
<a name="807" href="#807">807</a> 	}
<a name="808" href="#808">808</a>       }
<a name="809" href="#809">809</a>       <strong class="jxr_keyword">final</strong> String errorHandlerPrefix = prefix + <span class="jxr_string">".errorhandler"</span>;
<a name="810" href="#810">810</a>       String errorHandlerClass = OptionConverter.findAndSubst(errorHandlerPrefix, props);
<a name="811" href="#811">811</a>       <strong class="jxr_keyword">if</strong> (errorHandlerClass != <strong class="jxr_keyword">null</strong>) {
<a name="812" href="#812">812</a>     		ErrorHandler eh = (ErrorHandler) OptionConverter.instantiateByKey(props,
<a name="813" href="#813">813</a> 					  errorHandlerPrefix,
<a name="814" href="#814">814</a> 					  ErrorHandler.<strong class="jxr_keyword">class</strong>,
<a name="815" href="#815">815</a> 					  <strong class="jxr_keyword">null</strong>);
<a name="816" href="#816">816</a>     		<strong class="jxr_keyword">if</strong> (eh != <strong class="jxr_keyword">null</strong>) {
<a name="817" href="#817">817</a>     			  appender.setErrorHandler(eh);
<a name="818" href="#818">818</a>     			  LogLog.debug(<span class="jxr_string">"Parsing errorhandler options for \&quot;"</span> + appenderName +<span class="jxr_string">"\&quot;."</span>);
<a name="819" href="#819">819</a>     			  parseErrorHandler(eh, errorHandlerPrefix, props, repository);
<a name="820" href="#820">820</a>     			  <strong class="jxr_keyword">final</strong> Properties edited = <strong class="jxr_keyword">new</strong> Properties();
<a name="821" href="#821">821</a>     			  <strong class="jxr_keyword">final</strong> String[] keys = <strong class="jxr_keyword">new</strong> String[] { 
<a name="822" href="#822">822</a>     					  errorHandlerPrefix + <span class="jxr_string">"."</span> + ROOT_REF,
<a name="823" href="#823">823</a>     					  errorHandlerPrefix + <span class="jxr_string">"."</span> + LOGGER_REF,
<a name="824" href="#824">824</a>     					  errorHandlerPrefix + <span class="jxr_string">"."</span> + APPENDER_REF_TAG
<a name="825" href="#825">825</a>     			  };
<a name="826" href="#826">826</a>     			  <strong class="jxr_keyword">for</strong>(Iterator iter = props.entrySet().iterator();iter.hasNext();) {
<a name="827" href="#827">827</a>     				  Map.Entry entry = (Map.Entry) iter.next();
<a name="828" href="#828">828</a>     				  <strong class="jxr_keyword">int</strong> i = 0;
<a name="829" href="#829">829</a>     				  <strong class="jxr_keyword">for</strong>(; i &lt; keys.length; i++) {
<a name="830" href="#830">830</a>     					  <strong class="jxr_keyword">if</strong>(keys[i].equals(entry.getKey())) <strong class="jxr_keyword">break</strong>;
<a name="831" href="#831">831</a>     				  }
<a name="832" href="#832">832</a>     				  <strong class="jxr_keyword">if</strong> (i == keys.length) {
<a name="833" href="#833">833</a>     					  edited.put(entry.getKey(), entry.getValue());
<a name="834" href="#834">834</a>     				  }
<a name="835" href="#835">835</a>     			  }
<a name="836" href="#836">836</a>     		      PropertySetter.setProperties(eh, edited, errorHandlerPrefix + <span class="jxr_string">"."</span>);
<a name="837" href="#837">837</a>     			  LogLog.debug(<span class="jxr_string">"End of errorhandler parsing for \&quot;"</span> + appenderName +<span class="jxr_string">"\&quot;."</span>);
<a name="838" href="#838">838</a>     		}
<a name="839" href="#839">839</a>     	  
<a name="840" href="#840">840</a>       }
<a name="841" href="#841">841</a>       <em class="jxr_comment">//configureOptionHandler((OptionHandler) appender, prefix + ".", props);</em>
<a name="842" href="#842">842</a>       PropertySetter.setProperties(appender, props, prefix + <span class="jxr_string">"."</span>);
<a name="843" href="#843">843</a>       LogLog.debug(<span class="jxr_string">"Parsed \&quot;"</span> + appenderName +<span class="jxr_string">"\&quot; options."</span>);
<a name="844" href="#844">844</a>     }
<a name="845" href="#845">845</a>     parseAppenderFilters(props, appenderName, appender);
<a name="846" href="#846">846</a>     registryPut(appender);
<a name="847" href="#847">847</a>     <strong class="jxr_keyword">return</strong> appender;
<a name="848" href="#848">848</a>   }
<a name="849" href="#849">849</a>   
<a name="850" href="#850">850</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> parseErrorHandler(
<a name="851" href="#851">851</a> 		  <strong class="jxr_keyword">final</strong> ErrorHandler eh,
<a name="852" href="#852">852</a> 		  <strong class="jxr_keyword">final</strong> String errorHandlerPrefix,
<a name="853" href="#853">853</a> 		  <strong class="jxr_keyword">final</strong> Properties props, 
<a name="854" href="#854">854</a> 		  <strong class="jxr_keyword">final</strong> LoggerRepository hierarchy) {
<a name="855" href="#855">855</a> 		<strong class="jxr_keyword">boolean</strong> rootRef = OptionConverter.toBoolean(
<a name="856" href="#856">856</a> 					  OptionConverter.findAndSubst(errorHandlerPrefix + ROOT_REF, props), false);
<a name="857" href="#857">857</a> 		<strong class="jxr_keyword">if</strong> (rootRef) {
<a name="858" href="#858">858</a> 				  eh.setLogger(hierarchy.getRootLogger());
<a name="859" href="#859">859</a> 	    }
<a name="860" href="#860">860</a> 		String loggerName = OptionConverter.findAndSubst(errorHandlerPrefix + LOGGER_REF , props);
<a name="861" href="#861">861</a> 		<strong class="jxr_keyword">if</strong> (loggerName != <strong class="jxr_keyword">null</strong>) {
<a name="862" href="#862">862</a> 			Logger logger = (loggerFactory == <strong class="jxr_keyword">null</strong>) ? hierarchy.getLogger(loggerName)
<a name="863" href="#863">863</a> 			                : hierarchy.getLogger(loggerName, loggerFactory);
<a name="864" href="#864">864</a> 			eh.setLogger(logger);
<a name="865" href="#865">865</a> 		}
<a name="866" href="#866">866</a> 		String appenderName = OptionConverter.findAndSubst(errorHandlerPrefix + APPENDER_REF_TAG, props);
<a name="867" href="#867">867</a> 		<strong class="jxr_keyword">if</strong> (appenderName != <strong class="jxr_keyword">null</strong>) {
<a name="868" href="#868">868</a> 			Appender backup = parseAppender(props, appenderName);
<a name="869" href="#869">869</a> 			<strong class="jxr_keyword">if</strong> (backup != <strong class="jxr_keyword">null</strong>) {
<a name="870" href="#870">870</a> 				eh.setBackupAppender(backup);
<a name="871" href="#871">871</a> 			}
<a name="872" href="#872">872</a> 		}
<a name="873" href="#873">873</a>   }
<a name="874" href="#874">874</a> 				
<a name="875" href="#875">875</a>   
<a name="876" href="#876">876</a>   <strong class="jxr_keyword">void</strong> parseAppenderFilters(Properties props, String appenderName, <a href="../../../org/apache/log4j/Appender.html">Appender</a> appender) {
<a name="877" href="#877">877</a>     <em class="jxr_comment">// extract filters and filter options from props into a hashtable mapping</em>
<a name="878" href="#878">878</a>     <em class="jxr_comment">// the property name defining the filter class to a list of pre-parsed</em>
<a name="879" href="#879">879</a>     <em class="jxr_comment">// name-value pairs associated to that filter</em>
<a name="880" href="#880">880</a>     <strong class="jxr_keyword">final</strong> String filterPrefix = APPENDER_PREFIX + appenderName + <span class="jxr_string">".filter."</span>;
<a name="881" href="#881">881</a>     <strong class="jxr_keyword">int</strong> fIdx = filterPrefix.length();
<a name="882" href="#882">882</a>     Hashtable filters = <strong class="jxr_keyword">new</strong> Hashtable();
<a name="883" href="#883">883</a>     Enumeration e = props.keys();
<a name="884" href="#884">884</a>     String name = <span class="jxr_string">""</span>;
<a name="885" href="#885">885</a>     <strong class="jxr_keyword">while</strong> (e.hasMoreElements()) {
<a name="886" href="#886">886</a>       String key = (String) e.nextElement();
<a name="887" href="#887">887</a>       <strong class="jxr_keyword">if</strong> (key.startsWith(filterPrefix)) {
<a name="888" href="#888">888</a>         <strong class="jxr_keyword">int</strong> dotIdx = key.indexOf('.', fIdx);
<a name="889" href="#889">889</a>         String filterKey = key;
<a name="890" href="#890">890</a>         <strong class="jxr_keyword">if</strong> (dotIdx != -1) {
<a name="891" href="#891">891</a>           filterKey = key.substring(0, dotIdx);
<a name="892" href="#892">892</a>           name = key.substring(dotIdx+1);
<a name="893" href="#893">893</a>         }
<a name="894" href="#894">894</a>         Vector filterOpts = (Vector) filters.get(filterKey);
<a name="895" href="#895">895</a>         <strong class="jxr_keyword">if</strong> (filterOpts == <strong class="jxr_keyword">null</strong>) {
<a name="896" href="#896">896</a>           filterOpts = <strong class="jxr_keyword">new</strong> Vector();
<a name="897" href="#897">897</a>           filters.put(filterKey, filterOpts);
<a name="898" href="#898">898</a>         }
<a name="899" href="#899">899</a>         <strong class="jxr_keyword">if</strong> (dotIdx != -1) {
<a name="900" href="#900">900</a>           String value = OptionConverter.findAndSubst(key, props);
<a name="901" href="#901">901</a>           filterOpts.add(<strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/PropertyConfigurator.html">NameValue</a>(name, value));
<a name="902" href="#902">902</a>         }
<a name="903" href="#903">903</a>       }
<a name="904" href="#904">904</a>     }
<a name="905" href="#905">905</a> 
<a name="906" href="#906">906</a>     <em class="jxr_comment">// sort filters by IDs, insantiate filters, set filter options,</em>
<a name="907" href="#907">907</a>     <em class="jxr_comment">// add filters to the appender</em>
<a name="908" href="#908">908</a>     Enumeration g = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/PropertyConfigurator.html">SortedKeyEnumeration</a>(filters);
<a name="909" href="#909">909</a>     <strong class="jxr_keyword">while</strong> (g.hasMoreElements()) {
<a name="910" href="#910">910</a>       String key = (String) g.nextElement();
<a name="911" href="#911">911</a>       String clazz = props.getProperty(key);
<a name="912" href="#912">912</a>       <strong class="jxr_keyword">if</strong> (clazz != <strong class="jxr_keyword">null</strong>) {
<a name="913" href="#913">913</a>         LogLog.debug(<span class="jxr_string">"Filter key: ["</span>+key+<span class="jxr_string">"] class: ["</span>+props.getProperty(key) +<span class="jxr_string">"] props: "</span>+filters.get(key));
<a name="914" href="#914">914</a>         <a href="../../../org/apache/log4j/spi/Filter.html">Filter</a> filter = (Filter) OptionConverter.instantiateByClassName(clazz, Filter.<strong class="jxr_keyword">class</strong>, <strong class="jxr_keyword">null</strong>);
<a name="915" href="#915">915</a>         <strong class="jxr_keyword">if</strong> (filter != <strong class="jxr_keyword">null</strong>) {
<a name="916" href="#916">916</a>           <a href="../../../org/apache/log4j/config/PropertySetter.html">PropertySetter</a> propSetter = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/config/PropertySetter.html">PropertySetter</a>(filter);
<a name="917" href="#917">917</a>           Vector v = (Vector)filters.get(key);
<a name="918" href="#918">918</a>           Enumeration filterProps = v.elements();
<a name="919" href="#919">919</a>           <strong class="jxr_keyword">while</strong> (filterProps.hasMoreElements()) {
<a name="920" href="#920">920</a>             <a href="../../../org/apache/log4j/PropertyConfigurator.html">NameValue</a> kv = (NameValue)filterProps.nextElement();
<a name="921" href="#921">921</a>             propSetter.setProperty(kv.key, kv.value);
<a name="922" href="#922">922</a>           }
<a name="923" href="#923">923</a>           propSetter.activate();
<a name="924" href="#924">924</a>           LogLog.debug(<span class="jxr_string">"Adding filter of type ["</span>+filter.getClass()
<a name="925" href="#925">925</a>            +<span class="jxr_string">"] to appender named ["</span>+appender.getName()+<span class="jxr_string">"]."</span>);
<a name="926" href="#926">926</a>           appender.addFilter(filter);
<a name="927" href="#927">927</a>         }
<a name="928" href="#928">928</a>       } <strong class="jxr_keyword">else</strong> {
<a name="929" href="#929">929</a>         LogLog.warn(<span class="jxr_string">"Missing class definition for filter: ["</span>+key+<span class="jxr_string">"]"</span>);
<a name="930" href="#930">930</a>       }
<a name="931" href="#931">931</a>     }
<a name="932" href="#932">932</a>   }
<a name="933" href="#933">933</a> 
<a name="934" href="#934">934</a> 
<a name="935" href="#935">935</a>   <strong class="jxr_keyword">void</strong>  registryPut(Appender appender) {
<a name="936" href="#936">936</a>     registry.put(appender.getName(), appender);
<a name="937" href="#937">937</a>   }
<a name="938" href="#938">938</a> 
<a name="939" href="#939">939</a>   <a href="../../../org/apache/log4j/Appender.html">Appender</a> registryGet(String name) {
<a name="940" href="#940">940</a>     <strong class="jxr_keyword">return</strong> (Appender) registry.get(name);
<a name="941" href="#941">941</a>   }
<a name="942" href="#942">942</a> }
<a name="943" href="#943">943</a> 
<a name="944" href="#944">944</a> <strong class="jxr_keyword">class</strong> <a href="../../../org/apache/log4j/PropertyConfigurator.html">PropertyWatchdog</a> <strong class="jxr_keyword">extends</strong> <a href="../../../org/apache/log4j/helpers/FileWatchdog.html">FileWatchdog</a> {
<a name="945" href="#945">945</a> 
<a name="946" href="#946">946</a>   <a href="../../../org/apache/log4j/PropertyConfigurator.html">PropertyWatchdog</a>(String filename) {
<a name="947" href="#947">947</a>     <strong class="jxr_keyword">super</strong>(filename);
<a name="948" href="#948">948</a>   }
<a name="949" href="#949">949</a> 
<a name="950" href="#950">950</a>   <em class="jxr_javadoccomment">/**</em>
<a name="951" href="#951">951</a> <em class="jxr_javadoccomment">     Call {@link PropertyConfigurator#configure(String)} with the</em>
<a name="952" href="#952">952</a> <em class="jxr_javadoccomment">     &lt;code&gt;filename&lt;/code&gt; to reconfigure log4j. */</em>
<a name="953" href="#953">953</a>   <strong class="jxr_keyword">public</strong>
<a name="954" href="#954">954</a>   <strong class="jxr_keyword">void</strong> doOnChange() {
<a name="955" href="#955">955</a>     <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/PropertyConfigurator.html">PropertyConfigurator</a>().doConfigure(filename,
<a name="956" href="#956">956</a> 					   LogManager.getLoggerRepository());
<a name="957" href="#957">957</a>   }
<a name="958" href="#958">958</a> }
<a name="959" href="#959">959</a> 
<a name="960" href="#960">960</a> <strong class="jxr_keyword">class</strong> <a href="../../../org/apache/log4j/PropertyConfigurator.html">NameValue</a> {
<a name="961" href="#961">961</a>   String key, value;
<a name="962" href="#962">962</a>   <strong class="jxr_keyword">public</strong> <a href="../../../org/apache/log4j/PropertyConfigurator.html">NameValue</a>(String key, String value) {
<a name="963" href="#963">963</a>     <strong class="jxr_keyword">this</strong>.key = key;
<a name="964" href="#964">964</a>     <strong class="jxr_keyword">this</strong>.value = value;
<a name="965" href="#965">965</a>   }
<a name="966" href="#966">966</a>   <strong class="jxr_keyword">public</strong> String toString() {
<a name="967" href="#967">967</a>     <strong class="jxr_keyword">return</strong> key + <span class="jxr_string">"="</span> + value;
<a name="968" href="#968">968</a>   }
<a name="969" href="#969">969</a> }
<a name="970" href="#970">970</a> 
<a name="971" href="#971">971</a> <strong class="jxr_keyword">class</strong> <a href="../../../org/apache/log4j/PropertyConfigurator.html">SortedKeyEnumeration</a> implements Enumeration {
<a name="972" href="#972">972</a> 
<a name="973" href="#973">973</a>   <strong class="jxr_keyword">private</strong> Enumeration e;
<a name="974" href="#974">974</a> 
<a name="975" href="#975">975</a>   <strong class="jxr_keyword">public</strong> <a href="../../../org/apache/log4j/PropertyConfigurator.html">SortedKeyEnumeration</a>(Hashtable ht) {
<a name="976" href="#976">976</a>     Enumeration f = ht.keys();
<a name="977" href="#977">977</a>     Vector keys = <strong class="jxr_keyword">new</strong> Vector(ht.size());
<a name="978" href="#978">978</a>     <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i, last = 0; f.hasMoreElements(); ++last) {
<a name="979" href="#979">979</a>       String key = (String) f.nextElement();
<a name="980" href="#980">980</a>       <strong class="jxr_keyword">for</strong> (i = 0; i &lt; last; ++i) {
<a name="981" href="#981">981</a>         String s = (String) keys.get(i);
<a name="982" href="#982">982</a>         <strong class="jxr_keyword">if</strong> (key.compareTo(s) &lt;= 0) <strong class="jxr_keyword">break</strong>;
<a name="983" href="#983">983</a>       }
<a name="984" href="#984">984</a>       keys.add(i, key);
<a name="985" href="#985">985</a>     }
<a name="986" href="#986">986</a>     e = keys.elements();
<a name="987" href="#987">987</a>   }
<a name="988" href="#988">988</a> 
<a name="989" href="#989">989</a>   <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> hasMoreElements() {
<a name="990" href="#990">990</a>     <strong class="jxr_keyword">return</strong> e.hasMoreElements();
<a name="991" href="#991">991</a>   }
<a name="992" href="#992">992</a> 
<a name="993" href="#993">993</a>   <strong class="jxr_keyword">public</strong> Object nextElement() {
<a name="994" href="#994">994</a>     <strong class="jxr_keyword">return</strong> e.nextElement();
<a name="995" href="#995">995</a>   }
<a name="996" href="#996">996</a> }
</pre>
<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
</html>

