<!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=UTF-8" />
<title>PropertiesConfiguration xref</title>
<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" />
</head>
<body>
<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/config/PropertiesConfiguration.html">View Javadoc</a></div><pre>
<a class="jxr_linenumber" name="L1" href="#L1">1</a>   <em class="jxr_comment">/*</em>
<a class="jxr_linenumber" name="L2" href="#L2">2</a>   <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em>
<a class="jxr_linenumber" name="L3" href="#L3">3</a>   <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em>
<a class="jxr_linenumber" name="L4" href="#L4">4</a>   <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em>
<a class="jxr_linenumber" name="L5" href="#L5">5</a>   <em class="jxr_comment"> * The ASF licenses this file to You under the Apache license, Version 2.0</em>
<a class="jxr_linenumber" name="L6" href="#L6">6</a>   <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em>
<a class="jxr_linenumber" name="L7" href="#L7">7</a>   <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em>
<a class="jxr_linenumber" name="L8" href="#L8">8</a>   <em class="jxr_comment"> *</em>
<a class="jxr_linenumber" name="L9" href="#L9">9</a>   <em class="jxr_comment"> *      <a href="http://www.apache.org/licenses/LICENSE-2." target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.</a>0</em>
<a class="jxr_linenumber" name="L10" href="#L10">10</a>  <em class="jxr_comment"> *</em>
<a class="jxr_linenumber" name="L11" href="#L11">11</a>  <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em>
<a class="jxr_linenumber" name="L12" href="#L12">12</a>  <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em>
<a class="jxr_linenumber" name="L13" href="#L13">13</a>  <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em>
<a class="jxr_linenumber" name="L14" href="#L14">14</a>  <em class="jxr_comment"> * See the license for the specific language governing permissions and</em>
<a class="jxr_linenumber" name="L15" href="#L15">15</a>  <em class="jxr_comment"> * limitations under the license.</em>
<a class="jxr_linenumber" name="L16" href="#L16">16</a>  <em class="jxr_comment"> */</em>
<a class="jxr_linenumber" name="L17" href="#L17">17</a>  <strong class="jxr_keyword">package</strong> org.apache.log4j.config;
<a class="jxr_linenumber" name="L18" href="#L18">18</a>  
<a class="jxr_linenumber" name="L19" href="#L19">19</a>  <strong class="jxr_keyword">import</strong> org.apache.log4j.Appender;
<a class="jxr_linenumber" name="L20" href="#L20">20</a>  <strong class="jxr_keyword">import</strong> org.apache.log4j.Layout;
<a class="jxr_linenumber" name="L21" href="#L21">21</a>  <strong class="jxr_keyword">import</strong> org.apache.log4j.LogManager;
<a class="jxr_linenumber" name="L22" href="#L22">22</a>  <strong class="jxr_keyword">import</strong> org.apache.log4j.PatternLayout;
<a class="jxr_linenumber" name="L23" href="#L23">23</a>  <strong class="jxr_keyword">import</strong> org.apache.log4j.bridge.AppenderAdapter;
<a class="jxr_linenumber" name="L24" href="#L24">24</a>  <strong class="jxr_keyword">import</strong> org.apache.log4j.bridge.AppenderWrapper;
<a class="jxr_linenumber" name="L25" href="#L25">25</a>  <strong class="jxr_keyword">import</strong> org.apache.log4j.builders.BuilderManager;
<a class="jxr_linenumber" name="L26" href="#L26">26</a>  <strong class="jxr_keyword">import</strong> org.apache.log4j.helpers.OptionConverter;
<a class="jxr_linenumber" name="L27" href="#L27">27</a>  <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.ErrorHandler;
<a class="jxr_linenumber" name="L28" href="#L28">28</a>  <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.Filter;
<a class="jxr_linenumber" name="L29" href="#L29">29</a>  <strong class="jxr_keyword">import</strong> org.apache.logging.log4j.core.LoggerContext;
<a class="jxr_linenumber" name="L30" href="#L30">30</a>  <strong class="jxr_keyword">import</strong> org.apache.logging.log4j.core.config.ConfigurationSource;
<a class="jxr_linenumber" name="L31" href="#L31">31</a>  <strong class="jxr_keyword">import</strong> org.apache.logging.log4j.core.config.LoggerConfig;
<a class="jxr_linenumber" name="L32" href="#L32">32</a>  <strong class="jxr_keyword">import</strong> org.apache.logging.log4j.core.config.status.StatusConfiguration;
<a class="jxr_linenumber" name="L33" href="#L33">33</a>  <strong class="jxr_keyword">import</strong> org.apache.logging.log4j.util.LoaderUtil;
<a class="jxr_linenumber" name="L34" href="#L34">34</a>  
<a class="jxr_linenumber" name="L35" href="#L35">35</a>  <strong class="jxr_keyword">import</strong> java.io.InputStream;
<a class="jxr_linenumber" name="L36" href="#L36">36</a>  <strong class="jxr_keyword">import</strong> java.lang.reflect.InvocationTargetException;
<a class="jxr_linenumber" name="L37" href="#L37">37</a>  <strong class="jxr_keyword">import</strong> java.util.ArrayList;
<a class="jxr_linenumber" name="L38" href="#L38">38</a>  <strong class="jxr_keyword">import</strong> java.util.Enumeration;
<a class="jxr_linenumber" name="L39" href="#L39">39</a>  <strong class="jxr_keyword">import</strong> java.util.HashMap;
<a class="jxr_linenumber" name="L40" href="#L40">40</a>  <strong class="jxr_keyword">import</strong> java.util.List;
<a class="jxr_linenumber" name="L41" href="#L41">41</a>  <strong class="jxr_keyword">import</strong> java.util.Map;
<a class="jxr_linenumber" name="L42" href="#L42">42</a>  <strong class="jxr_keyword">import</strong> java.util.Properties;
<a class="jxr_linenumber" name="L43" href="#L43">43</a>  <strong class="jxr_keyword">import</strong> java.util.SortedMap;
<a class="jxr_linenumber" name="L44" href="#L44">44</a>  <strong class="jxr_keyword">import</strong> java.util.StringTokenizer;
<a class="jxr_linenumber" name="L45" href="#L45">45</a>  <strong class="jxr_keyword">import</strong> java.util.TreeMap;
<a class="jxr_linenumber" name="L46" href="#L46">46</a>  
<a class="jxr_linenumber" name="L47" href="#L47">47</a>  <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L48" href="#L48">48</a>  <em class="jxr_javadoccomment"> * Construct a configuration based on Log4j 1 properties.</em>
<a class="jxr_linenumber" name="L49" href="#L49">49</a>  <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="L50" href="#L50">50</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/config/PropertiesConfiguration.html">PropertiesConfiguration</a>  <strong class="jxr_keyword">extends</strong> Log4j1Configuration {
<a class="jxr_linenumber" name="L51" href="#L51">51</a>  
<a class="jxr_linenumber" name="L52" href="#L52">52</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String CATEGORY_PREFIX = <span class="jxr_string">"log4j.category."</span>;
<a class="jxr_linenumber" name="L53" href="#L53">53</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String LOGGER_PREFIX = <span class="jxr_string">"log4j.logger."</span>;
<a class="jxr_linenumber" name="L54" href="#L54">54</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String ADDITIVITY_PREFIX = <span class="jxr_string">"log4j.additivity."</span>;
<a class="jxr_linenumber" name="L55" href="#L55">55</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String ROOT_CATEGORY_PREFIX = <span class="jxr_string">"log4j.rootCategory"</span>;
<a class="jxr_linenumber" name="L56" href="#L56">56</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String ROOT_LOGGER_PREFIX = <span class="jxr_string">"log4j.rootLogger"</span>;
<a class="jxr_linenumber" name="L57" href="#L57">57</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String APPENDER_PREFIX = <span class="jxr_string">"log4j.appender."</span>;
<a class="jxr_linenumber" name="L58" href="#L58">58</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 class="jxr_linenumber" name="L59" href="#L59">59</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 class="jxr_linenumber" name="L60" href="#L60">60</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 class="jxr_linenumber" name="L61" href="#L61">61</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> DEFAULT_DELAY = 60000;
<a class="jxr_linenumber" name="L62" href="#L62">62</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String DEBUG_KEY=<span class="jxr_string">"log4j.debug"</span>;
<a class="jxr_linenumber" name="L63" href="#L63">63</a>  
<a class="jxr_linenumber" name="L64" href="#L64">64</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String INTERNAL_ROOT_NAME = <span class="jxr_string">"root"</span>;
<a class="jxr_linenumber" name="L65" href="#L65">65</a>  
<a class="jxr_linenumber" name="L66" href="#L66">66</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> Map&lt;String, Appender&gt; registry;
<a class="jxr_linenumber" name="L67" href="#L67">67</a>  
<a class="jxr_linenumber" name="L68" href="#L68">68</a>      <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L69" href="#L69">69</a>  <em class="jxr_javadoccomment">     * No argument constructor.</em>
<a class="jxr_linenumber" name="L70" href="#L70">70</a>  <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="L71" href="#L71">71</a>      <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/config/PropertiesConfiguration.html">PropertiesConfiguration</a>(<strong class="jxr_keyword">final</strong> LoggerContext loggerContext, <strong class="jxr_keyword">final</strong> ConfigurationSource source,
<a class="jxr_linenumber" name="L72" href="#L72">72</a>              <strong class="jxr_keyword">int</strong> monitorIntervalSeconds) {
<a class="jxr_linenumber" name="L73" href="#L73">73</a>          <strong class="jxr_keyword">super</strong>(loggerContext, source, monitorIntervalSeconds);
<a class="jxr_linenumber" name="L74" href="#L74">74</a>          registry = <strong class="jxr_keyword">new</strong> HashMap&lt;&gt;();
<a class="jxr_linenumber" name="L75" href="#L75">75</a>      }
<a class="jxr_linenumber" name="L76" href="#L76">76</a>  
<a class="jxr_linenumber" name="L77" href="#L77">77</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> doConfigure() {
<a class="jxr_linenumber" name="L78" href="#L78">78</a>          InputStream is = getConfigurationSource().getInputStream();
<a class="jxr_linenumber" name="L79" href="#L79">79</a>          Properties props = <strong class="jxr_keyword">new</strong> Properties();
<a class="jxr_linenumber" name="L80" href="#L80">80</a>          <strong class="jxr_keyword">try</strong> {
<a class="jxr_linenumber" name="L81" href="#L81">81</a>              props.load(is);
<a class="jxr_linenumber" name="L82" href="#L82">82</a>          } <strong class="jxr_keyword">catch</strong> (Exception e) {
<a class="jxr_linenumber" name="L83" href="#L83">83</a>              LOGGER.error(<span class="jxr_string">"Could not read configuration file [{}]."</span>, getConfigurationSource().toString(), e);
<a class="jxr_linenumber" name="L84" href="#L84">84</a>              <strong class="jxr_keyword">return</strong>;
<a class="jxr_linenumber" name="L85" href="#L85">85</a>          }
<a class="jxr_linenumber" name="L86" href="#L86">86</a>          <em class="jxr_comment">// If we reach here, then the config file is alright.</em>
<a class="jxr_linenumber" name="L87" href="#L87">87</a>          doConfigure(props);
<a class="jxr_linenumber" name="L88" href="#L88">88</a>      }
<a class="jxr_linenumber" name="L89" href="#L89">89</a>  
<a class="jxr_linenumber" name="L90" href="#L90">90</a>      <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L91" href="#L91">91</a>  <em class="jxr_javadoccomment">     * Read configuration from a file. &lt;b&gt;The existing configuration is</em>
<a class="jxr_linenumber" name="L92" href="#L92">92</a>  <em class="jxr_javadoccomment">     * not cleared nor reset.&lt;/b&gt; If you require a different behavior,</em>
<a class="jxr_linenumber" name="L93" href="#L93">93</a>  <em class="jxr_javadoccomment">     * then call {@link  LogManager#resetConfiguration</em>
<a class="jxr_linenumber" name="L94" href="#L94">94</a>  <em class="jxr_javadoccomment">     * resetConfiguration} method before calling</em>
<a class="jxr_linenumber" name="L95" href="#L95">95</a>  <em class="jxr_javadoccomment">     * &lt;code&gt;doConfigure&lt;/code&gt;.</em>
<a class="jxr_linenumber" name="L96" href="#L96">96</a>  <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="L97" href="#L97">97</a>  <em class="jxr_javadoccomment">     * &lt;p&gt;The configuration file consists of statements in the format</em>
<a class="jxr_linenumber" name="L98" href="#L98">98</a>  <em class="jxr_javadoccomment">     * &lt;code&gt;key=value&lt;/code&gt;. The syntax of different configuration</em>
<a class="jxr_linenumber" name="L99" href="#L99">99</a>  <em class="jxr_javadoccomment">     * elements are discussed below.</em>
<a class="jxr_linenumber" name="L100" href="#L100">100</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="L101" href="#L101">101</a> <em class="jxr_javadoccomment">     * &lt;p&gt;The level value can consist of the string values OFF, FATAL,</em>
<a class="jxr_linenumber" name="L102" href="#L102">102</a> <em class="jxr_javadoccomment">     * ERROR, WARN, INFO, DEBUG, ALL or a &lt;em&gt;custom level&lt;/em&gt; value. A</em>
<a class="jxr_linenumber" name="L103" href="#L103">103</a> <em class="jxr_javadoccomment">     * custom level value can be specified in the form</em>
<a class="jxr_linenumber" name="L104" href="#L104">104</a> <em class="jxr_javadoccomment">     * level#classname. By default the repository-wide threshold is set</em>
<a class="jxr_linenumber" name="L105" href="#L105">105</a> <em class="jxr_javadoccomment">     * to the lowest possible value, namely the level &lt;code&gt;ALL&lt;/code&gt;.</em>
<a class="jxr_linenumber" name="L106" href="#L106">106</a> <em class="jxr_javadoccomment">     * &lt;/p&gt;</em>
<a class="jxr_linenumber" name="L107" href="#L107">107</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="L108" href="#L108">108</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="L109" href="#L109">109</a> <em class="jxr_javadoccomment">     * &lt;h3&gt;Appender configuration&lt;/h3&gt;</em>
<a class="jxr_linenumber" name="L110" href="#L110">110</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="L111" href="#L111">111</a> <em class="jxr_javadoccomment">     * &lt;p&gt;Appender configuration syntax is:</em>
<a class="jxr_linenumber" name="L112" href="#L112">112</a> <em class="jxr_javadoccomment">     * &lt;pre&gt;</em>
<a class="jxr_linenumber" name="L113" href="#L113">113</a> <em class="jxr_javadoccomment">     * # For appender named &lt;i&gt;appenderName&lt;/i&gt;, set its class.</em>
<a class="jxr_linenumber" name="L114" href="#L114">114</a> <em class="jxr_javadoccomment">     * # Note: The appender name can contain dots.</em>
<a class="jxr_linenumber" name="L115" href="#L115">115</a> <em class="jxr_javadoccomment">     * log4j.appender.appenderName=fully.qualified.name.of.appender.class</em>
<a class="jxr_linenumber" name="L116" href="#L116">116</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="L117" href="#L117">117</a> <em class="jxr_javadoccomment">     * # Set appender specific options.</em>
<a class="jxr_linenumber" name="L118" href="#L118">118</a> <em class="jxr_javadoccomment">     * log4j.appender.appenderName.option1=value1</em>
<a class="jxr_linenumber" name="L119" href="#L119">119</a> <em class="jxr_javadoccomment">     * ...</em>
<a class="jxr_linenumber" name="L120" href="#L120">120</a> <em class="jxr_javadoccomment">     * log4j.appender.appenderName.optionN=valueN</em>
<a class="jxr_linenumber" name="L121" href="#L121">121</a> <em class="jxr_javadoccomment">     * &lt;/pre&gt;</em>
<a class="jxr_linenumber" name="L122" href="#L122">122</a> <em class="jxr_javadoccomment">     * &lt;p&gt;</em>
<a class="jxr_linenumber" name="L123" href="#L123">123</a> <em class="jxr_javadoccomment">     * For each named appender you can configure its {@link Layout}. The</em>
<a class="jxr_linenumber" name="L124" href="#L124">124</a> <em class="jxr_javadoccomment">     * syntax for configuring an appender's layout is:</em>
<a class="jxr_linenumber" name="L125" href="#L125">125</a> <em class="jxr_javadoccomment">     * &lt;pre&gt;</em>
<a class="jxr_linenumber" name="L126" href="#L126">126</a> <em class="jxr_javadoccomment">     * log4j.appender.appenderName.layout=fully.qualified.name.of.layout.class</em>
<a class="jxr_linenumber" name="L127" href="#L127">127</a> <em class="jxr_javadoccomment">     * log4j.appender.appenderName.layout.option1=value1</em>
<a class="jxr_linenumber" name="L128" href="#L128">128</a> <em class="jxr_javadoccomment">     * ....</em>
<a class="jxr_linenumber" name="L129" href="#L129">129</a> <em class="jxr_javadoccomment">     * log4j.appender.appenderName.layout.optionN=valueN</em>
<a class="jxr_linenumber" name="L130" href="#L130">130</a> <em class="jxr_javadoccomment">     * &lt;/pre&gt;</em>
<a class="jxr_linenumber" name="L131" href="#L131">131</a> <em class="jxr_javadoccomment">     * &lt;p&gt;</em>
<a class="jxr_linenumber" name="L132" href="#L132">132</a> <em class="jxr_javadoccomment">     * The syntax for adding {@link Filter}s to an appender is:</em>
<a class="jxr_linenumber" name="L133" href="#L133">133</a> <em class="jxr_javadoccomment">     * &lt;pre&gt;</em>
<a class="jxr_linenumber" name="L134" href="#L134">134</a> <em class="jxr_javadoccomment">     * log4j.appender.appenderName.filter.ID=fully.qualified.name.of.filter.class</em>
<a class="jxr_linenumber" name="L135" href="#L135">135</a> <em class="jxr_javadoccomment">     * log4j.appender.appenderName.filter.ID.option1=value1</em>
<a class="jxr_linenumber" name="L136" href="#L136">136</a> <em class="jxr_javadoccomment">     * ...</em>
<a class="jxr_linenumber" name="L137" href="#L137">137</a> <em class="jxr_javadoccomment">     * log4j.appender.appenderName.filter.ID.optionN=valueN</em>
<a class="jxr_linenumber" name="L138" href="#L138">138</a> <em class="jxr_javadoccomment">     * &lt;/pre&gt;</em>
<a class="jxr_linenumber" name="L139" href="#L139">139</a> <em class="jxr_javadoccomment">     * The first line defines the class name of the filter identified by ID;</em>
<a class="jxr_linenumber" name="L140" href="#L140">140</a> <em class="jxr_javadoccomment">     * subsequent lines with the same ID specify filter option - value</em>
<a class="jxr_linenumber" name="L141" href="#L141">141</a> <em class="jxr_javadoccomment">     * pairs. Multiple filters are added to the appender in the lexicographic</em>
<a class="jxr_linenumber" name="L142" href="#L142">142</a> <em class="jxr_javadoccomment">     * order of IDs.</em>
<a class="jxr_linenumber" name="L143" href="#L143">143</a> <em class="jxr_javadoccomment">     * &lt;p&gt;</em>
<a class="jxr_linenumber" name="L144" href="#L144">144</a> <em class="jxr_javadoccomment">     * The syntax for adding an {@link ErrorHandler} to an appender is:</em>
<a class="jxr_linenumber" name="L145" href="#L145">145</a> <em class="jxr_javadoccomment">     * &lt;pre&gt;</em>
<a class="jxr_linenumber" name="L146" href="#L146">146</a> <em class="jxr_javadoccomment">     * log4j.appender.appenderName.errorhandler=fully.qualified.name.of.errorhandler.class</em>
<a class="jxr_linenumber" name="L147" href="#L147">147</a> <em class="jxr_javadoccomment">     * log4j.appender.appenderName.errorhandler.appender-ref=appenderName</em>
<a class="jxr_linenumber" name="L148" href="#L148">148</a> <em class="jxr_javadoccomment">     * log4j.appender.appenderName.errorhandler.option1=value1</em>
<a class="jxr_linenumber" name="L149" href="#L149">149</a> <em class="jxr_javadoccomment">     * ...</em>
<a class="jxr_linenumber" name="L150" href="#L150">150</a> <em class="jxr_javadoccomment">     * log4j.appender.appenderName.errorhandler.optionN=valueN</em>
<a class="jxr_linenumber" name="L151" href="#L151">151</a> <em class="jxr_javadoccomment">     * &lt;/pre&gt;</em>
<a class="jxr_linenumber" name="L152" href="#L152">152</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="L153" href="#L153">153</a> <em class="jxr_javadoccomment">     * &lt;h3&gt;Configuring loggers&lt;/h3&gt;</em>
<a class="jxr_linenumber" name="L154" href="#L154">154</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="L155" href="#L155">155</a> <em class="jxr_javadoccomment">     * &lt;p&gt;The syntax for configuring the root logger is:</em>
<a class="jxr_linenumber" name="L156" href="#L156">156</a> <em class="jxr_javadoccomment">     * &lt;pre&gt;</em>
<a class="jxr_linenumber" name="L157" href="#L157">157</a> <em class="jxr_javadoccomment">     * log4j.rootLogger=[level], appenderName, appenderName, ...</em>
<a class="jxr_linenumber" name="L158" href="#L158">158</a> <em class="jxr_javadoccomment">     * &lt;/pre&gt;</em>
<a class="jxr_linenumber" name="L159" href="#L159">159</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="L160" href="#L160">160</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 class="jxr_linenumber" name="L161" href="#L161">161</a> <em class="jxr_javadoccomment">     * supplied followed by appender names separated by commas.</em>
<a class="jxr_linenumber" name="L162" href="#L162">162</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="L163" href="#L163">163</a> <em class="jxr_javadoccomment">     * &lt;p&gt;The level value can consist of the string values OFF, FATAL,</em>
<a class="jxr_linenumber" name="L164" href="#L164">164</a> <em class="jxr_javadoccomment">     * ERROR, WARN, INFO, DEBUG, ALL or a &lt;em&gt;custom level&lt;/em&gt; value. A</em>
<a class="jxr_linenumber" name="L165" href="#L165">165</a> <em class="jxr_javadoccomment">     * custom level value can be specified in the form</em>
<a class="jxr_linenumber" name="L166" href="#L166">166</a> <em class="jxr_javadoccomment">     * &lt;code&gt;level#classname&lt;/code&gt;.</em>
<a class="jxr_linenumber" name="L167" href="#L167">167</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="L168" href="#L168">168</a> <em class="jxr_javadoccomment">     * &lt;p&gt;If a level value is specified, then the root level is set</em>
<a class="jxr_linenumber" name="L169" href="#L169">169</a> <em class="jxr_javadoccomment">     * to the corresponding level.  If no level value is specified,</em>
<a class="jxr_linenumber" name="L170" href="#L170">170</a> <em class="jxr_javadoccomment">     * then the root level remains untouched.</em>
<a class="jxr_linenumber" name="L171" href="#L171">171</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="L172" href="#L172">172</a> <em class="jxr_javadoccomment">     * &lt;p&gt;The root logger can be assigned multiple appenders.</em>
<a class="jxr_linenumber" name="L173" href="#L173">173</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="L174" href="#L174">174</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 class="jxr_linenumber" name="L175" href="#L175">175</a> <em class="jxr_javadoccomment">     * the root logger. The named appender is defined using the</em>
<a class="jxr_linenumber" name="L176" href="#L176">176</a> <em class="jxr_javadoccomment">     * appender syntax defined above.</em>
<a class="jxr_linenumber" name="L177" href="#L177">177</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="L178" href="#L178">178</a> <em class="jxr_javadoccomment">     * &lt;p&gt;For non-root categories the syntax is almost the same:</em>
<a class="jxr_linenumber" name="L179" href="#L179">179</a> <em class="jxr_javadoccomment">     * &lt;pre&gt;</em>
<a class="jxr_linenumber" name="L180" href="#L180">180</a> <em class="jxr_javadoccomment">     * log4j.logger.logger_name=[level|INHERITED|NULL], appenderName, appenderName, ...</em>
<a class="jxr_linenumber" name="L181" href="#L181">181</a> <em class="jxr_javadoccomment">     * &lt;/pre&gt;</em>
<a class="jxr_linenumber" name="L182" href="#L182">182</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="L183" href="#L183">183</a> <em class="jxr_javadoccomment">     * &lt;p&gt;The meaning of the optional level value is discussed above</em>
<a class="jxr_linenumber" name="L184" href="#L184">184</a> <em class="jxr_javadoccomment">     * in relation to the root logger. In addition however, the value</em>
<a class="jxr_linenumber" name="L185" href="#L185">185</a> <em class="jxr_javadoccomment">     * INHERITED can be specified meaning that the named logger should</em>
<a class="jxr_linenumber" name="L186" href="#L186">186</a> <em class="jxr_javadoccomment">     * inherit its level from the logger hierarchy.</em>
<a class="jxr_linenumber" name="L187" href="#L187">187</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="L188" href="#L188">188</a> <em class="jxr_javadoccomment">     * &lt;p&gt;If no level value is supplied, then the level of the</em>
<a class="jxr_linenumber" name="L189" href="#L189">189</a> <em class="jxr_javadoccomment">     * named logger remains untouched.</em>
<a class="jxr_linenumber" name="L190" href="#L190">190</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="L191" href="#L191">191</a> <em class="jxr_javadoccomment">     * &lt;p&gt;By default categories inherit their level from the</em>
<a class="jxr_linenumber" name="L192" href="#L192">192</a> <em class="jxr_javadoccomment">     * hierarchy. However, if you set the level of a logger and later</em>
<a class="jxr_linenumber" name="L193" href="#L193">193</a> <em class="jxr_javadoccomment">     * decide that that logger should inherit its level, then you should</em>
<a class="jxr_linenumber" name="L194" href="#L194">194</a> <em class="jxr_javadoccomment">     * specify INHERITED as the value for the level value. NULL is a</em>
<a class="jxr_linenumber" name="L195" href="#L195">195</a> <em class="jxr_javadoccomment">     * synonym for INHERITED.</em>
<a class="jxr_linenumber" name="L196" href="#L196">196</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="L197" href="#L197">197</a> <em class="jxr_javadoccomment">     * &lt;p&gt;Similar to the root logger syntax, each &lt;i&gt;appenderName&lt;/i&gt;</em>
<a class="jxr_linenumber" name="L198" href="#L198">198</a> <em class="jxr_javadoccomment">     * (separated by commas) will be attached to the named logger.</em>
<a class="jxr_linenumber" name="L199" href="#L199">199</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="L200" href="#L200">200</a> <em class="jxr_javadoccomment">     * &lt;p&gt;See the &lt;a href="../../../../manual.html#additivity"&gt;appender</em>
<a class="jxr_linenumber" name="L201" href="#L201">201</a> <em class="jxr_javadoccomment">     * additivity rule&lt;/a&gt; in the user manual for the meaning of the</em>
<a class="jxr_linenumber" name="L202" href="#L202">202</a> <em class="jxr_javadoccomment">     * &lt;code&gt;additivity&lt;/code&gt; flag.</em>
<a class="jxr_linenumber" name="L203" href="#L203">203</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="L204" href="#L204">204</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="L205" href="#L205">205</a> <em class="jxr_javadoccomment">     * # Set options for appender named "A1".</em>
<a class="jxr_linenumber" name="L206" href="#L206">206</a> <em class="jxr_javadoccomment">     * # Appender "A1" will be a SyslogAppender</em>
<a class="jxr_linenumber" name="L207" href="#L207">207</a> <em class="jxr_javadoccomment">     * log4j.appender.A1=org.apache.log4j.net.SyslogAppender</em>
<a class="jxr_linenumber" name="L208" href="#L208">208</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="L209" href="#L209">209</a> <em class="jxr_javadoccomment">     * # The syslog daemon resides on www.abc.net</em>
<a class="jxr_linenumber" name="L210" href="#L210">210</a> <em class="jxr_javadoccomment">     * log4j.appender.A1.SyslogHost=www.abc.net</em>
<a class="jxr_linenumber" name="L211" href="#L211">211</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="L212" href="#L212">212</a> <em class="jxr_javadoccomment">     * # A1's layout is a PatternLayout, using the conversion pattern</em>
<a class="jxr_linenumber" name="L213" href="#L213">213</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 class="jxr_linenumber" name="L214" href="#L214">214</a> <em class="jxr_javadoccomment">     * # include # the relative time since the start of the application in</em>
<a class="jxr_linenumber" name="L215" href="#L215">215</a> <em class="jxr_javadoccomment">     * # milliseconds, followed by the level of the log request,</em>
<a class="jxr_linenumber" name="L216" href="#L216">216</a> <em class="jxr_javadoccomment">     * # followed by the two rightmost components of the logger name,</em>
<a class="jxr_linenumber" name="L217" href="#L217">217</a> <em class="jxr_javadoccomment">     * # followed by the callers method name, followed by the line number,</em>
<a class="jxr_linenumber" name="L218" href="#L218">218</a> <em class="jxr_javadoccomment">     * # the nested diagnostic context and finally the message itself.</em>
<a class="jxr_linenumber" name="L219" href="#L219">219</a> <em class="jxr_javadoccomment">     * # Refer to the documentation of {@link PatternLayout} for further information</em>
<a class="jxr_linenumber" name="L220" href="#L220">220</a> <em class="jxr_javadoccomment">     * # on the syntax of the ConversionPattern key.</em>
<a class="jxr_linenumber" name="L221" href="#L221">221</a> <em class="jxr_javadoccomment">     * log4j.appender.A1.layout=org.apache.log4j.PatternLayout</em>
<a class="jxr_linenumber" name="L222" href="#L222">222</a> <em class="jxr_javadoccomment">     * log4j.appender.A1.layout.ConversionPattern=%-4r %-5p %c{2} %M.%L %x - %m\n</em>
<a class="jxr_linenumber" name="L223" href="#L223">223</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="L224" href="#L224">224</a> <em class="jxr_javadoccomment">     * # Set options for appender named "A2"</em>
<a class="jxr_linenumber" name="L225" href="#L225">225</a> <em class="jxr_javadoccomment">     * # A2 should be a RollingFileAppender, with maximum file size of 10 MB</em>
<a class="jxr_linenumber" name="L226" href="#L226">226</a> <em class="jxr_javadoccomment">     * # using at most one backup file. A2's layout is TTCC, using the</em>
<a class="jxr_linenumber" name="L227" href="#L227">227</a> <em class="jxr_javadoccomment">     * # ISO8061 date format with context printing enabled.</em>
<a class="jxr_linenumber" name="L228" href="#L228">228</a> <em class="jxr_javadoccomment">     * log4j.appender.A2=org.apache.log4j.RollingFileAppender</em>
<a class="jxr_linenumber" name="L229" href="#L229">229</a> <em class="jxr_javadoccomment">     * log4j.appender.A2.MaxFileSize=10MB</em>
<a class="jxr_linenumber" name="L230" href="#L230">230</a> <em class="jxr_javadoccomment">     * log4j.appender.A2.MaxBackupIndex=1</em>
<a class="jxr_linenumber" name="L231" href="#L231">231</a> <em class="jxr_javadoccomment">     * log4j.appender.A2.layout=org.apache.log4j.TTCCLayout</em>
<a class="jxr_linenumber" name="L232" href="#L232">232</a> <em class="jxr_javadoccomment">     * log4j.appender.A2.layout.ContextPrinting=enabled</em>
<a class="jxr_linenumber" name="L233" href="#L233">233</a> <em class="jxr_javadoccomment">     * log4j.appender.A2.layout.DateFormat=ISO8601</em>
<a class="jxr_linenumber" name="L234" href="#L234">234</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="L235" href="#L235">235</a> <em class="jxr_javadoccomment">     * # Root logger set to DEBUG using the A2 appender defined above.</em>
<a class="jxr_linenumber" name="L236" href="#L236">236</a> <em class="jxr_javadoccomment">     * log4j.rootLogger=DEBUG, A2</em>
<a class="jxr_linenumber" name="L237" href="#L237">237</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="L238" href="#L238">238</a> <em class="jxr_javadoccomment">     * # Logger definitions:</em>
<a class="jxr_linenumber" name="L239" href="#L239">239</a> <em class="jxr_javadoccomment">     * # The SECURITY logger inherits is level from root. However, it's output</em>
<a class="jxr_linenumber" name="L240" href="#L240">240</a> <em class="jxr_javadoccomment">     * # will go to A1 appender defined above. It's additivity is non-cumulative.</em>
<a class="jxr_linenumber" name="L241" href="#L241">241</a> <em class="jxr_javadoccomment">     * log4j.logger.SECURITY=INHERIT, A1</em>
<a class="jxr_linenumber" name="L242" href="#L242">242</a> <em class="jxr_javadoccomment">     * log4j.additivity.SECURITY=false</em>
<a class="jxr_linenumber" name="L243" href="#L243">243</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="L244" href="#L244">244</a> <em class="jxr_javadoccomment">     * # Only warnings or above will be logged for the logger "SECURITY.access".</em>
<a class="jxr_linenumber" name="L245" href="#L245">245</a> <em class="jxr_javadoccomment">     * # Output will go to A1.</em>
<a class="jxr_linenumber" name="L246" href="#L246">246</a> <em class="jxr_javadoccomment">     * log4j.logger.SECURITY.access=WARN</em>
<a class="jxr_linenumber" name="L247" href="#L247">247</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="L248" href="#L248">248</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="L249" href="#L249">249</a> <em class="jxr_javadoccomment">     * # The logger "class.of.the.day" inherits its level from the</em>
<a class="jxr_linenumber" name="L250" href="#L250">250</a> <em class="jxr_javadoccomment">     * # logger hierarchy.  Output will go to the appender's of the root</em>
<a class="jxr_linenumber" name="L251" href="#L251">251</a> <em class="jxr_javadoccomment">     * # logger, A2 in this case.</em>
<a class="jxr_linenumber" name="L252" href="#L252">252</a> <em class="jxr_javadoccomment">     * log4j.logger.class.of.the.day=INHERIT</em>
<a class="jxr_linenumber" name="L253" href="#L253">253</a> <em class="jxr_javadoccomment">     * &lt;/pre&gt;</em>
<a class="jxr_linenumber" name="L254" href="#L254">254</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="L255" href="#L255">255</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 class="jxr_linenumber" name="L256" href="#L256">256</a> <em class="jxr_javadoccomment">     * Layout for class specific options.</em>
<a class="jxr_linenumber" name="L257" href="#L257">257</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="L258" href="#L258">258</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 class="jxr_linenumber" name="L259" href="#L259">259</a> <em class="jxr_javadoccomment">     * beginning of a line for comments.</em>
<a class="jxr_linenumber" name="L260" href="#L260">260</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="L261" href="#L261">261</a> <em class="jxr_javadoccomment">     * &lt;p&gt;</em>
<a class="jxr_linenumber" name="L262" href="#L262">262</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="L263" href="#L263">263</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> doConfigure(Properties properties) {
<a class="jxr_linenumber" name="L264" href="#L264">264</a>         String status = <span class="jxr_string">"error"</span>;
<a class="jxr_linenumber" name="L265" href="#L265">265</a>         String value = properties.getProperty(DEBUG_KEY);
<a class="jxr_linenumber" name="L266" href="#L266">266</a>         <strong class="jxr_keyword">if</strong> (value == <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="L267" href="#L267">267</a>             value = properties.getProperty(<span class="jxr_string">"log4j.configDebug"</span>);
<a class="jxr_linenumber" name="L268" href="#L268">268</a>             <strong class="jxr_keyword">if</strong> (value != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="L269" href="#L269">269</a>                 LOGGER.warn(<span class="jxr_string">"[log4j.configDebug] is deprecated. Use [log4j.debug] instead."</span>);
<a class="jxr_linenumber" name="L270" href="#L270">270</a>             }
<a class="jxr_linenumber" name="L271" href="#L271">271</a>         }
<a class="jxr_linenumber" name="L272" href="#L272">272</a> 
<a class="jxr_linenumber" name="L273" href="#L273">273</a>         <strong class="jxr_keyword">if</strong> (value != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="L274" href="#L274">274</a>             status = OptionConverter.toBoolean(value, false) ? <span class="jxr_string">"debug"</span> : <span class="jxr_string">"error"</span>;
<a class="jxr_linenumber" name="L275" href="#L275">275</a>         }
<a class="jxr_linenumber" name="L276" href="#L276">276</a> 
<a class="jxr_linenumber" name="L277" href="#L277">277</a>         <strong class="jxr_keyword">final</strong> StatusConfiguration statusConfig = <strong class="jxr_keyword">new</strong> StatusConfiguration().withStatus(status);
<a class="jxr_linenumber" name="L278" href="#L278">278</a>         statusConfig.initialize();
<a class="jxr_linenumber" name="L279" href="#L279">279</a> 
<a class="jxr_linenumber" name="L280" href="#L280">280</a>         configureRoot(properties);
<a class="jxr_linenumber" name="L281" href="#L281">281</a>         parseLoggers(properties);
<a class="jxr_linenumber" name="L282" href="#L282">282</a> 
<a class="jxr_linenumber" name="L283" href="#L283">283</a>         LOGGER.debug(<span class="jxr_string">"Finished configuring."</span>);
<a class="jxr_linenumber" name="L284" href="#L284">284</a>     }
<a class="jxr_linenumber" name="L285" href="#L285">285</a> 
<a class="jxr_linenumber" name="L286" href="#L286">286</a>     <em class="jxr_comment">// --------------------------------------------------------------------------</em>
<a class="jxr_linenumber" name="L287" href="#L287">287</a>     <em class="jxr_comment">// Internal stuff</em>
<a class="jxr_linenumber" name="L288" href="#L288">288</a>     <em class="jxr_comment">// --------------------------------------------------------------------------</em>
<a class="jxr_linenumber" name="L289" href="#L289">289</a> 
<a class="jxr_linenumber" name="L290" href="#L290">290</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> configureRoot(Properties props) {
<a class="jxr_linenumber" name="L291" href="#L291">291</a>         String effectiveFrefix = ROOT_LOGGER_PREFIX;
<a class="jxr_linenumber" name="L292" href="#L292">292</a>         String value = OptionConverter.findAndSubst(ROOT_LOGGER_PREFIX, props);
<a class="jxr_linenumber" name="L293" href="#L293">293</a> 
<a class="jxr_linenumber" name="L294" href="#L294">294</a>         <strong class="jxr_keyword">if</strong> (value == <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="L295" href="#L295">295</a>             value = OptionConverter.findAndSubst(ROOT_CATEGORY_PREFIX, props);
<a class="jxr_linenumber" name="L296" href="#L296">296</a>             effectiveFrefix = ROOT_CATEGORY_PREFIX;
<a class="jxr_linenumber" name="L297" href="#L297">297</a>         }
<a class="jxr_linenumber" name="L298" href="#L298">298</a> 
<a class="jxr_linenumber" name="L299" href="#L299">299</a>         <strong class="jxr_keyword">if</strong> (value == <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="L300" href="#L300">300</a>             LOGGER.debug(<span class="jxr_string">"Could not find root logger information. Is this OK?"</span>);
<a class="jxr_linenumber" name="L301" href="#L301">301</a>         } <strong class="jxr_keyword">else</strong> {
<a class="jxr_linenumber" name="L302" href="#L302">302</a>             LoggerConfig root = getRootLogger();
<a class="jxr_linenumber" name="L303" href="#L303">303</a>             parseLogger(props, root, effectiveFrefix, INTERNAL_ROOT_NAME, value);
<a class="jxr_linenumber" name="L304" href="#L304">304</a>         }
<a class="jxr_linenumber" name="L305" href="#L305">305</a>     }
<a class="jxr_linenumber" name="L306" href="#L306">306</a> 
<a class="jxr_linenumber" name="L307" href="#L307">307</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L308" href="#L308">308</a> <em class="jxr_javadoccomment">     * Parse non-root elements, such non-root categories and renderers.</em>
<a class="jxr_linenumber" name="L309" href="#L309">309</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="L310" href="#L310">310</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> parseLoggers(Properties props) {
<a class="jxr_linenumber" name="L311" href="#L311">311</a>         Enumeration enumeration = props.propertyNames();
<a class="jxr_linenumber" name="L312" href="#L312">312</a>         <strong class="jxr_keyword">while</strong> (enumeration.hasMoreElements()) {
<a class="jxr_linenumber" name="L313" href="#L313">313</a>             String key = (String) enumeration.nextElement();
<a class="jxr_linenumber" name="L314" href="#L314">314</a>             <strong class="jxr_keyword">if</strong> (key.startsWith(CATEGORY_PREFIX) || key.startsWith(LOGGER_PREFIX)) {
<a class="jxr_linenumber" name="L315" href="#L315">315</a>                 String loggerName = <strong class="jxr_keyword">null</strong>;
<a class="jxr_linenumber" name="L316" href="#L316">316</a>                 <strong class="jxr_keyword">if</strong> (key.startsWith(CATEGORY_PREFIX)) {
<a class="jxr_linenumber" name="L317" href="#L317">317</a>                     loggerName = key.substring(CATEGORY_PREFIX.length());
<a class="jxr_linenumber" name="L318" href="#L318">318</a>                 } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (key.startsWith(LOGGER_PREFIX)) {
<a class="jxr_linenumber" name="L319" href="#L319">319</a>                     loggerName = key.substring(LOGGER_PREFIX.length());
<a class="jxr_linenumber" name="L320" href="#L320">320</a>                 }
<a class="jxr_linenumber" name="L321" href="#L321">321</a>                 String value = OptionConverter.findAndSubst(key, props);
<a class="jxr_linenumber" name="L322" href="#L322">322</a>                 LoggerConfig loggerConfig = getLogger(loggerName);
<a class="jxr_linenumber" name="L323" href="#L323">323</a>                 <strong class="jxr_keyword">if</strong> (loggerConfig == <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="L324" href="#L324">324</a>                     <strong class="jxr_keyword">boolean</strong> additivity = getAdditivityForLogger(props, loggerName);
<a class="jxr_linenumber" name="L325" href="#L325">325</a>                     loggerConfig = <strong class="jxr_keyword">new</strong> LoggerConfig(loggerName, org.apache.logging.log4j.Level.ERROR, additivity);
<a class="jxr_linenumber" name="L326" href="#L326">326</a>                     addLogger(loggerName, loggerConfig);
<a class="jxr_linenumber" name="L327" href="#L327">327</a>                 }
<a class="jxr_linenumber" name="L328" href="#L328">328</a>                 parseLogger(props, loggerConfig, key, loggerName, value);
<a class="jxr_linenumber" name="L329" href="#L329">329</a>             }
<a class="jxr_linenumber" name="L330" href="#L330">330</a>         }
<a class="jxr_linenumber" name="L331" href="#L331">331</a>     }
<a class="jxr_linenumber" name="L332" href="#L332">332</a> 
<a class="jxr_linenumber" name="L333" href="#L333">333</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L334" href="#L334">334</a> <em class="jxr_javadoccomment">     * Parse the additivity option for a non-root category.</em>
<a class="jxr_linenumber" name="L335" href="#L335">335</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="L336" href="#L336">336</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> getAdditivityForLogger(Properties props, String loggerName) {
<a class="jxr_linenumber" name="L337" href="#L337">337</a>         <strong class="jxr_keyword">boolean</strong> additivity = <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="L338" href="#L338">338</a>         String key = ADDITIVITY_PREFIX + loggerName;
<a class="jxr_linenumber" name="L339" href="#L339">339</a>         String value = OptionConverter.findAndSubst(key, props);
<a class="jxr_linenumber" name="L340" href="#L340">340</a>         LOGGER.debug(<span class="jxr_string">"Handling {}=[{}]"</span>, key, value);
<a class="jxr_linenumber" name="L341" href="#L341">341</a>         <em class="jxr_comment">// touch additivity only if necessary</em>
<a class="jxr_linenumber" name="L342" href="#L342">342</a>         <strong class="jxr_keyword">if</strong> ((value != <strong class="jxr_keyword">null</strong>) &amp;&amp; (!value.equals(<span class="jxr_string">""</span>))) {
<a class="jxr_linenumber" name="L343" href="#L343">343</a>             additivity = OptionConverter.toBoolean(value, <strong class="jxr_keyword">true</strong>);
<a class="jxr_linenumber" name="L344" href="#L344">344</a>         }
<a class="jxr_linenumber" name="L345" href="#L345">345</a>         <strong class="jxr_keyword">return</strong> additivity;
<a class="jxr_linenumber" name="L346" href="#L346">346</a>     }
<a class="jxr_linenumber" name="L347" href="#L347">347</a> 
<a class="jxr_linenumber" name="L348" href="#L348">348</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L349" href="#L349">349</a> <em class="jxr_javadoccomment">     * This method must work for the root category as well.</em>
<a class="jxr_linenumber" name="L350" href="#L350">350</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="L351" href="#L351">351</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> parseLogger(Properties props, LoggerConfig logger, String optionKey, String loggerName, String value) {
<a class="jxr_linenumber" name="L352" href="#L352">352</a> 
<a class="jxr_linenumber" name="L353" href="#L353">353</a>         LOGGER.debug(<span class="jxr_string">"Parsing for [{}] with value=[{}]."</span>, loggerName, value);
<a class="jxr_linenumber" name="L354" href="#L354">354</a>         <em class="jxr_comment">// We must skip over ',' but not white space</em>
<a class="jxr_linenumber" name="L355" href="#L355">355</a>         StringTokenizer st = <strong class="jxr_keyword">new</strong> StringTokenizer(value, <span class="jxr_string">","</span>);
<a class="jxr_linenumber" name="L356" href="#L356">356</a> 
<a class="jxr_linenumber" name="L357" href="#L357">357</a>         <em class="jxr_comment">// If value is not in the form ", appender.." or "", then we should set the level of the logger.</em>
<a class="jxr_linenumber" name="L358" href="#L358">358</a> 
<a class="jxr_linenumber" name="L359" href="#L359">359</a>         <strong class="jxr_keyword">if</strong> (!(value.startsWith(<span class="jxr_string">","</span>) || value.equals(<span class="jxr_string">""</span>))) {
<a class="jxr_linenumber" name="L360" href="#L360">360</a> 
<a class="jxr_linenumber" name="L361" href="#L361">361</a>             <em class="jxr_comment">// just to be on the safe side...</em>
<a class="jxr_linenumber" name="L362" href="#L362">362</a>             <strong class="jxr_keyword">if</strong> (!st.hasMoreTokens()) {
<a class="jxr_linenumber" name="L363" href="#L363">363</a>                 <strong class="jxr_keyword">return</strong>;
<a class="jxr_linenumber" name="L364" href="#L364">364</a>             }
<a class="jxr_linenumber" name="L365" href="#L365">365</a> 
<a class="jxr_linenumber" name="L366" href="#L366">366</a>             String levelStr = st.nextToken();
<a class="jxr_linenumber" name="L367" href="#L367">367</a>             LOGGER.debug(<span class="jxr_string">"Level token is [{}]."</span>, levelStr);
<a class="jxr_linenumber" name="L368" href="#L368">368</a> 
<a class="jxr_linenumber" name="L369" href="#L369">369</a>             org.apache.logging.log4j.Level level = levelStr == <strong class="jxr_keyword">null</strong> ? org.apache.logging.log4j.Level.ERROR :
<a class="jxr_linenumber" name="L370" href="#L370">370</a>                     OptionConverter.convertLevel(levelStr, org.apache.logging.log4j.Level.DEBUG);
<a class="jxr_linenumber" name="L371" href="#L371">371</a>             logger.setLevel(level);
<a class="jxr_linenumber" name="L372" href="#L372">372</a>             LOGGER.debug(<span class="jxr_string">"Logger {} level set to {}"</span>, loggerName, level);
<a class="jxr_linenumber" name="L373" href="#L373">373</a>         }
<a class="jxr_linenumber" name="L374" href="#L374">374</a> 
<a class="jxr_linenumber" name="L375" href="#L375">375</a>         <a href="../../../../org/apache/log4j/Appender.html">Appender</a> appender;
<a class="jxr_linenumber" name="L376" href="#L376">376</a>         String appenderName;
<a class="jxr_linenumber" name="L377" href="#L377">377</a>         <strong class="jxr_keyword">while</strong> (st.hasMoreTokens()) {
<a class="jxr_linenumber" name="L378" href="#L378">378</a>             appenderName = st.nextToken().trim();
<a class="jxr_linenumber" name="L379" href="#L379">379</a>             <strong class="jxr_keyword">if</strong> (appenderName == <strong class="jxr_keyword">null</strong> || appenderName.equals(<span class="jxr_string">","</span>)) {
<a class="jxr_linenumber" name="L380" href="#L380">380</a>                 <strong class="jxr_keyword">continue</strong>;
<a class="jxr_linenumber" name="L381" href="#L381">381</a>             }
<a class="jxr_linenumber" name="L382" href="#L382">382</a>             LOGGER.debug(<span class="jxr_string">"Parsing appender named \&quot;{}\&quot;."</span>, appenderName);
<a class="jxr_linenumber" name="L383" href="#L383">383</a>             appender = parseAppender(props, appenderName);
<a class="jxr_linenumber" name="L384" href="#L384">384</a>             <strong class="jxr_keyword">if</strong> (appender != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="L385" href="#L385">385</a>                 LOGGER.debug(<span class="jxr_string">"Adding appender named [{}] to loggerConfig [{}]."</span>, appenderName,
<a class="jxr_linenumber" name="L386" href="#L386">386</a>                         logger.getName());
<a class="jxr_linenumber" name="L387" href="#L387">387</a>                 logger.addAppender(getAppender(appenderName), <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="L388" href="#L388">388</a>             } <strong class="jxr_keyword">else</strong> {
<a class="jxr_linenumber" name="L389" href="#L389">389</a>                 LOGGER.debug(<span class="jxr_string">"Appender named [{}}] not found."</span>, appenderName);
<a class="jxr_linenumber" name="L390" href="#L390">390</a>             }
<a class="jxr_linenumber" name="L391" href="#L391">391</a>         }
<a class="jxr_linenumber" name="L392" href="#L392">392</a>     }
<a class="jxr_linenumber" name="L393" href="#L393">393</a> 
<a class="jxr_linenumber" name="L394" href="#L394">394</a>     <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/Appender.html">Appender</a> parseAppender(Properties props, String appenderName) {
<a class="jxr_linenumber" name="L395" href="#L395">395</a>         <a href="../../../../org/apache/log4j/Appender.html">Appender</a> appender = registry.get(appenderName);
<a class="jxr_linenumber" name="L396" href="#L396">396</a>         <strong class="jxr_keyword">if</strong> ((appender != <strong class="jxr_keyword">null</strong>)) {
<a class="jxr_linenumber" name="L397" href="#L397">397</a>             LOGGER.debug(<span class="jxr_string">"Appender \&quot;"</span> + appenderName + <span class="jxr_string">"\&quot; was already parsed."</span>);
<a class="jxr_linenumber" name="L398" href="#L398">398</a>             <strong class="jxr_keyword">return</strong> appender;
<a class="jxr_linenumber" name="L399" href="#L399">399</a>         }
<a class="jxr_linenumber" name="L400" href="#L400">400</a>         <em class="jxr_comment">// Appender was not previously initialized.</em>
<a class="jxr_linenumber" name="L401" href="#L401">401</a>         <strong class="jxr_keyword">final</strong> String prefix = APPENDER_PREFIX + appenderName;
<a class="jxr_linenumber" name="L402" href="#L402">402</a>         <strong class="jxr_keyword">final</strong> String layoutPrefix = prefix + <span class="jxr_string">".layout"</span>;
<a class="jxr_linenumber" name="L403" href="#L403">403</a>         <strong class="jxr_keyword">final</strong> String filterPrefix = APPENDER_PREFIX + appenderName + <span class="jxr_string">".filter."</span>;
<a class="jxr_linenumber" name="L404" href="#L404">404</a>         String className = OptionConverter.findAndSubst(prefix, props);
<a class="jxr_linenumber" name="L405" href="#L405">405</a>         appender = manager.parseAppender(appenderName, className, prefix, layoutPrefix, filterPrefix, props, <strong class="jxr_keyword">this</strong>);
<a class="jxr_linenumber" name="L406" href="#L406">406</a>         <strong class="jxr_keyword">if</strong> (appender == <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="L407" href="#L407">407</a>             appender = buildAppender(appenderName, className, prefix, layoutPrefix, filterPrefix, props);
<a class="jxr_linenumber" name="L408" href="#L408">408</a>         } <strong class="jxr_keyword">else</strong> {
<a class="jxr_linenumber" name="L409" href="#L409">409</a>             registry.put(appenderName, appender);
<a class="jxr_linenumber" name="L410" href="#L410">410</a>             <strong class="jxr_keyword">if</strong> (appender instanceof AppenderWrapper) {
<a class="jxr_linenumber" name="L411" href="#L411">411</a>                 addAppender(((AppenderWrapper) appender).getAppender());
<a class="jxr_linenumber" name="L412" href="#L412">412</a>             } <strong class="jxr_keyword">else</strong> {
<a class="jxr_linenumber" name="L413" href="#L413">413</a>                 addAppender(<strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/bridge/AppenderAdapter.html">AppenderAdapter</a>(appender).getAdapter());
<a class="jxr_linenumber" name="L414" href="#L414">414</a>             }
<a class="jxr_linenumber" name="L415" href="#L415">415</a>         }
<a class="jxr_linenumber" name="L416" href="#L416">416</a>         <strong class="jxr_keyword">return</strong> appender;
<a class="jxr_linenumber" name="L417" href="#L417">417</a>     }
<a class="jxr_linenumber" name="L418" href="#L418">418</a> 
<a class="jxr_linenumber" name="L419" href="#L419">419</a>     <strong class="jxr_keyword">private</strong> <a href="../../../../org/apache/log4j/Appender.html">Appender</a> buildAppender(<strong class="jxr_keyword">final</strong> String appenderName, <strong class="jxr_keyword">final</strong> String className, <strong class="jxr_keyword">final</strong> String prefix,
<a class="jxr_linenumber" name="L420" href="#L420">420</a>             <strong class="jxr_keyword">final</strong> String layoutPrefix, <strong class="jxr_keyword">final</strong> String filterPrefix, <strong class="jxr_keyword">final</strong> Properties props) {
<a class="jxr_linenumber" name="L421" href="#L421">421</a>         <a href="../../../../org/apache/log4j/Appender.html">Appender</a> appender = newInstanceOf(className, <span class="jxr_string">"Appender"</span>);
<a class="jxr_linenumber" name="L422" href="#L422">422</a>         <strong class="jxr_keyword">if</strong> (appender == <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="L423" href="#L423">423</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
<a class="jxr_linenumber" name="L424" href="#L424">424</a>         }
<a class="jxr_linenumber" name="L425" href="#L425">425</a>         appender.setName(appenderName);
<a class="jxr_linenumber" name="L426" href="#L426">426</a>         appender.setLayout(parseLayout(layoutPrefix, appenderName, props));
<a class="jxr_linenumber" name="L427" href="#L427">427</a>         <strong class="jxr_keyword">final</strong> String errorHandlerPrefix = prefix + <span class="jxr_string">".errorhandler"</span>;
<a class="jxr_linenumber" name="L428" href="#L428">428</a>         String errorHandlerClass = OptionConverter.findAndSubst(errorHandlerPrefix, props);
<a class="jxr_linenumber" name="L429" href="#L429">429</a>         <strong class="jxr_keyword">if</strong> (errorHandlerClass != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="L430" href="#L430">430</a>             <a href="../../../../org/apache/log4j/spi/ErrorHandler.html">ErrorHandler</a> eh = parseErrorHandler(props, errorHandlerPrefix, errorHandlerClass, appender);
<a class="jxr_linenumber" name="L431" href="#L431">431</a>             <strong class="jxr_keyword">if</strong> (eh != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="L432" href="#L432">432</a>                 appender.setErrorHandler(eh);
<a class="jxr_linenumber" name="L433" href="#L433">433</a>             }
<a class="jxr_linenumber" name="L434" href="#L434">434</a>         }
<a class="jxr_linenumber" name="L435" href="#L435">435</a>         parseAppenderFilters(props, filterPrefix, appenderName);
<a class="jxr_linenumber" name="L436" href="#L436">436</a>         String[] keys = <strong class="jxr_keyword">new</strong> String[] {
<a class="jxr_linenumber" name="L437" href="#L437">437</a>                 layoutPrefix,
<a class="jxr_linenumber" name="L438" href="#L438">438</a>         };
<a class="jxr_linenumber" name="L439" href="#L439">439</a>         addProperties(appender, keys, props, prefix);
<a class="jxr_linenumber" name="L440" href="#L440">440</a>         <strong class="jxr_keyword">if</strong> (appender instanceof AppenderWrapper) {
<a class="jxr_linenumber" name="L441" href="#L441">441</a>             addAppender(((AppenderWrapper) appender).getAppender());
<a class="jxr_linenumber" name="L442" href="#L442">442</a>         } <strong class="jxr_keyword">else</strong> {
<a class="jxr_linenumber" name="L443" href="#L443">443</a>             addAppender(<strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/bridge/AppenderAdapter.html">AppenderAdapter</a>(appender).getAdapter());
<a class="jxr_linenumber" name="L444" href="#L444">444</a>         }
<a class="jxr_linenumber" name="L445" href="#L445">445</a>         registry.put(appenderName, appender);
<a class="jxr_linenumber" name="L446" href="#L446">446</a>         <strong class="jxr_keyword">return</strong> appender;
<a class="jxr_linenumber" name="L447" href="#L447">447</a>     }
<a class="jxr_linenumber" name="L448" href="#L448">448</a> 
<a class="jxr_linenumber" name="L449" href="#L449">449</a>     <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/Layout.html">Layout</a> parseLayout(String layoutPrefix, String appenderName, Properties props) {
<a class="jxr_linenumber" name="L450" href="#L450">450</a>         String layoutClass = OptionConverter.findAndSubst(layoutPrefix, props);
<a class="jxr_linenumber" name="L451" href="#L451">451</a>         <strong class="jxr_keyword">if</strong> (layoutClass == <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="L452" href="#L452">452</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
<a class="jxr_linenumber" name="L453" href="#L453">453</a>         }
<a class="jxr_linenumber" name="L454" href="#L454">454</a>         <a href="../../../../org/apache/log4j/Layout.html">Layout</a> layout = manager.parseLayout(layoutClass, layoutPrefix, props, <strong class="jxr_keyword">this</strong>);
<a class="jxr_linenumber" name="L455" href="#L455">455</a>         <strong class="jxr_keyword">if</strong> (layout == <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="L456" href="#L456">456</a>             layout = buildLayout(layoutPrefix, layoutClass, appenderName, props);
<a class="jxr_linenumber" name="L457" href="#L457">457</a>         }
<a class="jxr_linenumber" name="L458" href="#L458">458</a>         <strong class="jxr_keyword">return</strong> layout;
<a class="jxr_linenumber" name="L459" href="#L459">459</a>     }
<a class="jxr_linenumber" name="L460" href="#L460">460</a> 
<a class="jxr_linenumber" name="L461" href="#L461">461</a>     <strong class="jxr_keyword">private</strong> <a href="../../../../org/apache/log4j/Layout.html">Layout</a> buildLayout(String layoutPrefix, String className, String appenderName, Properties props) {
<a class="jxr_linenumber" name="L462" href="#L462">462</a>         <a href="../../../../org/apache/log4j/Layout.html">Layout</a> layout = newInstanceOf(className, <span class="jxr_string">"Layout"</span>);
<a class="jxr_linenumber" name="L463" href="#L463">463</a>         <strong class="jxr_keyword">if</strong> (layout == <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="L464" href="#L464">464</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
<a class="jxr_linenumber" name="L465" href="#L465">465</a>         }
<a class="jxr_linenumber" name="L466" href="#L466">466</a>         LOGGER.debug(<span class="jxr_string">"Parsing layout options for \&quot;{}\&quot;."</span>, appenderName);
<a class="jxr_linenumber" name="L467" href="#L467">467</a>         PropertySetter.setProperties(layout, props, layoutPrefix + <span class="jxr_string">"."</span>);
<a class="jxr_linenumber" name="L468" href="#L468">468</a>         LOGGER.debug(<span class="jxr_string">"End of parsing for \&quot;{}\&quot;."</span>, appenderName);
<a class="jxr_linenumber" name="L469" href="#L469">469</a>         <strong class="jxr_keyword">return</strong> layout;
<a class="jxr_linenumber" name="L470" href="#L470">470</a>     }
<a class="jxr_linenumber" name="L471" href="#L471">471</a> 
<a class="jxr_linenumber" name="L472" href="#L472">472</a>     <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/spi/ErrorHandler.html">ErrorHandler</a> parseErrorHandler(<strong class="jxr_keyword">final</strong> Properties props, <strong class="jxr_keyword">final</strong> String errorHandlerPrefix,
<a class="jxr_linenumber" name="L473" href="#L473">473</a>             <strong class="jxr_keyword">final</strong> String errorHandlerClass, <strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/Appender.html">Appender</a> appender) {
<a class="jxr_linenumber" name="L474" href="#L474">474</a>         <a href="../../../../org/apache/log4j/spi/ErrorHandler.html">ErrorHandler</a> eh = newInstanceOf(errorHandlerClass, <span class="jxr_string">"ErrorHandler"</span>);
<a class="jxr_linenumber" name="L475" href="#L475">475</a>         <strong class="jxr_keyword">final</strong> String[] keys = <strong class="jxr_keyword">new</strong> String[] {
<a class="jxr_linenumber" name="L476" href="#L476">476</a>                 errorHandlerPrefix + <span class="jxr_string">"."</span> + ROOT_REF,
<a class="jxr_linenumber" name="L477" href="#L477">477</a>                 errorHandlerPrefix + <span class="jxr_string">"."</span> + LOGGER_REF,
<a class="jxr_linenumber" name="L478" href="#L478">478</a>                 errorHandlerPrefix + <span class="jxr_string">"."</span> + APPENDER_REF_TAG
<a class="jxr_linenumber" name="L479" href="#L479">479</a>         };
<a class="jxr_linenumber" name="L480" href="#L480">480</a>         addProperties(eh, keys, props, errorHandlerPrefix);
<a class="jxr_linenumber" name="L481" href="#L481">481</a>         <strong class="jxr_keyword">return</strong> eh;
<a class="jxr_linenumber" name="L482" href="#L482">482</a>     }
<a class="jxr_linenumber" name="L483" href="#L483">483</a> 
<a class="jxr_linenumber" name="L484" href="#L484">484</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> addProperties(<strong class="jxr_keyword">final</strong> Object obj, <strong class="jxr_keyword">final</strong> String[] keys, <strong class="jxr_keyword">final</strong> Properties props, <strong class="jxr_keyword">final</strong> String prefix) {
<a class="jxr_linenumber" name="L485" href="#L485">485</a>         <strong class="jxr_keyword">final</strong> Properties edited = <strong class="jxr_keyword">new</strong> Properties();
<a class="jxr_linenumber" name="L486" href="#L486">486</a>         props.stringPropertyNames().stream().filter((name) -&gt; {
<a class="jxr_linenumber" name="L487" href="#L487">487</a>             <strong class="jxr_keyword">if</strong> (name.startsWith(prefix)) {
<a class="jxr_linenumber" name="L488" href="#L488">488</a>                 <strong class="jxr_keyword">for</strong> (String key : keys) {
<a class="jxr_linenumber" name="L489" href="#L489">489</a>                     <strong class="jxr_keyword">if</strong> (name.equals(key)) {
<a class="jxr_linenumber" name="L490" href="#L490">490</a>                         <strong class="jxr_keyword">return</strong> false;
<a class="jxr_linenumber" name="L491" href="#L491">491</a>                     }
<a class="jxr_linenumber" name="L492" href="#L492">492</a>                 }
<a class="jxr_linenumber" name="L493" href="#L493">493</a>                 <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="L494" href="#L494">494</a>             }
<a class="jxr_linenumber" name="L495" href="#L495">495</a>             <strong class="jxr_keyword">return</strong> false;
<a class="jxr_linenumber" name="L496" href="#L496">496</a>         }).forEach((name) -&gt; edited.put(name, props.getProperty(name)));
<a class="jxr_linenumber" name="L497" href="#L497">497</a>         PropertySetter.setProperties(obj, edited, prefix + <span class="jxr_string">"."</span>);
<a class="jxr_linenumber" name="L498" href="#L498">498</a>     }
<a class="jxr_linenumber" name="L499" href="#L499">499</a> 
<a class="jxr_linenumber" name="L500" href="#L500">500</a> 
<a class="jxr_linenumber" name="L501" href="#L501">501</a>     <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/spi/Filter.html">Filter</a> parseAppenderFilters(Properties props, String filterPrefix, String appenderName) {
<a class="jxr_linenumber" name="L502" href="#L502">502</a>         <em class="jxr_comment">// extract filters and filter options from props into a hashtable mapping</em>
<a class="jxr_linenumber" name="L503" href="#L503">503</a>         <em class="jxr_comment">// the property name defining the filter class to a list of pre-parsed</em>
<a class="jxr_linenumber" name="L504" href="#L504">504</a>         <em class="jxr_comment">// name-value pairs associated to that filter</em>
<a class="jxr_linenumber" name="L505" href="#L505">505</a>         <strong class="jxr_keyword">int</strong> fIdx = filterPrefix.length();
<a class="jxr_linenumber" name="L506" href="#L506">506</a>         SortedMap&lt;String, List&lt;NameValue&gt;&gt; filters = <strong class="jxr_keyword">new</strong> TreeMap&lt;&gt;();
<a class="jxr_linenumber" name="L507" href="#L507">507</a>         Enumeration e = props.keys();
<a class="jxr_linenumber" name="L508" href="#L508">508</a>         String name = <span class="jxr_string">""</span>;
<a class="jxr_linenumber" name="L509" href="#L509">509</a>         <strong class="jxr_keyword">while</strong> (e.hasMoreElements()) {
<a class="jxr_linenumber" name="L510" href="#L510">510</a>             String key = (String) e.nextElement();
<a class="jxr_linenumber" name="L511" href="#L511">511</a>             <strong class="jxr_keyword">if</strong> (key.startsWith(filterPrefix)) {
<a class="jxr_linenumber" name="L512" href="#L512">512</a>                 <strong class="jxr_keyword">int</strong> dotIdx = key.indexOf('.', fIdx);
<a class="jxr_linenumber" name="L513" href="#L513">513</a>                 String filterKey = key;
<a class="jxr_linenumber" name="L514" href="#L514">514</a>                 <strong class="jxr_keyword">if</strong> (dotIdx != -1) {
<a class="jxr_linenumber" name="L515" href="#L515">515</a>                     filterKey = key.substring(0, dotIdx);
<a class="jxr_linenumber" name="L516" href="#L516">516</a>                     name = key.substring(dotIdx + 1);
<a class="jxr_linenumber" name="L517" href="#L517">517</a>                 }
<a class="jxr_linenumber" name="L518" href="#L518">518</a>                 List&lt;NameValue&gt; filterOpts = filters.computeIfAbsent(filterKey, k -&gt; <strong class="jxr_keyword">new</strong> ArrayList&lt;&gt;());
<a class="jxr_linenumber" name="L519" href="#L519">519</a>                 <strong class="jxr_keyword">if</strong> (dotIdx != -1) {
<a class="jxr_linenumber" name="L520" href="#L520">520</a>                     String value = OptionConverter.findAndSubst(key, props);
<a class="jxr_linenumber" name="L521" href="#L521">521</a>                     filterOpts.add(<strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/config/PropertiesConfiguration.html">NameValue</a>(name, value));
<a class="jxr_linenumber" name="L522" href="#L522">522</a>                 }
<a class="jxr_linenumber" name="L523" href="#L523">523</a>             }
<a class="jxr_linenumber" name="L524" href="#L524">524</a>         }
<a class="jxr_linenumber" name="L525" href="#L525">525</a> 
<a class="jxr_linenumber" name="L526" href="#L526">526</a>         <a href="../../../../org/apache/log4j/spi/Filter.html">Filter</a> head = <strong class="jxr_keyword">null</strong>;
<a class="jxr_linenumber" name="L527" href="#L527">527</a>         <a href="../../../../org/apache/log4j/spi/Filter.html">Filter</a> next = <strong class="jxr_keyword">null</strong>;
<a class="jxr_linenumber" name="L528" href="#L528">528</a>         <strong class="jxr_keyword">for</strong> (Map.Entry&lt;String, List&lt;NameValue&gt;&gt; entry : filters.entrySet()) {
<a class="jxr_linenumber" name="L529" href="#L529">529</a>             String clazz = props.getProperty(entry.getKey());
<a class="jxr_linenumber" name="L530" href="#L530">530</a>             <a href="../../../../org/apache/log4j/spi/Filter.html">Filter</a> filter = <strong class="jxr_keyword">null</strong>;
<a class="jxr_linenumber" name="L531" href="#L531">531</a>             <strong class="jxr_keyword">if</strong> (clazz != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="L532" href="#L532">532</a>                 filter = manager.parseFilter(clazz, filterPrefix, props, <strong class="jxr_keyword">this</strong>);
<a class="jxr_linenumber" name="L533" href="#L533">533</a>                 <strong class="jxr_keyword">if</strong> (filter == <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="L534" href="#L534">534</a>                     LOGGER.debug(<span class="jxr_string">"Filter key: [{}] class: [{}] props: {}"</span>, entry.getKey(), clazz, entry.getValue());
<a class="jxr_linenumber" name="L535" href="#L535">535</a>                     filter = buildFilter(clazz, appenderName, entry.getValue());
<a class="jxr_linenumber" name="L536" href="#L536">536</a>                 }
<a class="jxr_linenumber" name="L537" href="#L537">537</a>             }
<a class="jxr_linenumber" name="L538" href="#L538">538</a>             <strong class="jxr_keyword">if</strong> (filter != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="L539" href="#L539">539</a>                 <strong class="jxr_keyword">if</strong> (head != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="L540" href="#L540">540</a>                     head = filter;
<a class="jxr_linenumber" name="L541" href="#L541">541</a>                     next = filter;
<a class="jxr_linenumber" name="L542" href="#L542">542</a>                 } <strong class="jxr_keyword">else</strong> {
<a class="jxr_linenumber" name="L543" href="#L543">543</a>                     next.setNext(filter);
<a class="jxr_linenumber" name="L544" href="#L544">544</a>                     next = filter;
<a class="jxr_linenumber" name="L545" href="#L545">545</a>                 }
<a class="jxr_linenumber" name="L546" href="#L546">546</a>             }
<a class="jxr_linenumber" name="L547" href="#L547">547</a>         }
<a class="jxr_linenumber" name="L548" href="#L548">548</a>         <strong class="jxr_keyword">return</strong> head;
<a class="jxr_linenumber" name="L549" href="#L549">549</a>     }
<a class="jxr_linenumber" name="L550" href="#L550">550</a> 
<a class="jxr_linenumber" name="L551" href="#L551">551</a>     <strong class="jxr_keyword">private</strong> <a href="../../../../org/apache/log4j/spi/Filter.html">Filter</a> buildFilter(String className, String appenderName, List&lt;NameValue&gt; props) {
<a class="jxr_linenumber" name="L552" href="#L552">552</a>         <a href="../../../../org/apache/log4j/spi/Filter.html">Filter</a> filter = newInstanceOf(className, <span class="jxr_string">"Filter"</span>);
<a class="jxr_linenumber" name="L553" href="#L553">553</a>         <strong class="jxr_keyword">if</strong> (filter != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="L554" href="#L554">554</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 class="jxr_linenumber" name="L555" href="#L555">555</a>             <strong class="jxr_keyword">for</strong> (NameValue property : props) {
<a class="jxr_linenumber" name="L556" href="#L556">556</a>                 propSetter.setProperty(property.key, property.value);
<a class="jxr_linenumber" name="L557" href="#L557">557</a>             }
<a class="jxr_linenumber" name="L558" href="#L558">558</a>             propSetter.activate();
<a class="jxr_linenumber" name="L559" href="#L559">559</a>         }
<a class="jxr_linenumber" name="L560" href="#L560">560</a>         <strong class="jxr_keyword">return</strong> filter;
<a class="jxr_linenumber" name="L561" href="#L561">561</a>     }
<a class="jxr_linenumber" name="L562" href="#L562">562</a> 
<a class="jxr_linenumber" name="L563" href="#L563">563</a> 
<a class="jxr_linenumber" name="L564" href="#L564">564</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> &lt;T&gt; T newInstanceOf(String className, String type) {
<a class="jxr_linenumber" name="L565" href="#L565">565</a>         <strong class="jxr_keyword">try</strong> {
<a class="jxr_linenumber" name="L566" href="#L566">566</a>             <strong class="jxr_keyword">return</strong> LoaderUtil.newInstanceOf(className);
<a class="jxr_linenumber" name="L567" href="#L567">567</a>         } <strong class="jxr_keyword">catch</strong> (ClassNotFoundException | IllegalAccessException | NoSuchMethodException |
<a class="jxr_linenumber" name="L568" href="#L568">568</a>                 InstantiationException | InvocationTargetException ex) {
<a class="jxr_linenumber" name="L569" href="#L569">569</a>             LOGGER.error(<span class="jxr_string">"Unable to create {} {} due to {}:{}"</span>, type,  className,
<a class="jxr_linenumber" name="L570" href="#L570">570</a>                     ex.getClass().getSimpleName(), ex.getMessage());
<a class="jxr_linenumber" name="L571" href="#L571">571</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
<a class="jxr_linenumber" name="L572" href="#L572">572</a>         }
<a class="jxr_linenumber" name="L573" href="#L573">573</a>     }
<a class="jxr_linenumber" name="L574" href="#L574">574</a> 
<a class="jxr_linenumber" name="L575" href="#L575">575</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/config/PropertiesConfiguration.html">NameValue</a> {
<a class="jxr_linenumber" name="L576" href="#L576">576</a>         String key, value;
<a class="jxr_linenumber" name="L577" href="#L577">577</a> 
<a class="jxr_linenumber" name="L578" href="#L578">578</a>         <a href="../../../../org/apache/log4j/config/PropertiesConfiguration.html">NameValue</a>(String key, String value) {
<a class="jxr_linenumber" name="L579" href="#L579">579</a>             <strong class="jxr_keyword">this</strong>.key = key;
<a class="jxr_linenumber" name="L580" href="#L580">580</a>             <strong class="jxr_keyword">this</strong>.value = value;
<a class="jxr_linenumber" name="L581" href="#L581">581</a>         }
<a class="jxr_linenumber" name="L582" href="#L582">582</a> 
<a class="jxr_linenumber" name="L583" href="#L583">583</a>         <strong class="jxr_keyword">public</strong> String toString() {
<a class="jxr_linenumber" name="L584" href="#L584">584</a>             <strong class="jxr_keyword">return</strong> key + <span class="jxr_string">"="</span> + value;
<a class="jxr_linenumber" name="L585" href="#L585">585</a>         }
<a class="jxr_linenumber" name="L586" href="#L586">586</a>     }
<a class="jxr_linenumber" name="L587" href="#L587">587</a> 
<a class="jxr_linenumber" name="L588" href="#L588">588</a> }
</pre>
<hr/>
<div id="footer">Copyright &#169; 1999&#x2013;2019 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</div>
</body>
</html>
