<!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>PropertyPrinter xref</title>
<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" />
</head>
<body>
<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/config/PropertyPrinter.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>  <strong class="jxr_keyword">package</strong> org.apache.log4j.config;
<a name="19" href="#19">19</a>  
<a name="20" href="#20">20</a>  <strong class="jxr_keyword">import</strong> org.apache.log4j.Appender;
<a name="21" href="#21">21</a>  <strong class="jxr_keyword">import</strong> org.apache.log4j.Category;
<a name="22" href="#22">22</a>  <strong class="jxr_keyword">import</strong> org.apache.log4j.Level;
<a name="23" href="#23">23</a>  <strong class="jxr_keyword">import</strong> org.apache.log4j.LogManager;
<a name="24" href="#24">24</a>  <strong class="jxr_keyword">import</strong> org.apache.log4j.Logger;
<a name="25" href="#25">25</a>  
<a name="26" href="#26">26</a>  <strong class="jxr_keyword">import</strong> java.io.PrintWriter;
<a name="27" href="#27">27</a>  <strong class="jxr_keyword">import</strong> java.util.Enumeration;
<a name="28" href="#28">28</a>  <strong class="jxr_keyword">import</strong> java.util.Hashtable;
<a name="29" href="#29">29</a>  
<a name="30" href="#30">30</a>  <em class="jxr_javadoccomment">/**</em>
<a name="31" href="#31">31</a>  <em class="jxr_javadoccomment">   Prints the configuration of the log4j default hierarchy</em>
<a name="32" href="#32">32</a>  <em class="jxr_javadoccomment">   (which needs to be auto-initialized) as a propoperties file</em>
<a name="33" href="#33">33</a>  <em class="jxr_javadoccomment">   on a {@link PrintWriter}.</em>
<a name="34" href="#34">34</a>  <em class="jxr_javadoccomment">   </em>
<a name="35" href="#35">35</a>  <em class="jxr_javadoccomment">   @author  Anders Kristensen</em>
<a name="36" href="#36">36</a>  <em class="jxr_javadoccomment"> */</em>
<a name="37" href="#37">37</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/config/PropertyPrinter.html">PropertyPrinter</a> implements PropertyGetter.PropertyCallback {
<a name="38" href="#38">38</a>    <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">int</strong> numAppenders = 0;
<a name="39" href="#39">39</a>    <strong class="jxr_keyword">protected</strong> Hashtable appenderNames = <strong class="jxr_keyword">new</strong> Hashtable();
<a name="40" href="#40">40</a>    <strong class="jxr_keyword">protected</strong> Hashtable layoutNames   = <strong class="jxr_keyword">new</strong> Hashtable();
<a name="41" href="#41">41</a>    <strong class="jxr_keyword">protected</strong> PrintWriter out;
<a name="42" href="#42">42</a>    <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">boolean</strong> doCapitalize;
<a name="43" href="#43">43</a>    
<a name="44" href="#44">44</a>    <strong class="jxr_keyword">public</strong>
<a name="45" href="#45">45</a>    <a href="../../../../org/apache/log4j/config/PropertyPrinter.html">PropertyPrinter</a>(PrintWriter out) {
<a name="46" href="#46">46</a>      <strong class="jxr_keyword">this</strong>(out, false);
<a name="47" href="#47">47</a>    }
<a name="48" href="#48">48</a>    
<a name="49" href="#49">49</a>    <strong class="jxr_keyword">public</strong>
<a name="50" href="#50">50</a>    <a href="../../../../org/apache/log4j/config/PropertyPrinter.html">PropertyPrinter</a>(PrintWriter out, <strong class="jxr_keyword">boolean</strong> doCapitalize) {
<a name="51" href="#51">51</a>      <strong class="jxr_keyword">this</strong>.out = out;
<a name="52" href="#52">52</a>      <strong class="jxr_keyword">this</strong>.doCapitalize = doCapitalize;
<a name="53" href="#53">53</a>      
<a name="54" href="#54">54</a>      print(out);
<a name="55" href="#55">55</a>      out.flush();
<a name="56" href="#56">56</a>    }
<a name="57" href="#57">57</a>    
<a name="58" href="#58">58</a>    <strong class="jxr_keyword">protected</strong>
<a name="59" href="#59">59</a>    String genAppName() {
<a name="60" href="#60">60</a>      <strong class="jxr_keyword">return</strong> <span class="jxr_string">"A"</span> + numAppenders++;
<a name="61" href="#61">61</a>    }
<a name="62" href="#62">62</a>    
<a name="63" href="#63">63</a>    <em class="jxr_javadoccomment">/**</em>
<a name="64" href="#64">64</a>  <em class="jxr_javadoccomment">   * Returns true if the specified appender name is considered to have</em>
<a name="65" href="#65">65</a>  <em class="jxr_javadoccomment">   * been generated, that is, if it is of the form A[0-9]+.</em>
<a name="66" href="#66">66</a>  <em class="jxr_javadoccomment">  */</em>
<a name="67" href="#67">67</a>    <strong class="jxr_keyword">protected</strong>
<a name="68" href="#68">68</a>    <strong class="jxr_keyword">boolean</strong> isGenAppName(String name) {
<a name="69" href="#69">69</a>      <strong class="jxr_keyword">if</strong> (name.length() &lt; 2 || name.charAt(0) != 'A') <strong class="jxr_keyword">return</strong> false;
<a name="70" href="#70">70</a>      
<a name="71" href="#71">71</a>      <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i &lt; name.length(); i++) {
<a name="72" href="#72">72</a>        <strong class="jxr_keyword">if</strong> (name.charAt(i) &lt; '0' || name.charAt(i) &gt; '9') <strong class="jxr_keyword">return</strong> false;
<a name="73" href="#73">73</a>      }
<a name="74" href="#74">74</a>      <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a name="75" href="#75">75</a>    }
<a name="76" href="#76">76</a>    
<a name="77" href="#77">77</a>    <em class="jxr_javadoccomment">/**</em>
<a name="78" href="#78">78</a>  <em class="jxr_javadoccomment">   * Prints the configuration of the default log4j hierarchy as a Java</em>
<a name="79" href="#79">79</a>  <em class="jxr_javadoccomment">   * properties file on the specified Writer.</em>
<a name="80" href="#80">80</a>  <em class="jxr_javadoccomment">   * </em>
<a name="81" href="#81">81</a>  <em class="jxr_javadoccomment">   * &lt;p&gt;N.B. print() can be invoked only once!</em>
<a name="82" href="#82">82</a>  <em class="jxr_javadoccomment">   */</em>
<a name="83" href="#83">83</a>    <strong class="jxr_keyword">public</strong>
<a name="84" href="#84">84</a>    <strong class="jxr_keyword">void</strong> print(PrintWriter out) {
<a name="85" href="#85">85</a>      printOptions(out, Logger.getRootLogger());
<a name="86" href="#86">86</a>      
<a name="87" href="#87">87</a>      Enumeration cats = LogManager.getCurrentLoggers();
<a name="88" href="#88">88</a>      <strong class="jxr_keyword">while</strong> (cats.hasMoreElements()) {
<a name="89" href="#89">89</a>        printOptions(out, (Logger) cats.nextElement());
<a name="90" href="#90">90</a>      }
<a name="91" href="#91">91</a>    }
<a name="92" href="#92">92</a>    
<a name="93" href="#93">93</a>    <em class="jxr_javadoccomment">/**</em>
<a name="94" href="#94">94</a>  <em class="jxr_javadoccomment">   * @since 1.2.15</em>
<a name="95" href="#95">95</a>  <em class="jxr_javadoccomment">   */</em>
<a name="96" href="#96">96</a>    <strong class="jxr_keyword">protected</strong>
<a name="97" href="#97">97</a>    <strong class="jxr_keyword">void</strong> printOptions(PrintWriter out, <a href="../../../../org/apache/log4j/Category.html">Category</a> cat) {
<a name="98" href="#98">98</a>      Enumeration appenders = cat.getAllAppenders();
<a name="99" href="#99">99</a>      <a href="../../../../org/apache/log4j/Level.html">Level</a> prio = cat.getLevel();
<a name="100" href="#100">100</a>     String appenderString = (prio == <strong class="jxr_keyword">null</strong> ? <span class="jxr_string">""</span> : prio.toString());
<a name="101" href="#101">101</a>     
<a name="102" href="#102">102</a>     <strong class="jxr_keyword">while</strong> (appenders.hasMoreElements()) {
<a name="103" href="#103">103</a>       <a href="../../../../org/apache/log4j/Appender.html">Appender</a> app = (Appender) appenders.nextElement();
<a name="104" href="#104">104</a>       String name;
<a name="105" href="#105">105</a>       
<a name="106" href="#106">106</a>       <strong class="jxr_keyword">if</strong> ((name = (String) appenderNames.get(app)) == <strong class="jxr_keyword">null</strong>) {
<a name="107" href="#107">107</a>       
<a name="108" href="#108">108</a>         <em class="jxr_comment">// first assign name to the appender</em>
<a name="109" href="#109">109</a>         <strong class="jxr_keyword">if</strong> ((name = app.getName()) == <strong class="jxr_keyword">null</strong> || isGenAppName(name)) {
<a name="110" href="#110">110</a>             name = genAppName();
<a name="111" href="#111">111</a>         }
<a name="112" href="#112">112</a>         appenderNames.put(app, name);
<a name="113" href="#113">113</a>         
<a name="114" href="#114">114</a>         printOptions(out, app, <span class="jxr_string">"log4j.appender."</span>+name);
<a name="115" href="#115">115</a>         <strong class="jxr_keyword">if</strong> (app.getLayout() != <strong class="jxr_keyword">null</strong>) {
<a name="116" href="#116">116</a>           printOptions(out, app.getLayout(), <span class="jxr_string">"log4j.appender."</span>+name+<span class="jxr_string">".layout"</span>);
<a name="117" href="#117">117</a>         }
<a name="118" href="#118">118</a>       }
<a name="119" href="#119">119</a>       appenderString += <span class="jxr_string">", "</span> + name;
<a name="120" href="#120">120</a>     }
<a name="121" href="#121">121</a>     String catKey = (cat == Logger.getRootLogger())
<a name="122" href="#122">122</a>         ? <span class="jxr_string">"log4j.rootLogger"</span>
<a name="123" href="#123">123</a>         : <span class="jxr_string">"log4j.logger."</span> + cat.getName();
<a name="124" href="#124">124</a>     <strong class="jxr_keyword">if</strong> (appenderString != <span class="jxr_string">""</span>) {
<a name="125" href="#125">125</a>       out.println(catKey + <span class="jxr_string">"="</span> + appenderString);
<a name="126" href="#126">126</a>     }
<a name="127" href="#127">127</a>     <strong class="jxr_keyword">if</strong> (!cat.getAdditivity() &amp;&amp; cat != Logger.getRootLogger()) {
<a name="128" href="#128">128</a>     	out.println(<span class="jxr_string">"log4j.additivity."</span> + cat.getName() + <span class="jxr_string">"=false"</span>);    
<a name="129" href="#129">129</a>     }
<a name="130" href="#130">130</a>   }
<a name="131" href="#131">131</a> 
<a name="132" href="#132">132</a>   <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> printOptions(PrintWriter out, <a href="../../../../org/apache/log4j/Logger.html">Logger</a> cat) {
<a name="133" href="#133">133</a>       printOptions(out, (Category) cat);
<a name="134" href="#134">134</a>   }
<a name="135" href="#135">135</a>   
<a name="136" href="#136">136</a>   <strong class="jxr_keyword">protected</strong>
<a name="137" href="#137">137</a>   <strong class="jxr_keyword">void</strong> printOptions(PrintWriter out, Object obj, String fullname) {
<a name="138" href="#138">138</a>     out.println(fullname + <span class="jxr_string">"="</span> + obj.getClass().getName());
<a name="139" href="#139">139</a>     PropertyGetter.getProperties(obj, <strong class="jxr_keyword">this</strong>, fullname + <span class="jxr_string">"."</span>);
<a name="140" href="#140">140</a>   }
<a name="141" href="#141">141</a>   
<a name="142" href="#142">142</a>   <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> foundProperty(Object obj, String prefix, String name, Object value) {
<a name="143" href="#143">143</a>     <em class="jxr_comment">// XXX: Properties encode value.toString()</em>
<a name="144" href="#144">144</a>     <strong class="jxr_keyword">if</strong> (obj instanceof Appender &amp;&amp; <span class="jxr_string">"name"</span>.equals(name)) {
<a name="145" href="#145">145</a>       <strong class="jxr_keyword">return</strong>;
<a name="146" href="#146">146</a>     }
<a name="147" href="#147">147</a>     <strong class="jxr_keyword">if</strong> (doCapitalize) {
<a name="148" href="#148">148</a>       name = capitalize(name);
<a name="149" href="#149">149</a>     }
<a name="150" href="#150">150</a>     out.println(prefix + name + <span class="jxr_string">"="</span> + value.toString());
<a name="151" href="#151">151</a>   }
<a name="152" href="#152">152</a>   
<a name="153" href="#153">153</a>   <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> String capitalize(String name) {
<a name="154" href="#154">154</a>     <strong class="jxr_keyword">if</strong> (Character.isLowerCase(name.charAt(0))) {
<a name="155" href="#155">155</a>       <strong class="jxr_keyword">if</strong> (name.length() == 1 || Character.isLowerCase(name.charAt(1))) {
<a name="156" href="#156">156</a>         StringBuffer newname = <strong class="jxr_keyword">new</strong> StringBuffer(name);
<a name="157" href="#157">157</a>         newname.setCharAt(0, Character.toUpperCase(name.charAt(0)));
<a name="158" href="#158">158</a>         <strong class="jxr_keyword">return</strong> newname.toString();
<a name="159" href="#159">159</a>       }
<a name="160" href="#160">160</a>     }
<a name="161" href="#161">161</a>     <strong class="jxr_keyword">return</strong> name;
<a name="162" href="#162">162</a>   }
<a name="163" href="#163">163</a>   
<a name="164" href="#164">164</a>   <em class="jxr_comment">// for testing</em>
<a name="165" href="#165">165</a>   <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> main(String[] args) {
<a name="166" href="#166">166</a>     <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/config/PropertyPrinter.html">PropertyPrinter</a>(<strong class="jxr_keyword">new</strong> PrintWriter(System.out));
<a name="167" href="#167">167</a>   }
<a name="168" href="#168">168</a> }
</pre>
<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
</html>

