<!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>LogMF xref</title>
<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
</head>
<body>
<div id="overview"><a href="../../../../apidocs/org/apache/log4j/LogMF.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>  <strong class="jxr_keyword">package</strong> org.apache.log4j;
<a name="18" href="#18">18</a>  
<a name="19" href="#19">19</a>  <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggingEvent;
<a name="20" href="#20">20</a>  
<a name="21" href="#21">21</a>  <strong class="jxr_keyword">import</strong> java.text.DateFormat;
<a name="22" href="#22">22</a>  <strong class="jxr_keyword">import</strong> java.text.MessageFormat;
<a name="23" href="#23">23</a>  <strong class="jxr_keyword">import</strong> java.text.NumberFormat;
<a name="24" href="#24">24</a>  <strong class="jxr_keyword">import</strong> java.util.Date;
<a name="25" href="#25">25</a>  <strong class="jxr_keyword">import</strong> java.util.ResourceBundle;
<a name="26" href="#26">26</a>  <strong class="jxr_keyword">import</strong> java.util.Locale;
<a name="27" href="#27">27</a>  
<a name="28" href="#28">28</a>  
<a name="29" href="#29">29</a>  <em class="jxr_javadoccomment">/**</em>
<a name="30" href="#30">30</a>  <em class="jxr_javadoccomment"> * This class provides parameterized logging services</em>
<a name="31" href="#31">31</a>  <em class="jxr_javadoccomment"> * using the pattern syntax of java.text.MessageFormat.</em>
<a name="32" href="#32">32</a>  <em class="jxr_javadoccomment"> * Message formatting is only performed when the </em>
<a name="33" href="#33">33</a>  <em class="jxr_javadoccomment"> * request exceeds the threshold level of the logger.</em>
<a name="34" href="#34">34</a>  <em class="jxr_javadoccomment"> * When the pattern only contains literal text and</em>
<a name="35" href="#35">35</a>  <em class="jxr_javadoccomment"> * default conversion patterns (that is "{0}" and similar)</em>
<a name="36" href="#36">36</a>  <em class="jxr_javadoccomment"> * a simple fast compatible formatter is used.  </em>
<a name="37" href="#37">37</a>  <em class="jxr_javadoccomment"> * If the pattern contains more complex conversion patterns,</em>
<a name="38" href="#38">38</a>  <em class="jxr_javadoccomment"> * formatting will be delegated to java.text.MessageFormatter</em>
<a name="39" href="#39">39</a>  <em class="jxr_javadoccomment"> * which can be substantially slower.</em>
<a name="40" href="#40">40</a>  <em class="jxr_javadoccomment"> *</em>
<a name="41" href="#41">41</a>  <em class="jxr_javadoccomment"> * @see org.apache.log4j.LogSF</em>
<a name="42" href="#42">42</a>  <em class="jxr_javadoccomment"> * @since 1.2.16</em>
<a name="43" href="#43">43</a>  <em class="jxr_javadoccomment"> *</em>
<a name="44" href="#44">44</a>  <em class="jxr_javadoccomment"> */</em>
<a name="45" href="#45">45</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">class</strong> <a href="../../../org/apache/log4j/LogMF.html">LogMF</a> <strong class="jxr_keyword">extends</strong> <a href="../../../org/apache/log4j/LogXF.html">LogXF</a> {
<a name="46" href="#46">46</a>      <em class="jxr_javadoccomment">/**</em>
<a name="47" href="#47">47</a>  <em class="jxr_javadoccomment">     * private constructor.</em>
<a name="48" href="#48">48</a>  <em class="jxr_javadoccomment">     *</em>
<a name="49" href="#49">49</a>  <em class="jxr_javadoccomment">     */</em>
<a name="50" href="#50">50</a>      <strong class="jxr_keyword">private</strong> <a href="../../../org/apache/log4j/LogMF.html">LogMF</a>() {
<a name="51" href="#51">51</a>      }
<a name="52" href="#52">52</a>  
<a name="53" href="#53">53</a>      <em class="jxr_javadoccomment">/**</em>
<a name="54" href="#54">54</a>  <em class="jxr_javadoccomment">     * Number format.</em>
<a name="55" href="#55">55</a>  <em class="jxr_javadoccomment">     */</em>
<a name="56" href="#56">56</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> NumberFormat numberFormat = <strong class="jxr_keyword">null</strong>;
<a name="57" href="#57">57</a>      <em class="jxr_javadoccomment">/**</em>
<a name="58" href="#58">58</a>  <em class="jxr_javadoccomment">     * Locale at time of last number format request.</em>
<a name="59" href="#59">59</a>  <em class="jxr_javadoccomment">     */</em>
<a name="60" href="#60">60</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> Locale numberLocale = <strong class="jxr_keyword">null</strong>;
<a name="61" href="#61">61</a>      <em class="jxr_javadoccomment">/**</em>
<a name="62" href="#62">62</a>  <em class="jxr_javadoccomment">     * Date format.</em>
<a name="63" href="#63">63</a>  <em class="jxr_javadoccomment">     */</em>
<a name="64" href="#64">64</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> DateFormat dateFormat = <strong class="jxr_keyword">null</strong>;
<a name="65" href="#65">65</a>      <em class="jxr_javadoccomment">/**</em>
<a name="66" href="#66">66</a>  <em class="jxr_javadoccomment">     * Locale at time of last date format request.</em>
<a name="67" href="#67">67</a>  <em class="jxr_javadoccomment">     */</em>
<a name="68" href="#68">68</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> Locale dateLocale = <strong class="jxr_keyword">null</strong>;
<a name="69" href="#69">69</a>  
<a name="70" href="#70">70</a>      <em class="jxr_javadoccomment">/**</em>
<a name="71" href="#71">71</a>  <em class="jxr_javadoccomment">     * Format number.</em>
<a name="72" href="#72">72</a>  <em class="jxr_javadoccomment">     * @param n number to format, may not be null.</em>
<a name="73" href="#73">73</a>  <em class="jxr_javadoccomment">     * @return formatted value.</em>
<a name="74" href="#74">74</a>  <em class="jxr_javadoccomment">     */</em>
<a name="75" href="#75">75</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">synchronized</strong> String formatNumber(<strong class="jxr_keyword">final</strong> Object n) {
<a name="76" href="#76">76</a>          Locale currentLocale = Locale.getDefault();
<a name="77" href="#77">77</a>          <strong class="jxr_keyword">if</strong> (currentLocale != numberLocale || numberFormat == <strong class="jxr_keyword">null</strong>) {
<a name="78" href="#78">78</a>              numberLocale = currentLocale;
<a name="79" href="#79">79</a>              numberFormat = NumberFormat.getInstance(currentLocale);
<a name="80" href="#80">80</a>          }
<a name="81" href="#81">81</a>          <strong class="jxr_keyword">return</strong> numberFormat.format(n);
<a name="82" href="#82">82</a>      }
<a name="83" href="#83">83</a>  
<a name="84" href="#84">84</a>  
<a name="85" href="#85">85</a>      <em class="jxr_javadoccomment">/**</em>
<a name="86" href="#86">86</a>  <em class="jxr_javadoccomment">     * Format date.</em>
<a name="87" href="#87">87</a>  <em class="jxr_javadoccomment">     * @param d date, may not be null.</em>
<a name="88" href="#88">88</a>  <em class="jxr_javadoccomment">     * @return formatted value.</em>
<a name="89" href="#89">89</a>  <em class="jxr_javadoccomment">     */</em>
<a name="90" href="#90">90</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">synchronized</strong> String formatDate(<strong class="jxr_keyword">final</strong> Object d) {
<a name="91" href="#91">91</a>          Locale currentLocale = Locale.getDefault();
<a name="92" href="#92">92</a>          <strong class="jxr_keyword">if</strong> (currentLocale != dateLocale || dateFormat == <strong class="jxr_keyword">null</strong>) {
<a name="93" href="#93">93</a>              dateLocale = currentLocale;
<a name="94" href="#94">94</a>              dateFormat = DateFormat.getDateTimeInstance(
<a name="95" href="#95">95</a>                                  DateFormat.SHORT,
<a name="96" href="#96">96</a>                                  DateFormat.SHORT,
<a name="97" href="#97">97</a>                                  currentLocale);
<a name="98" href="#98">98</a>          }
<a name="99" href="#99">99</a>          <strong class="jxr_keyword">return</strong> dateFormat.format(d);
<a name="100" href="#100">100</a>     }
<a name="101" href="#101">101</a> 
<a name="102" href="#102">102</a>     <em class="jxr_javadoccomment">/**</em>
<a name="103" href="#103">103</a> <em class="jxr_javadoccomment">     * Format a single parameter like a "{0}" formatting specifier.</em>
<a name="104" href="#104">104</a> <em class="jxr_javadoccomment">     *</em>
<a name="105" href="#105">105</a> <em class="jxr_javadoccomment">     * @param arg0 parameter, may be null.</em>
<a name="106" href="#106">106</a> <em class="jxr_javadoccomment">     * @return string representation of arg0.</em>
<a name="107" href="#107">107</a> <em class="jxr_javadoccomment">     */</em>
<a name="108" href="#108">108</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> String formatObject(<strong class="jxr_keyword">final</strong> Object arg0) {
<a name="109" href="#109">109</a>         <strong class="jxr_keyword">if</strong> (arg0 instanceof String) {
<a name="110" href="#110">110</a>             <strong class="jxr_keyword">return</strong> arg0.toString();
<a name="111" href="#111">111</a>         } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (arg0 instanceof Double ||
<a name="112" href="#112">112</a>                    arg0 instanceof Float) {
<a name="113" href="#113">113</a>            <strong class="jxr_keyword">return</strong> formatNumber(arg0);
<a name="114" href="#114">114</a>         } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (arg0 instanceof Date) {
<a name="115" href="#115">115</a>             <strong class="jxr_keyword">return</strong> formatDate(arg0);
<a name="116" href="#116">116</a>         }
<a name="117" href="#117">117</a>         <strong class="jxr_keyword">return</strong> String.valueOf(arg0);
<a name="118" href="#118">118</a>     }
<a name="119" href="#119">119</a> 
<a name="120" href="#120">120</a> 
<a name="121" href="#121">121</a>     <em class="jxr_javadoccomment">/**</em>
<a name="122" href="#122">122</a> <em class="jxr_javadoccomment">     * Determines if pattern contains only {n} format elements</em>
<a name="123" href="#123">123</a> <em class="jxr_javadoccomment">     * and not apostrophes.</em>
<a name="124" href="#124">124</a> <em class="jxr_javadoccomment">     *</em>
<a name="125" href="#125">125</a> <em class="jxr_javadoccomment">     * @param pattern pattern, may not be null.</em>
<a name="126" href="#126">126</a> <em class="jxr_javadoccomment">     * @return true if pattern only contains {n} format elements.</em>
<a name="127" href="#127">127</a> <em class="jxr_javadoccomment">     */</em>
<a name="128" href="#128">128</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">boolean</strong> isSimple(<strong class="jxr_keyword">final</strong> String pattern) {
<a name="129" href="#129">129</a>         <strong class="jxr_keyword">if</strong> (pattern.indexOf('\'') != -1) {
<a name="130" href="#130">130</a>             <strong class="jxr_keyword">return</strong> false;
<a name="131" href="#131">131</a>         }
<a name="132" href="#132">132</a>         <strong class="jxr_keyword">for</strong>(<strong class="jxr_keyword">int</strong> pos = pattern.indexOf('{');
<a name="133" href="#133">133</a>             pos != -1;
<a name="134" href="#134">134</a>             pos = pattern.indexOf('{', pos + 1)) {
<a name="135" href="#135">135</a>             <strong class="jxr_keyword">if</strong> (pos + 2 &gt;= pattern.length() ||
<a name="136" href="#136">136</a>                     pattern.charAt(pos+2) != '}' ||
<a name="137" href="#137">137</a>                     pattern.charAt(pos+1) &lt; '0' ||
<a name="138" href="#138">138</a>                     pattern.charAt(pos+1) &gt; '9') {
<a name="139" href="#139">139</a>                 <strong class="jxr_keyword">return</strong> false;
<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">return</strong> <strong class="jxr_keyword">true</strong>;
<a name="143" href="#143">143</a> 
<a name="144" href="#144">144</a>     }
<a name="145" href="#145">145</a> 
<a name="146" href="#146">146</a>     <em class="jxr_javadoccomment">/**</em>
<a name="147" href="#147">147</a> <em class="jxr_javadoccomment">     * Formats arguments using MessageFormat.</em>
<a name="148" href="#148">148</a> <em class="jxr_javadoccomment">     * @param pattern pattern, may be malformed or null.</em>
<a name="149" href="#149">149</a> <em class="jxr_javadoccomment">     * @param arguments arguments, may be null or mismatched.</em>
<a name="150" href="#150">150</a> <em class="jxr_javadoccomment">     * @return Message string or null</em>
<a name="151" href="#151">151</a> <em class="jxr_javadoccomment">     */</em>
<a name="152" href="#152">152</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> String format(<strong class="jxr_keyword">final</strong> String pattern,
<a name="153" href="#153">153</a>                                  <strong class="jxr_keyword">final</strong> Object[] arguments) {
<a name="154" href="#154">154</a>         <strong class="jxr_keyword">if</strong> (pattern == <strong class="jxr_keyword">null</strong>) {
<a name="155" href="#155">155</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
<a name="156" href="#156">156</a>         } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong>(isSimple(pattern)) {
<a name="157" href="#157">157</a>             String formatted[] = <strong class="jxr_keyword">new</strong> String[10];
<a name="158" href="#158">158</a>             <strong class="jxr_keyword">int</strong> prev = 0;
<a name="159" href="#159">159</a>             String retval = <span class="jxr_string">""</span>;
<a name="160" href="#160">160</a>             <strong class="jxr_keyword">int</strong> pos = pattern.indexOf('{');
<a name="161" href="#161">161</a>             <strong class="jxr_keyword">while</strong>(pos &gt;= 0) {
<a name="162" href="#162">162</a>                 <strong class="jxr_keyword">if</strong>(pos + 2 &lt; pattern.length() &amp;&amp; 
<a name="163" href="#163">163</a>                       pattern.charAt(pos+2) == '}' &amp;&amp;
<a name="164" href="#164">164</a>                       pattern.charAt(pos+1) &gt;= '0' &amp;&amp;
<a name="165" href="#165">165</a>                       pattern.charAt(pos+1) &lt;= '9') {
<a name="166" href="#166">166</a>                     <strong class="jxr_keyword">int</strong> index = pattern.charAt(pos+1) - '0';
<a name="167" href="#167">167</a>                     retval += pattern.substring(prev, pos);
<a name="168" href="#168">168</a>                     <strong class="jxr_keyword">if</strong> (formatted[index] == <strong class="jxr_keyword">null</strong>) {
<a name="169" href="#169">169</a>                          <strong class="jxr_keyword">if</strong> (arguments == <strong class="jxr_keyword">null</strong> || index &gt;= arguments.length) {
<a name="170" href="#170">170</a>                             formatted[index] = pattern.substring(pos, pos+3);
<a name="171" href="#171">171</a>                          } <strong class="jxr_keyword">else</strong> {
<a name="172" href="#172">172</a>                             formatted[index] = formatObject(arguments[index]);
<a name="173" href="#173">173</a>                          }
<a name="174" href="#174">174</a>                     }
<a name="175" href="#175">175</a>                     retval += formatted[index];
<a name="176" href="#176">176</a>                     prev = pos + 3;
<a name="177" href="#177">177</a>                     pos = pattern.indexOf('{', prev);
<a name="178" href="#178">178</a>                 } <strong class="jxr_keyword">else</strong> {
<a name="179" href="#179">179</a>                     pos = pattern.indexOf('{', pos + 1);
<a name="180" href="#180">180</a>                 }
<a name="181" href="#181">181</a>             }
<a name="182" href="#182">182</a>             retval += pattern.substring(prev);
<a name="183" href="#183">183</a>             <strong class="jxr_keyword">return</strong> retval;
<a name="184" href="#184">184</a>         }
<a name="185" href="#185">185</a>         <strong class="jxr_keyword">try</strong> {
<a name="186" href="#186">186</a>             <strong class="jxr_keyword">return</strong> MessageFormat.format(pattern, arguments);
<a name="187" href="#187">187</a>         } <strong class="jxr_keyword">catch</strong> (IllegalArgumentException ex) {
<a name="188" href="#188">188</a>             <strong class="jxr_keyword">return</strong> pattern;
<a name="189" href="#189">189</a>         }
<a name="190" href="#190">190</a>     }
<a name="191" href="#191">191</a> 
<a name="192" href="#192">192</a>     <em class="jxr_javadoccomment">/**</em>
<a name="193" href="#193">193</a> <em class="jxr_javadoccomment">     * Formats a single argument using MessageFormat.</em>
<a name="194" href="#194">194</a> <em class="jxr_javadoccomment">     * @param pattern pattern, may be malformed or null.</em>
<a name="195" href="#195">195</a> <em class="jxr_javadoccomment">     * @param arguments arguments, may be null or mismatched.</em>
<a name="196" href="#196">196</a> <em class="jxr_javadoccomment">     * @return Message string or null</em>
<a name="197" href="#197">197</a> <em class="jxr_javadoccomment">     */</em>
<a name="198" href="#198">198</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> String format(<strong class="jxr_keyword">final</strong> String pattern,
<a name="199" href="#199">199</a>                                  <strong class="jxr_keyword">final</strong> Object arg0) {
<a name="200" href="#200">200</a>         <strong class="jxr_keyword">if</strong> (pattern == <strong class="jxr_keyword">null</strong>) {
<a name="201" href="#201">201</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
<a name="202" href="#202">202</a>         } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong>(isSimple(pattern)) {
<a name="203" href="#203">203</a>             String formatted = <strong class="jxr_keyword">null</strong>;
<a name="204" href="#204">204</a>             <strong class="jxr_keyword">int</strong> prev = 0;
<a name="205" href="#205">205</a>             String retval = <span class="jxr_string">""</span>;
<a name="206" href="#206">206</a>             <strong class="jxr_keyword">int</strong> pos = pattern.indexOf('{');
<a name="207" href="#207">207</a>             <strong class="jxr_keyword">while</strong>(pos &gt;= 0) {
<a name="208" href="#208">208</a>                 <strong class="jxr_keyword">if</strong>(pos + 2 &lt; pattern.length() &amp;&amp;
<a name="209" href="#209">209</a>                       pattern.charAt(pos+2) == '}' &amp;&amp;
<a name="210" href="#210">210</a>                       pattern.charAt(pos+1) &gt;= '0' &amp;&amp;
<a name="211" href="#211">211</a>                       pattern.charAt(pos+1) &lt;= '9') {
<a name="212" href="#212">212</a>                     <strong class="jxr_keyword">int</strong> index = pattern.charAt(pos+1) - '0';
<a name="213" href="#213">213</a>                     retval += pattern.substring(prev, pos);
<a name="214" href="#214">214</a>                     <strong class="jxr_keyword">if</strong> (index != 0) {
<a name="215" href="#215">215</a>                         retval += pattern.substring(pos, pos+3);
<a name="216" href="#216">216</a>                     } <strong class="jxr_keyword">else</strong> {
<a name="217" href="#217">217</a>                         <strong class="jxr_keyword">if</strong> (formatted == <strong class="jxr_keyword">null</strong>) {
<a name="218" href="#218">218</a>                             formatted = formatObject(arg0);
<a name="219" href="#219">219</a>                         }
<a name="220" href="#220">220</a>                         retval += formatted;
<a name="221" href="#221">221</a>                     }
<a name="222" href="#222">222</a>                     prev = pos + 3;
<a name="223" href="#223">223</a>                     pos = pattern.indexOf('{', prev);
<a name="224" href="#224">224</a>                 } <strong class="jxr_keyword">else</strong> {
<a name="225" href="#225">225</a>                     pos = pattern.indexOf('{', pos + 1);
<a name="226" href="#226">226</a>                 }
<a name="227" href="#227">227</a>             }
<a name="228" href="#228">228</a>             retval += pattern.substring(prev);
<a name="229" href="#229">229</a>             <strong class="jxr_keyword">return</strong> retval;
<a name="230" href="#230">230</a>         }
<a name="231" href="#231">231</a>         <strong class="jxr_keyword">try</strong> {
<a name="232" href="#232">232</a>             <strong class="jxr_keyword">return</strong> MessageFormat.format(pattern, <strong class="jxr_keyword">new</strong> Object[] { arg0 });
<a name="233" href="#233">233</a>         } <strong class="jxr_keyword">catch</strong> (IllegalArgumentException ex) {
<a name="234" href="#234">234</a>             <strong class="jxr_keyword">return</strong> pattern;
<a name="235" href="#235">235</a>         }
<a name="236" href="#236">236</a>     }
<a name="237" href="#237">237</a> 
<a name="238" href="#238">238</a> 
<a name="239" href="#239">239</a>     <em class="jxr_javadoccomment">/**</em>
<a name="240" href="#240">240</a> <em class="jxr_javadoccomment">     * Formats arguments using MessageFormat using a pattern from</em>
<a name="241" href="#241">241</a> <em class="jxr_javadoccomment">     * a resource bundle.</em>
<a name="242" href="#242">242</a> <em class="jxr_javadoccomment">     * @param resourceBundleName name of resource bundle, may be null.</em>
<a name="243" href="#243">243</a> <em class="jxr_javadoccomment">     * @param key key for pattern in resource bundle, may be null.</em>
<a name="244" href="#244">244</a> <em class="jxr_javadoccomment">     * @param arguments arguments, may be null or mismatched.</em>
<a name="245" href="#245">245</a> <em class="jxr_javadoccomment">     * @return Message string or null</em>
<a name="246" href="#246">246</a> <em class="jxr_javadoccomment">     */</em>
<a name="247" href="#247">247</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> String format(
<a name="248" href="#248">248</a>             <strong class="jxr_keyword">final</strong> String resourceBundleName,
<a name="249" href="#249">249</a>             <strong class="jxr_keyword">final</strong> String key,
<a name="250" href="#250">250</a>             <strong class="jxr_keyword">final</strong> Object[] arguments) {
<a name="251" href="#251">251</a>         String pattern;
<a name="252" href="#252">252</a>         <strong class="jxr_keyword">if</strong> (resourceBundleName != <strong class="jxr_keyword">null</strong>) {
<a name="253" href="#253">253</a>             <strong class="jxr_keyword">try</strong> {
<a name="254" href="#254">254</a>                 ResourceBundle bundle =
<a name="255" href="#255">255</a>                         ResourceBundle.getBundle(resourceBundleName);
<a name="256" href="#256">256</a>                 pattern = bundle.getString(key);
<a name="257" href="#257">257</a>             } <strong class="jxr_keyword">catch</strong> (Exception ex) {
<a name="258" href="#258">258</a>                 pattern = key;
<a name="259" href="#259">259</a>             }
<a name="260" href="#260">260</a>         } <strong class="jxr_keyword">else</strong> {
<a name="261" href="#261">261</a>             pattern = key;
<a name="262" href="#262">262</a>         }
<a name="263" href="#263">263</a>         <strong class="jxr_keyword">return</strong> format(pattern, arguments);
<a name="264" href="#264">264</a>     }
<a name="265" href="#265">265</a> 
<a name="266" href="#266">266</a> 
<a name="267" href="#267">267</a>     <em class="jxr_javadoccomment">/**</em>
<a name="268" href="#268">268</a> <em class="jxr_javadoccomment">     * Fully Qualified Class Name of this class.</em>
<a name="269" href="#269">269</a> <em class="jxr_javadoccomment">     */</em>
<a name="270" href="#270">270</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String FQCN = LogMF.<strong class="jxr_keyword">class</strong>.getName();
<a name="271" href="#271">271</a> 
<a name="272" href="#272">272</a>     <em class="jxr_javadoccomment">/**</em>
<a name="273" href="#273">273</a> <em class="jxr_javadoccomment">     * Equivalent of Logger.forcedLog.</em>
<a name="274" href="#274">274</a> <em class="jxr_javadoccomment">     *</em>
<a name="275" href="#275">275</a> <em class="jxr_javadoccomment">     * @param logger logger, may not be null.</em>
<a name="276" href="#276">276</a> <em class="jxr_javadoccomment">     * @param level level, may not be null.</em>
<a name="277" href="#277">277</a> <em class="jxr_javadoccomment">     * @param msg message, may be null.</em>
<a name="278" href="#278">278</a> <em class="jxr_javadoccomment">     */</em>
<a name="279" href="#279">279</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> forcedLog(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger,
<a name="280" href="#280">280</a>                                   <strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Level.html">Level</a> level,
<a name="281" href="#281">281</a>                                   <strong class="jxr_keyword">final</strong> String msg) {
<a name="282" href="#282">282</a>         logger.callAppenders(<strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a>(FQCN, logger, level, msg, <strong class="jxr_keyword">null</strong>));
<a name="283" href="#283">283</a>     }
<a name="284" href="#284">284</a> 
<a name="285" href="#285">285</a>     <em class="jxr_javadoccomment">/**</em>
<a name="286" href="#286">286</a> <em class="jxr_javadoccomment">     * Equivalent of Logger.forcedLog.</em>
<a name="287" href="#287">287</a> <em class="jxr_javadoccomment">     *</em>
<a name="288" href="#288">288</a> <em class="jxr_javadoccomment">     * @param logger logger, may not be null.</em>
<a name="289" href="#289">289</a> <em class="jxr_javadoccomment">     * @param level level, may not be null.</em>
<a name="290" href="#290">290</a> <em class="jxr_javadoccomment">     * @param msg message, may be null.</em>
<a name="291" href="#291">291</a> <em class="jxr_javadoccomment">     * @param t throwable.</em>
<a name="292" href="#292">292</a> <em class="jxr_javadoccomment">     */</em>
<a name="293" href="#293">293</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> forcedLog(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger,
<a name="294" href="#294">294</a>                                   <strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Level.html">Level</a> level,
<a name="295" href="#295">295</a>                                   <strong class="jxr_keyword">final</strong> String msg,
<a name="296" href="#296">296</a>                                   <strong class="jxr_keyword">final</strong> Throwable t) {
<a name="297" href="#297">297</a>         logger.callAppenders(<strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a>(FQCN, logger, level, msg, t));
<a name="298" href="#298">298</a>     }
<a name="299" href="#299">299</a>     <em class="jxr_javadoccomment">/**</em>
<a name="300" href="#300">300</a> <em class="jxr_javadoccomment">         * Log a parameterized message at trace level.</em>
<a name="301" href="#301">301</a> <em class="jxr_javadoccomment">         * @param logger logger, may not be null.</em>
<a name="302" href="#302">302</a> <em class="jxr_javadoccomment">         * @param pattern pattern, may be null.</em>
<a name="303" href="#303">303</a> <em class="jxr_javadoccomment">         * @param arguments an array of arguments to be</em>
<a name="304" href="#304">304</a> <em class="jxr_javadoccomment">         *          formatted and substituted.</em>
<a name="305" href="#305">305</a> <em class="jxr_javadoccomment">         */</em>
<a name="306" href="#306">306</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> trace(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern,
<a name="307" href="#307">307</a>         <strong class="jxr_keyword">final</strong> Object[] arguments) {
<a name="308" href="#308">308</a>         <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(TRACE)) {
<a name="309" href="#309">309</a>             forcedLog(logger, TRACE, format(pattern, arguments));
<a name="310" href="#310">310</a>         }
<a name="311" href="#311">311</a>     }
<a name="312" href="#312">312</a> 
<a name="313" href="#313">313</a>     <em class="jxr_javadoccomment">/**</em>
<a name="314" href="#314">314</a> <em class="jxr_javadoccomment">     * Log a parameterized message at debug level.</em>
<a name="315" href="#315">315</a> <em class="jxr_javadoccomment">     * @param logger logger, may not be null.</em>
<a name="316" href="#316">316</a> <em class="jxr_javadoccomment">     * @param pattern pattern, may be null.</em>
<a name="317" href="#317">317</a> <em class="jxr_javadoccomment">     * @param arguments an array of arguments to be formatted and substituted.</em>
<a name="318" href="#318">318</a> <em class="jxr_javadoccomment">     */</em>
<a name="319" href="#319">319</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> debug(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern,
<a name="320" href="#320">320</a>         <strong class="jxr_keyword">final</strong> Object[] arguments) {
<a name="321" href="#321">321</a>         <strong class="jxr_keyword">if</strong> (logger.isDebugEnabled()) {
<a name="322" href="#322">322</a>             forcedLog(logger, Level.DEBUG, format(pattern, arguments));
<a name="323" href="#323">323</a>         }
<a name="324" href="#324">324</a>     }
<a name="325" href="#325">325</a> 
<a name="326" href="#326">326</a>     <em class="jxr_javadoccomment">/**</em>
<a name="327" href="#327">327</a> <em class="jxr_javadoccomment">     * Log a parameterized message at info level.</em>
<a name="328" href="#328">328</a> <em class="jxr_javadoccomment">     * @param logger logger, may not be null.</em>
<a name="329" href="#329">329</a> <em class="jxr_javadoccomment">     * @param pattern pattern, may be null.</em>
<a name="330" href="#330">330</a> <em class="jxr_javadoccomment">     * @param arguments an array of arguments to be formatted and substituted.</em>
<a name="331" href="#331">331</a> <em class="jxr_javadoccomment">     */</em>
<a name="332" href="#332">332</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> info(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern,
<a name="333" href="#333">333</a>         <strong class="jxr_keyword">final</strong> Object[] arguments) {
<a name="334" href="#334">334</a>         <strong class="jxr_keyword">if</strong> (logger.isInfoEnabled()) {
<a name="335" href="#335">335</a>             forcedLog(logger, Level.INFO, format(pattern, arguments));
<a name="336" href="#336">336</a>         }
<a name="337" href="#337">337</a>     }
<a name="338" href="#338">338</a> 
<a name="339" href="#339">339</a>     <em class="jxr_javadoccomment">/**</em>
<a name="340" href="#340">340</a> <em class="jxr_javadoccomment">     * Log a parameterized message at warn level.</em>
<a name="341" href="#341">341</a> <em class="jxr_javadoccomment">     * @param logger logger, may not be null.</em>
<a name="342" href="#342">342</a> <em class="jxr_javadoccomment">     * @param pattern pattern, may be null.</em>
<a name="343" href="#343">343</a> <em class="jxr_javadoccomment">     * @param arguments an array of arguments to be formatted and substituted.</em>
<a name="344" href="#344">344</a> <em class="jxr_javadoccomment">     */</em>
<a name="345" href="#345">345</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> warn(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern,
<a name="346" href="#346">346</a>         <strong class="jxr_keyword">final</strong> Object[] arguments) {
<a name="347" href="#347">347</a>         <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(Level.WARN)) {
<a name="348" href="#348">348</a>             forcedLog(logger, Level.WARN, format(pattern, arguments));
<a name="349" href="#349">349</a>         }
<a name="350" href="#350">350</a>     }
<a name="351" href="#351">351</a> 
<a name="352" href="#352">352</a>     <em class="jxr_javadoccomment">/**</em>
<a name="353" href="#353">353</a> <em class="jxr_javadoccomment">     * Log a parameterized message at error level.</em>
<a name="354" href="#354">354</a> <em class="jxr_javadoccomment">     * @param logger logger, may not be null.</em>
<a name="355" href="#355">355</a> <em class="jxr_javadoccomment">     * @param pattern pattern, may be null.</em>
<a name="356" href="#356">356</a> <em class="jxr_javadoccomment">     * @param arguments an array of arguments to be formatted and substituted.</em>
<a name="357" href="#357">357</a> <em class="jxr_javadoccomment">     */</em>
<a name="358" href="#358">358</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> error(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern,
<a name="359" href="#359">359</a>         <strong class="jxr_keyword">final</strong> Object[] arguments) {
<a name="360" href="#360">360</a>         <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(Level.ERROR)) {
<a name="361" href="#361">361</a>             forcedLog(logger, Level.ERROR, format(pattern, arguments));
<a name="362" href="#362">362</a>         }
<a name="363" href="#363">363</a>     }
<a name="364" href="#364">364</a> 
<a name="365" href="#365">365</a>     <em class="jxr_javadoccomment">/**</em>
<a name="366" href="#366">366</a> <em class="jxr_javadoccomment">     * Log a parameterized message at fatal level.</em>
<a name="367" href="#367">367</a> <em class="jxr_javadoccomment">     * @param logger logger, may not be null.</em>
<a name="368" href="#368">368</a> <em class="jxr_javadoccomment">     * @param pattern pattern, may be null.</em>
<a name="369" href="#369">369</a> <em class="jxr_javadoccomment">     * @param arguments an array of arguments to be formatted and substituted.</em>
<a name="370" href="#370">370</a> <em class="jxr_javadoccomment">     */</em>
<a name="371" href="#371">371</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> fatal(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern,
<a name="372" href="#372">372</a>         <strong class="jxr_keyword">final</strong> Object[] arguments) {
<a name="373" href="#373">373</a>         <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(Level.FATAL)) {
<a name="374" href="#374">374</a>             forcedLog(logger, Level.FATAL, format(pattern, arguments));
<a name="375" href="#375">375</a>         }
<a name="376" href="#376">376</a>     }
<a name="377" href="#377">377</a> 
<a name="378" href="#378">378</a>     <em class="jxr_javadoccomment">/**</em>
<a name="379" href="#379">379</a> <em class="jxr_javadoccomment">         * Log a parameterized message at trace level.</em>
<a name="380" href="#380">380</a> <em class="jxr_javadoccomment">         * @param logger logger, may not be null.</em>
<a name="381" href="#381">381</a> <em class="jxr_javadoccomment">         * @param t throwable, may be null.</em>
<a name="382" href="#382">382</a> <em class="jxr_javadoccomment">         * @param pattern pattern, may be null.</em>
<a name="383" href="#383">383</a> <em class="jxr_javadoccomment">         * @param arguments an array of arguments to be</em>
<a name="384" href="#384">384</a> <em class="jxr_javadoccomment">         *          formatted and substituted.</em>
<a name="385" href="#385">385</a> <em class="jxr_javadoccomment">         */</em>
<a name="386" href="#386">386</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> trace(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger,
<a name="387" href="#387">387</a>                              <strong class="jxr_keyword">final</strong> Throwable t,
<a name="388" href="#388">388</a>                              <strong class="jxr_keyword">final</strong> String pattern,
<a name="389" href="#389">389</a>         <strong class="jxr_keyword">final</strong> Object[] arguments) {
<a name="390" href="#390">390</a>         <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(TRACE)) {
<a name="391" href="#391">391</a>             forcedLog(logger, TRACE, format(pattern, arguments), t);
<a name="392" href="#392">392</a>         }
<a name="393" href="#393">393</a>     }
<a name="394" href="#394">394</a> 
<a name="395" href="#395">395</a>     <em class="jxr_javadoccomment">/**</em>
<a name="396" href="#396">396</a> <em class="jxr_javadoccomment">     * Log a parameterized message at debug level.</em>
<a name="397" href="#397">397</a> <em class="jxr_javadoccomment">     * @param logger logger, may not be null.</em>
<a name="398" href="#398">398</a> <em class="jxr_javadoccomment">     * @param t throwable, may be null.</em>
<a name="399" href="#399">399</a> <em class="jxr_javadoccomment">     * @param pattern pattern, may be null.</em>
<a name="400" href="#400">400</a> <em class="jxr_javadoccomment">     * @param arguments an array of arguments to be formatted and substituted.</em>
<a name="401" href="#401">401</a> <em class="jxr_javadoccomment">     */</em>
<a name="402" href="#402">402</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> debug(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger,
<a name="403" href="#403">403</a>                              <strong class="jxr_keyword">final</strong> Throwable t,
<a name="404" href="#404">404</a>                              <strong class="jxr_keyword">final</strong> String pattern,
<a name="405" href="#405">405</a>         <strong class="jxr_keyword">final</strong> Object[] arguments) {
<a name="406" href="#406">406</a>         <strong class="jxr_keyword">if</strong> (logger.isDebugEnabled()) {
<a name="407" href="#407">407</a>             forcedLog(logger, Level.DEBUG, format(pattern, arguments), t);
<a name="408" href="#408">408</a>         }
<a name="409" href="#409">409</a>     }
<a name="410" href="#410">410</a> 
<a name="411" href="#411">411</a>     <em class="jxr_javadoccomment">/**</em>
<a name="412" href="#412">412</a> <em class="jxr_javadoccomment">     * Log a parameterized message at info level.</em>
<a name="413" href="#413">413</a> <em class="jxr_javadoccomment">     * @param logger logger, may not be null.</em>
<a name="414" href="#414">414</a> <em class="jxr_javadoccomment">     * @param t throwable, may be null.</em>
<a name="415" href="#415">415</a> <em class="jxr_javadoccomment">     * @param pattern pattern, may be null.</em>
<a name="416" href="#416">416</a> <em class="jxr_javadoccomment">     * @param arguments an array of arguments to be formatted and substituted.</em>
<a name="417" href="#417">417</a> <em class="jxr_javadoccomment">     */</em>
<a name="418" href="#418">418</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> info(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger,
<a name="419" href="#419">419</a>                             <strong class="jxr_keyword">final</strong> Throwable t,
<a name="420" href="#420">420</a>                             <strong class="jxr_keyword">final</strong> String pattern,
<a name="421" href="#421">421</a>         <strong class="jxr_keyword">final</strong> Object[] arguments) {
<a name="422" href="#422">422</a>         <strong class="jxr_keyword">if</strong> (logger.isInfoEnabled()) {
<a name="423" href="#423">423</a>             forcedLog(logger, Level.INFO, format(pattern, arguments), t);
<a name="424" href="#424">424</a>         }
<a name="425" href="#425">425</a>     }
<a name="426" href="#426">426</a> 
<a name="427" href="#427">427</a>     <em class="jxr_javadoccomment">/**</em>
<a name="428" href="#428">428</a> <em class="jxr_javadoccomment">     * Log a parameterized message at warn level.</em>
<a name="429" href="#429">429</a> <em class="jxr_javadoccomment">     * @param logger logger, may not be null.</em>
<a name="430" href="#430">430</a> <em class="jxr_javadoccomment">     * @param t throwable, may be null.</em>
<a name="431" href="#431">431</a> <em class="jxr_javadoccomment">     * @param pattern pattern, may be null.</em>
<a name="432" href="#432">432</a> <em class="jxr_javadoccomment">     * @param arguments an array of arguments to be formatted and substituted.</em>
<a name="433" href="#433">433</a> <em class="jxr_javadoccomment">     */</em>
<a name="434" href="#434">434</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> warn(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger,
<a name="435" href="#435">435</a>                             <strong class="jxr_keyword">final</strong> Throwable t,
<a name="436" href="#436">436</a>                             <strong class="jxr_keyword">final</strong> String pattern,
<a name="437" href="#437">437</a>         <strong class="jxr_keyword">final</strong> Object[] arguments) {
<a name="438" href="#438">438</a>         <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(Level.WARN)) {
<a name="439" href="#439">439</a>             forcedLog(logger, Level.WARN, format(pattern, arguments), t);
<a name="440" href="#440">440</a>         }
<a name="441" href="#441">441</a>     }
<a name="442" href="#442">442</a> 
<a name="443" href="#443">443</a>     <em class="jxr_javadoccomment">/**</em>
<a name="444" href="#444">444</a> <em class="jxr_javadoccomment">     * Log a parameterized message at error level.</em>
<a name="445" href="#445">445</a> <em class="jxr_javadoccomment">     * @param logger logger, may not be null.</em>
<a name="446" href="#446">446</a> <em class="jxr_javadoccomment">     * @param t throwable, may be null.</em>
<a name="447" href="#447">447</a> <em class="jxr_javadoccomment">     * @param pattern pattern, may be null.</em>
<a name="448" href="#448">448</a> <em class="jxr_javadoccomment">     * @param arguments an array of arguments to be formatted and substituted.</em>
<a name="449" href="#449">449</a> <em class="jxr_javadoccomment">     */</em>
<a name="450" href="#450">450</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> error(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger,
<a name="451" href="#451">451</a>                              <strong class="jxr_keyword">final</strong> Throwable t,
<a name="452" href="#452">452</a>                              <strong class="jxr_keyword">final</strong> String pattern,
<a name="453" href="#453">453</a>         <strong class="jxr_keyword">final</strong> Object[] arguments) {
<a name="454" href="#454">454</a>         <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(Level.ERROR)) {
<a name="455" href="#455">455</a>             forcedLog(logger, Level.ERROR, format(pattern, arguments), t);
<a name="456" href="#456">456</a>         }
<a name="457" href="#457">457</a>     }
<a name="458" href="#458">458</a> 
<a name="459" href="#459">459</a>     <em class="jxr_javadoccomment">/**</em>
<a name="460" href="#460">460</a> <em class="jxr_javadoccomment">     * Log a parameterized message at fatal level.</em>
<a name="461" href="#461">461</a> <em class="jxr_javadoccomment">     * @param logger logger, may not be null.</em>
<a name="462" href="#462">462</a> <em class="jxr_javadoccomment">     * @param t throwable, may be null.</em>
<a name="463" href="#463">463</a> <em class="jxr_javadoccomment">     * @param pattern pattern, may be null.</em>
<a name="464" href="#464">464</a> <em class="jxr_javadoccomment">     * @param arguments an array of arguments to be formatted and substituted.</em>
<a name="465" href="#465">465</a> <em class="jxr_javadoccomment">     */</em>
<a name="466" href="#466">466</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> fatal(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger,
<a name="467" href="#467">467</a>                              <strong class="jxr_keyword">final</strong> Throwable t,
<a name="468" href="#468">468</a>                              <strong class="jxr_keyword">final</strong> String pattern,
<a name="469" href="#469">469</a>         <strong class="jxr_keyword">final</strong> Object[] arguments) {
<a name="470" href="#470">470</a>         <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(Level.FATAL)) {
<a name="471" href="#471">471</a>             forcedLog(logger, Level.FATAL, format(pattern, arguments), t);
<a name="472" href="#472">472</a>         }
<a name="473" href="#473">473</a>     }
<a name="474" href="#474">474</a> 
<a name="475" href="#475">475</a> 
<a name="476" href="#476">476</a> 
<a name="477" href="#477">477</a>     <em class="jxr_javadoccomment">/**</em>
<a name="478" href="#478">478</a> <em class="jxr_javadoccomment">     * Log a parameterized message at trace level.</em>
<a name="479" href="#479">479</a> <em class="jxr_javadoccomment">     * @param logger logger, may not be null.</em>
<a name="480" href="#480">480</a> <em class="jxr_javadoccomment">     * @param pattern pattern, may be null.</em>
<a name="481" href="#481">481</a> <em class="jxr_javadoccomment">     * @param argument a value to be formatted and substituted.</em>
<a name="482" href="#482">482</a> <em class="jxr_javadoccomment">     */</em>
<a name="483" href="#483">483</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> trace(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern,
<a name="484" href="#484">484</a>         <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">boolean</strong> argument) {
<a name="485" href="#485">485</a>         <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(TRACE)) {
<a name="486" href="#486">486</a>             forcedLog(logger, TRACE, format(pattern, valueOf(argument)));
<a name="487" href="#487">487</a>         }
<a name="488" href="#488">488</a>     }
<a name="489" href="#489">489</a> 
<a name="490" href="#490">490</a>     <em class="jxr_javadoccomment">/**</em>
<a name="491" href="#491">491</a> <em class="jxr_javadoccomment">     * Log a parameterized message at trace level.</em>
<a name="492" href="#492">492</a> <em class="jxr_javadoccomment">     * @param logger logger, may not be null.</em>
<a name="493" href="#493">493</a> <em class="jxr_javadoccomment">     * @param pattern pattern, may be null.</em>
<a name="494" href="#494">494</a> <em class="jxr_javadoccomment">     * @param argument a value to be formatted and substituted.</em>
<a name="495" href="#495">495</a> <em class="jxr_javadoccomment">     */</em>
<a name="496" href="#496">496</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> trace(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern,
<a name="497" href="#497">497</a>         <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">char</strong> argument) {
<a name="498" href="#498">498</a>         <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(TRACE)) {
<a name="499" href="#499">499</a>             forcedLog(logger, TRACE, format(pattern, valueOf(argument)));
<a name="500" href="#500">500</a>         }
<a name="501" href="#501">501</a>     }
<a name="502" href="#502">502</a> 
<a name="503" href="#503">503</a>     <em class="jxr_javadoccomment">/**</em>
<a name="504" href="#504">504</a> <em class="jxr_javadoccomment">     * Log a parameterized message at trace level.</em>
<a name="505" href="#505">505</a> <em class="jxr_javadoccomment">     * @param logger logger, may not be null.</em>
<a name="506" href="#506">506</a> <em class="jxr_javadoccomment">     * @param pattern pattern, may be null.</em>
<a name="507" href="#507">507</a> <em class="jxr_javadoccomment">     * @param argument a value to be formatted and substituted.</em>
<a name="508" href="#508">508</a> <em class="jxr_javadoccomment">     */</em>
<a name="509" href="#509">509</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> trace(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern,
<a name="510" href="#510">510</a>         <strong class="jxr_keyword">final</strong> byte argument) {
<a name="511" href="#511">511</a>         <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(TRACE)) {
<a name="512" href="#512">512</a>             forcedLog(logger, TRACE, format(pattern, valueOf(argument)));
<a name="513" href="#513">513</a>         }
<a name="514" href="#514">514</a>     }
<a name="515" href="#515">515</a> 
<a name="516" href="#516">516</a>     <em class="jxr_javadoccomment">/**</em>
<a name="517" href="#517">517</a> <em class="jxr_javadoccomment">     * Log a parameterized message at trace level.</em>
<a name="518" href="#518">518</a> <em class="jxr_javadoccomment">     * @param logger logger, may not be null.</em>
<a name="519" href="#519">519</a> <em class="jxr_javadoccomment">     * @param pattern pattern, may be null.</em>
<a name="520" href="#520">520</a> <em class="jxr_javadoccomment">     * @param argument a value to be formatted and substituted.</em>
<a name="521" href="#521">521</a> <em class="jxr_javadoccomment">     */</em>
<a name="522" href="#522">522</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> trace(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern,
<a name="523" href="#523">523</a>         <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">short</strong> argument) {
<a name="524" href="#524">524</a>         <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(TRACE)) {
<a name="525" href="#525">525</a>             forcedLog(logger, TRACE, format(pattern, valueOf(argument)));
<a name="526" href="#526">526</a>         }
<a name="527" href="#527">527</a>     }
<a name="528" href="#528">528</a> 
<a name="529" href="#529">529</a>     <em class="jxr_javadoccomment">/**</em>
<a name="530" href="#530">530</a> <em class="jxr_javadoccomment">     * Log a parameterized message at trace level.</em>
<a name="531" href="#531">531</a> <em class="jxr_javadoccomment">     * @param logger logger, may not be null.</em>
<a name="532" href="#532">532</a> <em class="jxr_javadoccomment">     * @param pattern pattern, may be null.</em>
<a name="533" href="#533">533</a> <em class="jxr_javadoccomment">     * @param argument a value to be formatted and substituted.</em>
<a name="534" href="#534">534</a> <em class="jxr_javadoccomment">     */</em>
<a name="535" href="#535">535</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> trace(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern,
<a name="536" href="#536">536</a>         <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> argument) {
<a name="537" href="#537">537</a>         <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(TRACE)) {
<a name="538" href="#538">538</a>             forcedLog(logger, TRACE, format(pattern, valueOf(argument)));
<a name="539" href="#539">539</a>         }
<a name="540" href="#540">540</a>     }
<a name="541" href="#541">541</a> 
<a name="542" href="#542">542</a>     <em class="jxr_javadoccomment">/**</em>
<a name="543" href="#543">543</a> <em class="jxr_javadoccomment">     * Log a parameterized message at trace level.</em>
<a name="544" href="#544">544</a> <em class="jxr_javadoccomment">     * @param logger logger, may not be null.</em>
<a name="545" href="#545">545</a> <em class="jxr_javadoccomment">     * @param pattern pattern, may be null.</em>
<a name="546" href="#546">546</a> <em class="jxr_javadoccomment">     * @param argument a value to be formatted and substituted.</em>
<a name="547" href="#547">547</a> <em class="jxr_javadoccomment">     */</em>
<a name="548" href="#548">548</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> trace(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern,
<a name="549" href="#549">549</a>         <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> argument) {
<a name="550" href="#550">550</a>         <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(TRACE)) {
<a name="551" href="#551">551</a>             forcedLog(logger, TRACE, format(pattern, valueOf(argument)));
<a name="552" href="#552">552</a>         }
<a name="553" href="#553">553</a>     }
<a name="554" href="#554">554</a> 
<a name="555" href="#555">555</a>     <em class="jxr_javadoccomment">/**</em>
<a name="556" href="#556">556</a> <em class="jxr_javadoccomment">     * Log a parameterized message at trace level.</em>
<a name="557" href="#557">557</a> <em class="jxr_javadoccomment">     * @param logger logger, may not be null.</em>
<a name="558" href="#558">558</a> <em class="jxr_javadoccomment">     * @param pattern pattern, may be null.</em>
<a name="559" href="#559">559</a> <em class="jxr_javadoccomment">     * @param argument a value to be formatted and substituted.</em>
<a name="560" href="#560">560</a> <em class="jxr_javadoccomment">     */</em>
<a name="561" href="#561">561</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> trace(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern,
<a name="562" href="#562">562</a>         <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">float</strong> argument) {
<a name="563" href="#563">563</a>         <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(TRACE)) {
<a name="564" href="#564">564</a>             forcedLog(logger, TRACE, format(pattern, valueOf(argument)));
<a name="565" href="#565">565</a>         }
<a name="566" href="#566">566</a>     }
<a name="567" href="#567">567</a> 
<a name="568" href="#568">568</a>     <em class="jxr_javadoccomment">/**</em>
<a name="569" href="#569">569</a> <em class="jxr_javadoccomment">     * Log a parameterized message at trace level.</em>
<a name="570" href="#570">570</a> <em class="jxr_javadoccomment">     * @param logger logger, may not be null.</em>
<a name="571" href="#571">571</a> <em class="jxr_javadoccomment">     * @param pattern pattern, may be null.</em>
<a name="572" href="#572">572</a> <em class="jxr_javadoccomment">     * @param argument a value to be formatted and substituted.</em>
<a name="573" href="#573">573</a> <em class="jxr_javadoccomment">     */</em>
<a name="574" href="#574">574</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> trace(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern,
<a name="575" href="#575">575</a>         <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">double</strong> argument) {
<a name="576" href="#576">576</a>         <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(TRACE)) {
<a name="577" href="#577">577</a>             forcedLog(logger, TRACE, format(pattern, valueOf(argument)));
<a name="578" href="#578">578</a>         }
<a name="579" href="#579">579</a>     }
<a name="580" href="#580">580</a> 
<a name="581" href="#581">581</a>     <em class="jxr_javadoccomment">/**</em>
<a name="582" href="#582">582</a> <em class="jxr_javadoccomment">     * Log a parameterized message at trace level.</em>
<a name="583" href="#583">583</a> <em class="jxr_javadoccomment">     * @param logger logger, may not be null.</em>
<a name="584" href="#584">584</a> <em class="jxr_javadoccomment">     * @param pattern pattern, may be null.</em>
<a name="585" href="#585">585</a> <em class="jxr_javadoccomment">     * @param argument a value to be formatted and substituted.</em>
<a name="586" href="#586">586</a> <em class="jxr_javadoccomment">     */</em>
<a name="587" href="#587">587</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> trace(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern,
<a name="588" href="#588">588</a>         <strong class="jxr_keyword">final</strong> Object argument) {
<a name="589" href="#589">589</a>         <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(TRACE)) {
<a name="590" href="#590">590</a>             forcedLog(logger, TRACE, format(pattern, argument));
<a name="591" href="#591">591</a>         }
<a name="592" href="#592">592</a>     }
<a name="593" href="#593">593</a> 
<a name="594" href="#594">594</a>     <em class="jxr_javadoccomment">/**</em>
<a name="595" href="#595">595</a> <em class="jxr_javadoccomment">     * Log a parameterized message at trace level.</em>
<a name="596" href="#596">596</a> <em class="jxr_javadoccomment">     * @param logger logger, may not be null.</em>
<a name="597" href="#597">597</a> <em class="jxr_javadoccomment">     * @param pattern pattern, may be null.</em>
<a name="598" href="#598">598</a> <em class="jxr_javadoccomment">     * @param arg0 a value to be formatted and substituted.</em>
<a name="599" href="#599">599</a> <em class="jxr_javadoccomment">     * @param arg1 a value to be formatted and substituted.</em>
<a name="600" href="#600">600</a> <em class="jxr_javadoccomment">     */</em>
<a name="601" href="#601">601</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> trace(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern,
<a name="602" href="#602">602</a>         <strong class="jxr_keyword">final</strong> Object arg0, <strong class="jxr_keyword">final</strong> Object arg1) {
<a name="603" href="#603">603</a>         <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(TRACE)) {
<a name="604" href="#604">604</a>             forcedLog(logger, TRACE,
<a name="605" href="#605">605</a>                     format(pattern, toArray(arg0, arg1)));
<a name="606" href="#606">606</a>         }
<a name="607" href="#607">607</a>     }
<a name="608" href="#608">608</a> 
<a name="609" href="#609">609</a>     <em class="jxr_javadoccomment">/**</em>
<a name="610" href="#610">610</a> <em class="jxr_javadoccomment">     * Log a parameterized message at trace level.</em>
<a name="611" href="#611">611</a> <em class="jxr_javadoccomment">     * @param logger logger, may not be null.</em>
<a name="612" href="#612">612</a> <em class="jxr_javadoccomment">     * @param pattern pattern, may be null.</em>
<a name="613" href="#613">613</a> <em class="jxr_javadoccomment">     * @param arg0 a value to be formatted and substituted.</em>
<a name="614" href="#614">614</a> <em class="jxr_javadoccomment">     * @param arg1 a value to be formatted and substituted.</em>
<a name="615" href="#615">615</a> <em class="jxr_javadoccomment">     * @param arg2 a value to be formatted and substituted.</em>
<a name="616" href="#616">616</a> <em class="jxr_javadoccomment">     */</em>
<a name="617" href="#617">617</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> trace(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern,
<a name="618" href="#618">618</a>         <strong class="jxr_keyword">final</strong> Object arg0, <strong class="jxr_keyword">final</strong> Object arg1, <strong class="jxr_keyword">final</strong> Object arg2) {
<a name="619" href="#619">619</a>         <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(TRACE)) {
<a name="620" href="#620">620</a>             forcedLog(logger, TRACE,
<a name="621" href="#621">621</a>                     format(pattern, toArray(arg0, arg1, arg2)));
<a name="622" href="#622">622</a>         }
<a name="623" href="#623">623</a>     }
<a name="624" href="#624">624</a> 
<a name="625" href="#625">625</a>     <em class="jxr_javadoccomment">/**</em>
<a name="626" href="#626">626</a> <em class="jxr_javadoccomment">     * Log a parameterized message at trace level.</em>
<a name="627" href="#627">627</a> <em class="jxr_javadoccomment">     * @param logger logger, may not be null.</em>
<a name="628" href="#628">628</a> <em class="jxr_javadoccomment">     * @param pattern pattern, may be null.</em>
<a name="629" href="#629">629</a> <em class="jxr_javadoccomment">     * @param arg0 a value to be formatted and substituted.</em>
<a name="630" href="#630">630</a> <em class="jxr_javadoccomment">     * @param arg1 a value to be formatted and substituted.</em>
<a name="631" href="#631">631</a> <em class="jxr_javadoccomment">     * @param arg2 a value to be formatted and substituted.</em>
<a name="632" href="#632">632</a> <em class="jxr_javadoccomment">     * @param arg3 a value to be formatted and substituted.</em>
<a name="633" href="#633">633</a> <em class="jxr_javadoccomment">     */</em>
<a name="634" href="#634">634</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> trace(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern,
<a name="635" href="#635">635</a>         <strong class="jxr_keyword">final</strong> Object arg0, <strong class="jxr_keyword">final</strong> Object arg1, <strong class="jxr_keyword">final</strong> Object arg2,
<a name="636" href="#636">636</a>         <strong class="jxr_keyword">final</strong> Object arg3) {
<a name="637" href="#637">637</a>         <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(TRACE)) {
<a name="638" href="#638">638</a>             forcedLog(logger, TRACE,
<a name="639" href="#639">639</a>                     format(pattern, toArray(arg0, arg1, arg2, arg3)));
<a name="640" href="#640">640</a>         }
<a name="641" href="#641">641</a>     }
<a name="642" href="#642">642</a> 
<a name="643" href="#643">643</a>     <em class="jxr_javadoccomment">/**</em>
<a name="644" href="#644">644</a> <em class="jxr_javadoccomment">     * Log a parameterized message at debug level.</em>
<a name="645" href="#645">645</a> <em class="jxr_javadoccomment">     * @param logger logger, may not be null.</em>
<a name="646" href="#646">646</a> <em class="jxr_javadoccomment">     * @param pattern pattern, may be null.</em>
<a name="647" href="#647">647</a> <em class="jxr_javadoccomment">     * @param argument a value to be formatted and substituted.</em>
<a name="648" href="#648">648</a> <em class="jxr_javadoccomment">     */</em>
<a name="649" href="#649">649</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> debug(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern,
<a name="650" href="#650">650</a>         <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">boolean</strong> argument) {
<a name="651" href="#651">651</a>         <strong class="jxr_keyword">if</strong> (logger.isDebugEnabled()) {
<a name="652" href="#652">652</a>             forcedLog(logger, Level.DEBUG, format(pattern, valueOf(argument)));
<a name="653" href="#653">653</a>         }
<a name="654" href="#654">654</a>     }
<a name="655" href="#655">655</a> 
<a name="656" href="#656">656</a>     <em class="jxr_javadoccomment">/**</em>
<a name="657" href="#657">657</a> <em class="jxr_javadoccomment">     * Log a parameterized message at debug level.</em>
<a name="658" href="#658">658</a> <em class="jxr_javadoccomment">     * @param logger logger, may not be null.</em>
<a name="659" href="#659">659</a> <em class="jxr_javadoccomment">     * @param pattern pattern, may be null.</em>
<a name="660" href="#660">660</a> <em class="jxr_javadoccomment">     * @param argument a value to be formatted and substituted.</em>
<a name="661" href="#661">661</a> <em class="jxr_javadoccomment">     */</em>
<a name="662" href="#662">662</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> debug(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern,
<a name="663" href="#663">663</a>         <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">char</strong> argument) {
<a name="664" href="#664">664</a>         <strong class="jxr_keyword">if</strong> (logger.isDebugEnabled()) {
<a name="665" href="#665">665</a>             forcedLog(logger, Level.DEBUG, format(pattern, valueOf(argument)));
<a name="666" href="#666">666</a>         }
<a name="667" href="#667">667</a>     }
<a name="668" href="#668">668</a> 
<a name="669" href="#669">669</a>     <em class="jxr_javadoccomment">/**</em>
<a name="670" href="#670">670</a> <em class="jxr_javadoccomment">     * Log a parameterized message at debug level.</em>
<a name="671" href="#671">671</a> <em class="jxr_javadoccomment">     * @param logger logger, may not be null.</em>
<a name="672" href="#672">672</a> <em class="jxr_javadoccomment">     * @param pattern pattern, may be null.</em>
<a name="673" href="#673">673</a> <em class="jxr_javadoccomment">     * @param argument a value to be formatted and substituted.</em>
<a name="674" href="#674">674</a> <em class="jxr_javadoccomment">     */</em>
<a name="675" href="#675">675</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> debug(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern,
<a name="676" href="#676">676</a>         <strong class="jxr_keyword">final</strong> byte argument) {
<a name="677" href="#677">677</a>         <strong class="jxr_keyword">if</strong> (logger.isDebugEnabled()) {
<a name="678" href="#678">678</a>             forcedLog(logger, Level.DEBUG, format(pattern, valueOf(argument)));
<a name="679" href="#679">679</a>         }
<a name="680" href="#680">680</a>     }
<a name="681" href="#681">681</a> 
<a name="682" href="#682">682</a>     <em class="jxr_javadoccomment">/**</em>
<a name="683" href="#683">683</a> <em class="jxr_javadoccomment">     * Log a parameterized message at debug level.</em>
<a name="684" href="#684">684</a> <em class="jxr_javadoccomment">     * @param logger logger, may not be null.</em>
<a name="685" href="#685">685</a> <em class="jxr_javadoccomment">     * @param pattern pattern, may be null.</em>
<a name="686" href="#686">686</a> <em class="jxr_javadoccomment">     * @param argument a value to be formatted and substituted.</em>
<a name="687" href="#687">687</a> <em class="jxr_javadoccomment">     */</em>
<a name="688" href="#688">688</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> debug(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern,
<a name="689" href="#689">689</a>         <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">short</strong> argument) {
<a name="690" href="#690">690</a>         <strong class="jxr_keyword">if</strong> (logger.isDebugEnabled()) {
<a name="691" href="#691">691</a>             forcedLog(logger, Level.DEBUG, format(pattern, valueOf(argument)));
<a name="692" href="#692">692</a>         }
<a name="693" href="#693">693</a>     }
<a name="694" href="#694">694</a> 
<a name="695" href="#695">695</a>     <em class="jxr_javadoccomment">/**</em>
<a name="696" href="#696">696</a> <em class="jxr_javadoccomment">     * Log a parameterized message at debug level.</em>
<a name="697" href="#697">697</a> <em class="jxr_javadoccomment">     * @param logger logger, may not be null.</em>
<a name="698" href="#698">698</a> <em class="jxr_javadoccomment">     * @param pattern pattern, may be null.</em>
<a name="699" href="#699">699</a> <em class="jxr_javadoccomment">     * @param argument a value to be formatted and substituted.</em>
<a name="700" href="#700">700</a> <em class="jxr_javadoccomment">     */</em>
<a name="701" href="#701">701</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> debug(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern,
<a name="702" href="#702">702</a>         <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> argument) {
<a name="703" href="#703">703</a>         <strong class="jxr_keyword">if</strong> (logger.isDebugEnabled()) {
<a name="704" href="#704">704</a>             forcedLog(logger, Level.DEBUG, format(pattern, valueOf(argument)));
<a name="705" href="#705">705</a>         }
<a name="706" href="#706">706</a>     }
<a name="707" href="#707">707</a> 
<a name="708" href="#708">708</a>     <em class="jxr_javadoccomment">/**</em>
<a name="709" href="#709">709</a> <em class="jxr_javadoccomment">     * Log a parameterized message at debug level.</em>
<a name="710" href="#710">710</a> <em class="jxr_javadoccomment">     * @param logger logger, may not be null.</em>
<a name="711" href="#711">711</a> <em class="jxr_javadoccomment">     * @param pattern pattern, may be null.</em>
<a name="712" href="#712">712</a> <em class="jxr_javadoccomment">     * @param argument a value to be formatted and substituted.</em>
<a name="713" href="#713">713</a> <em class="jxr_javadoccomment">     */</em>
<a name="714" href="#714">714</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> debug(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern,
<a name="715" href="#715">715</a>         <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> argument) {
<a name="716" href="#716">716</a>         <strong class="jxr_keyword">if</strong> (logger.isDebugEnabled()) {
<a name="717" href="#717">717</a>             forcedLog(logger, Level.DEBUG, format(pattern, valueOf(argument)));
<a name="718" href="#718">718</a>         }
<a name="719" href="#719">719</a>     }
<a name="720" href="#720">720</a> 
<a name="721" href="#721">721</a>     <em class="jxr_javadoccomment">/**</em>
<a name="722" href="#722">722</a> <em class="jxr_javadoccomment">     * Log a parameterized message at debug level.</em>
<a name="723" href="#723">723</a> <em class="jxr_javadoccomment">     * @param logger logger, may not be null.</em>
<a name="724" href="#724">724</a> <em class="jxr_javadoccomment">     * @param pattern pattern, may be null.</em>
<a name="725" href="#725">725</a> <em class="jxr_javadoccomment">     * @param argument a value to be formatted and substituted.</em>
<a name="726" href="#726">726</a> <em class="jxr_javadoccomment">     */</em>
<a name="727" href="#727">727</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> debug(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern,
<a name="728" href="#728">728</a>         <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">float</strong> argument) {
<a name="729" href="#729">729</a>         <strong class="jxr_keyword">if</strong> (logger.isDebugEnabled()) {
<a name="730" href="#730">730</a>             forcedLog(logger, Level.DEBUG, format(pattern, valueOf(argument)));
<a name="731" href="#731">731</a>         }
<a name="732" href="#732">732</a>     }
<a name="733" href="#733">733</a> 
<a name="734" href="#734">734</a>     <em class="jxr_javadoccomment">/**</em>
<a name="735" href="#735">735</a> <em class="jxr_javadoccomment">     * Log a parameterized message at debug level.</em>
<a name="736" href="#736">736</a> <em class="jxr_javadoccomment">     * @param logger logger, may not be null.</em>
<a name="737" href="#737">737</a> <em class="jxr_javadoccomment">     * @param pattern pattern, may be null.</em>
<a name="738" href="#738">738</a> <em class="jxr_javadoccomment">     * @param argument a value to be formatted and substituted.</em>
<a name="739" href="#739">739</a> <em class="jxr_javadoccomment">     */</em>
<a name="740" href="#740">740</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> debug(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern,
<a name="741" href="#741">741</a>         <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">double</strong> argument) {
<a name="742" href="#742">742</a>         <strong class="jxr_keyword">if</strong> (logger.isDebugEnabled()) {
<a name="743" href="#743">743</a>             forcedLog(logger, Level.DEBUG, format(pattern, valueOf(argument)));
<a name="744" href="#744">744</a>         }
<a name="745" href="#745">745</a>     }
<a name="746" href="#746">746</a> 
<a name="747" href="#747">747</a>     <em class="jxr_javadoccomment">/**</em>
<a name="748" href="#748">748</a> <em class="jxr_javadoccomment">     * Log a parameterized message at debug level.</em>
<a name="749" href="#749">749</a> <em class="jxr_javadoccomment">     * @param logger logger, may not be null.</em>
<a name="750" href="#750">750</a> <em class="jxr_javadoccomment">     * @param pattern pattern, may be null.</em>
<a name="751" href="#751">751</a> <em class="jxr_javadoccomment">     * @param argument a value to be formatted and substituted.</em>
<a name="752" href="#752">752</a> <em class="jxr_javadoccomment">     */</em>
<a name="753" href="#753">753</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> debug(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern,
<a name="754" href="#754">754</a>         <strong class="jxr_keyword">final</strong> Object argument) {
<a name="755" href="#755">755</a>         <strong class="jxr_keyword">if</strong> (logger.isDebugEnabled()) {
<a name="756" href="#756">756</a>             forcedLog(logger, Level.DEBUG, format(pattern, argument));
<a name="757" href="#757">757</a>         }
<a name="758" href="#758">758</a>     }
<a name="759" href="#759">759</a> 
<a name="760" href="#760">760</a>     <em class="jxr_javadoccomment">/**</em>
<a name="761" href="#761">761</a> <em class="jxr_javadoccomment">     * Log a parameterized message at debug level.</em>
<a name="762" href="#762">762</a> <em class="jxr_javadoccomment">     * @param logger logger, may not be null.</em>
<a name="763" href="#763">763</a> <em class="jxr_javadoccomment">     * @param pattern pattern, may be null.</em>
<a name="764" href="#764">764</a> <em class="jxr_javadoccomment">     * @param arg0 a value to be formatted and substituted.</em>
<a name="765" href="#765">765</a> <em class="jxr_javadoccomment">     * @param arg1 a value to be formatted and substituted.</em>
<a name="766" href="#766">766</a> <em class="jxr_javadoccomment">     */</em>
<a name="767" href="#767">767</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> debug(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern,
<a name="768" href="#768">768</a>         <strong class="jxr_keyword">final</strong> Object arg0, <strong class="jxr_keyword">final</strong> Object arg1) {
<a name="769" href="#769">769</a>         <strong class="jxr_keyword">if</strong> (logger.isDebugEnabled()) {
<a name="770" href="#770">770</a>             forcedLog(logger, Level.DEBUG,
<a name="771" href="#771">771</a>                     format(pattern, toArray(arg0, arg1)));
<a name="772" href="#772">772</a>         }
<a name="773" href="#773">773</a>     }
<a name="774" href="#774">774</a> 
<a name="775" href="#775">775</a>     <em class="jxr_javadoccomment">/**</em>
<a name="776" href="#776">776</a> <em class="jxr_javadoccomment">     * Log a parameterized message at debug level.</em>
<a name="777" href="#777">777</a> <em class="jxr_javadoccomment">     * @param logger logger, may not be null.</em>
<a name="778" href="#778">778</a> <em class="jxr_javadoccomment">     * @param pattern pattern, may be null.</em>
<a name="779" href="#779">779</a> <em class="jxr_javadoccomment">     * @param arg0 a value to be formatted and substituted.</em>
<a name="780" href="#780">780</a> <em class="jxr_javadoccomment">     * @param arg1 a value to be formatted and substituted.</em>
<a name="781" href="#781">781</a> <em class="jxr_javadoccomment">     * @param arg2 a value to be formatted and substituted.</em>
<a name="782" href="#782">782</a> <em class="jxr_javadoccomment">     */</em>
<a name="783" href="#783">783</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> debug(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern,
<a name="784" href="#784">784</a>         <strong class="jxr_keyword">final</strong> Object arg0, <strong class="jxr_keyword">final</strong> Object arg1, <strong class="jxr_keyword">final</strong> Object arg2) {
<a name="785" href="#785">785</a>         <strong class="jxr_keyword">if</strong> (logger.isDebugEnabled()) {
<a name="786" href="#786">786</a>             forcedLog(logger, Level.DEBUG,
<a name="787" href="#787">787</a>                     format(pattern, toArray(arg0, arg1, arg2)));
<a name="788" href="#788">788</a>         }
<a name="789" href="#789">789</a>     }
<a name="790" href="#790">790</a> 
<a name="791" href="#791">791</a>     <em class="jxr_javadoccomment">/**</em>
<a name="792" href="#792">792</a> <em class="jxr_javadoccomment">     * Log a parameterized message at debug level.</em>
<a name="793" href="#793">793</a> <em class="jxr_javadoccomment">     * @param logger logger, may not be null.</em>
<a name="794" href="#794">794</a> <em class="jxr_javadoccomment">     * @param pattern pattern, may be null.</em>
<a name="795" href="#795">795</a> <em class="jxr_javadoccomment">     * @param arg0 a value to be formatted and substituted.</em>
<a name="796" href="#796">796</a> <em class="jxr_javadoccomment">     * @param arg1 a value to be formatted and substituted.</em>
<a name="797" href="#797">797</a> <em class="jxr_javadoccomment">     * @param arg2 a value to be formatted and substituted.</em>
<a name="798" href="#798">798</a> <em class="jxr_javadoccomment">     * @param arg3 a value to be formatted and substituted.</em>
<a name="799" href="#799">799</a> <em class="jxr_javadoccomment">     */</em>
<a name="800" href="#800">800</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> debug(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern,
<a name="801" href="#801">801</a>         <strong class="jxr_keyword">final</strong> Object arg0, <strong class="jxr_keyword">final</strong> Object arg1, <strong class="jxr_keyword">final</strong> Object arg2,
<a name="802" href="#802">802</a>         <strong class="jxr_keyword">final</strong> Object arg3) {
<a name="803" href="#803">803</a>         <strong class="jxr_keyword">if</strong> (logger.isDebugEnabled()) {
<a name="804" href="#804">804</a>             forcedLog(logger, Level.DEBUG,
<a name="805" href="#805">805</a>                     format(pattern, toArray(arg0, arg1, arg2, arg3)));
<a name="806" href="#806">806</a>         }
<a name="807" href="#807">807</a>     }
<a name="808" href="#808">808</a> 
<a name="809" href="#809">809</a>     <em class="jxr_javadoccomment">/**</em>
<a name="810" href="#810">810</a> <em class="jxr_javadoccomment">     * Log a parameterized message at info level.</em>
<a name="811" href="#811">811</a> <em class="jxr_javadoccomment">     * @param logger logger, may not be null.</em>
<a name="812" href="#812">812</a> <em class="jxr_javadoccomment">     * @param pattern pattern, may be null.</em>
<a name="813" href="#813">813</a> <em class="jxr_javadoccomment">     * @param argument a value to be formatted and substituted.</em>
<a name="814" href="#814">814</a> <em class="jxr_javadoccomment">     */</em>
<a name="815" href="#815">815</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> info(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern,
<a name="816" href="#816">816</a>         <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">boolean</strong> argument) {
<a name="817" href="#817">817</a>         <strong class="jxr_keyword">if</strong> (logger.isInfoEnabled()) {
<a name="818" href="#818">818</a>             forcedLog(logger, Level.INFO, format(pattern, valueOf(argument)));
<a name="819" href="#819">819</a>         }
<a name="820" href="#820">820</a>     }
<a name="821" href="#821">821</a> 
<a name="822" href="#822">822</a>     <em class="jxr_javadoccomment">/**</em>
<a name="823" href="#823">823</a> <em class="jxr_javadoccomment">     * Log a parameterized message at info level.</em>
<a name="824" href="#824">824</a> <em class="jxr_javadoccomment">     * @param logger logger, may not be null.</em>
<a name="825" href="#825">825</a> <em class="jxr_javadoccomment">     * @param pattern pattern, may be null.</em>
<a name="826" href="#826">826</a> <em class="jxr_javadoccomment">     * @param argument a value to be formatted and substituted.</em>
<a name="827" href="#827">827</a> <em class="jxr_javadoccomment">     */</em>
<a name="828" href="#828">828</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> info(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern,
<a name="829" href="#829">829</a>         <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">char</strong> argument) {
<a name="830" href="#830">830</a>         <strong class="jxr_keyword">if</strong> (logger.isInfoEnabled()) {
<a name="831" href="#831">831</a>             forcedLog(logger, Level.INFO, format(pattern, valueOf(argument)));
<a name="832" href="#832">832</a>         }
<a name="833" href="#833">833</a>     }
<a name="834" href="#834">834</a> 
<a name="835" href="#835">835</a>     <em class="jxr_javadoccomment">/**</em>
<a name="836" href="#836">836</a> <em class="jxr_javadoccomment">     * Log a parameterized message at info level.</em>
<a name="837" href="#837">837</a> <em class="jxr_javadoccomment">     * @param logger logger, may not be null.</em>
<a name="838" href="#838">838</a> <em class="jxr_javadoccomment">     * @param pattern pattern, may be null.</em>
<a name="839" href="#839">839</a> <em class="jxr_javadoccomment">     * @param argument a value to be formatted and substituted.</em>
<a name="840" href="#840">840</a> <em class="jxr_javadoccomment">     */</em>
<a name="841" href="#841">841</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> info(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern,
<a name="842" href="#842">842</a>         <strong class="jxr_keyword">final</strong> byte argument) {
<a name="843" href="#843">843</a>         <strong class="jxr_keyword">if</strong> (logger.isInfoEnabled()) {
<a name="844" href="#844">844</a>             forcedLog(logger, Level.INFO, format(pattern, valueOf(argument)));
<a name="845" href="#845">845</a>         }
<a name="846" href="#846">846</a>     }
<a name="847" href="#847">847</a> 
<a name="848" href="#848">848</a>     <em class="jxr_javadoccomment">/**</em>
<a name="849" href="#849">849</a> <em class="jxr_javadoccomment">     * Log a parameterized message at info level.</em>
<a name="850" href="#850">850</a> <em class="jxr_javadoccomment">     * @param logger logger, may not be null.</em>
<a name="851" href="#851">851</a> <em class="jxr_javadoccomment">     * @param pattern pattern, may be null.</em>
<a name="852" href="#852">852</a> <em class="jxr_javadoccomment">     * @param argument a value to be formatted and substituted.</em>
<a name="853" href="#853">853</a> <em class="jxr_javadoccomment">     */</em>
<a name="854" href="#854">854</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> info(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern,
<a name="855" href="#855">855</a>         <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">short</strong> argument) {
<a name="856" href="#856">856</a>         <strong class="jxr_keyword">if</strong> (logger.isInfoEnabled()) {
<a name="857" href="#857">857</a>             forcedLog(logger, Level.INFO, format(pattern, valueOf(argument)));
<a name="858" href="#858">858</a>         }
<a name="859" href="#859">859</a>     }
<a name="860" href="#860">860</a> 
<a name="861" href="#861">861</a>     <em class="jxr_javadoccomment">/**</em>
<a name="862" href="#862">862</a> <em class="jxr_javadoccomment">     * Log a parameterized message at info level.</em>
<a name="863" href="#863">863</a> <em class="jxr_javadoccomment">     * @param logger logger, may not be null.</em>
<a name="864" href="#864">864</a> <em class="jxr_javadoccomment">     * @param pattern pattern, may be null.</em>
<a name="865" href="#865">865</a> <em class="jxr_javadoccomment">     * @param argument a value to be formatted and substituted.</em>
<a name="866" href="#866">866</a> <em class="jxr_javadoccomment">     */</em>
<a name="867" href="#867">867</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> info(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern,
<a name="868" href="#868">868</a>         <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> argument) {
<a name="869" href="#869">869</a>         <strong class="jxr_keyword">if</strong> (logger.isInfoEnabled()) {
<a name="870" href="#870">870</a>             forcedLog(logger, Level.INFO, format(pattern, valueOf(argument)));
<a name="871" href="#871">871</a>         }
<a name="872" href="#872">872</a>     }
<a name="873" href="#873">873</a> 
<a name="874" href="#874">874</a>     <em class="jxr_javadoccomment">/**</em>
<a name="875" href="#875">875</a> <em class="jxr_javadoccomment">     * Log a parameterized message at info level.</em>
<a name="876" href="#876">876</a> <em class="jxr_javadoccomment">     * @param logger logger, may not be null.</em>
<a name="877" href="#877">877</a> <em class="jxr_javadoccomment">     * @param pattern pattern, may be null.</em>
<a name="878" href="#878">878</a> <em class="jxr_javadoccomment">     * @param argument a value to be formatted and substituted.</em>
<a name="879" href="#879">879</a> <em class="jxr_javadoccomment">     */</em>
<a name="880" href="#880">880</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> info(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern,
<a name="881" href="#881">881</a>         <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> argument) {
<a name="882" href="#882">882</a>         <strong class="jxr_keyword">if</strong> (logger.isInfoEnabled()) {
<a name="883" href="#883">883</a>             forcedLog(logger, Level.INFO, format(pattern, valueOf(argument)));
<a name="884" href="#884">884</a>         }
<a name="885" href="#885">885</a>     }
<a name="886" href="#886">886</a> 
<a name="887" href="#887">887</a>     <em class="jxr_javadoccomment">/**</em>
<a name="888" href="#888">888</a> <em class="jxr_javadoccomment">     * Log a parameterized message at info level.</em>
<a name="889" href="#889">889</a> <em class="jxr_javadoccomment">     * @param logger logger, may not be null.</em>
<a name="890" href="#890">890</a> <em class="jxr_javadoccomment">     * @param pattern pattern, may be null.</em>
<a name="891" href="#891">891</a> <em class="jxr_javadoccomment">     * @param argument a value to be formatted and substituted.</em>
<a name="892" href="#892">892</a> <em class="jxr_javadoccomment">     */</em>
<a name="893" href="#893">893</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> info(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern,
<a name="894" href="#894">894</a>         <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">float</strong> argument) {
<a name="895" href="#895">895</a>         <strong class="jxr_keyword">if</strong> (logger.isInfoEnabled()) {
<a name="896" href="#896">896</a>             forcedLog(logger, Level.INFO, format(pattern, valueOf(argument)));
<a name="897" href="#897">897</a>         }
<a name="898" href="#898">898</a>     }
<a name="899" href="#899">899</a> 
<a name="900" href="#900">900</a>     <em class="jxr_javadoccomment">/**</em>
<a name="901" href="#901">901</a> <em class="jxr_javadoccomment">     * Log a parameterized message at info level.</em>
<a name="902" href="#902">902</a> <em class="jxr_javadoccomment">     * @param logger logger, may not be null.</em>
<a name="903" href="#903">903</a> <em class="jxr_javadoccomment">     * @param pattern pattern, may be null.</em>
<a name="904" href="#904">904</a> <em class="jxr_javadoccomment">     * @param argument a value to be formatted and substituted.</em>
<a name="905" href="#905">905</a> <em class="jxr_javadoccomment">     */</em>
<a name="906" href="#906">906</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> info(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern,
<a name="907" href="#907">907</a>         <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">double</strong> argument) {
<a name="908" href="#908">908</a>         <strong class="jxr_keyword">if</strong> (logger.isInfoEnabled()) {
<a name="909" href="#909">909</a>             forcedLog(logger, Level.INFO, format(pattern, valueOf(argument)));
<a name="910" href="#910">910</a>         }
<a name="911" href="#911">911</a>     }
<a name="912" href="#912">912</a> 
<a name="913" href="#913">913</a>     <em class="jxr_javadoccomment">/**</em>
<a name="914" href="#914">914</a> <em class="jxr_javadoccomment">     * Log a parameterized message at info level.</em>
<a name="915" href="#915">915</a> <em class="jxr_javadoccomment">     * @param logger logger, may not be null.</em>
<a name="916" href="#916">916</a> <em class="jxr_javadoccomment">     * @param pattern pattern, may be null.</em>
<a name="917" href="#917">917</a> <em class="jxr_javadoccomment">     * @param argument a value to be formatted and substituted.</em>
<a name="918" href="#918">918</a> <em class="jxr_javadoccomment">     */</em>
<a name="919" href="#919">919</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> info(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern,
<a name="920" href="#920">920</a>         <strong class="jxr_keyword">final</strong> Object argument) {
<a name="921" href="#921">921</a>         <strong class="jxr_keyword">if</strong> (logger.isInfoEnabled()) {
<a name="922" href="#922">922</a>             forcedLog(logger, Level.INFO, format(pattern, argument));
<a name="923" href="#923">923</a>         }
<a name="924" href="#924">924</a>     }
<a name="925" href="#925">925</a> 
<a name="926" href="#926">926</a>     <em class="jxr_javadoccomment">/**</em>
<a name="927" href="#927">927</a> <em class="jxr_javadoccomment">     * Log a parameterized message at info level.</em>
<a name="928" href="#928">928</a> <em class="jxr_javadoccomment">     * @param logger logger, may not be null.</em>
<a name="929" href="#929">929</a> <em class="jxr_javadoccomment">     * @param pattern pattern, may be null.</em>
<a name="930" href="#930">930</a> <em class="jxr_javadoccomment">     * @param arg0 a value to be formatted and substituted.</em>
<a name="931" href="#931">931</a> <em class="jxr_javadoccomment">     * @param arg1 a value to be formatted and substituted.</em>
<a name="932" href="#932">932</a> <em class="jxr_javadoccomment">     */</em>
<a name="933" href="#933">933</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> info(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern,
<a name="934" href="#934">934</a>         <strong class="jxr_keyword">final</strong> Object arg0, <strong class="jxr_keyword">final</strong> Object arg1) {
<a name="935" href="#935">935</a>         <strong class="jxr_keyword">if</strong> (logger.isInfoEnabled()) {
<a name="936" href="#936">936</a>             forcedLog(logger, Level.INFO, format(pattern, toArray(arg0, arg1)));
<a name="937" href="#937">937</a>         }
<a name="938" href="#938">938</a>     }
<a name="939" href="#939">939</a> 
<a name="940" href="#940">940</a>     <em class="jxr_javadoccomment">/**</em>
<a name="941" href="#941">941</a> <em class="jxr_javadoccomment">     * Log a parameterized message at info level.</em>
<a name="942" href="#942">942</a> <em class="jxr_javadoccomment">     * @param logger logger, may not be null.</em>
<a name="943" href="#943">943</a> <em class="jxr_javadoccomment">     * @param pattern pattern, may be null.</em>
<a name="944" href="#944">944</a> <em class="jxr_javadoccomment">     * @param arg0 a value to be formatted and substituted.</em>
<a name="945" href="#945">945</a> <em class="jxr_javadoccomment">     * @param arg1 a value to be formatted and substituted.</em>
<a name="946" href="#946">946</a> <em class="jxr_javadoccomment">     * @param arg2 a value to be formatted and substituted.</em>
<a name="947" href="#947">947</a> <em class="jxr_javadoccomment">     */</em>
<a name="948" href="#948">948</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> info(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern,
<a name="949" href="#949">949</a>         <strong class="jxr_keyword">final</strong> Object arg0, <strong class="jxr_keyword">final</strong> Object arg1, <strong class="jxr_keyword">final</strong> Object arg2) {
<a name="950" href="#950">950</a>         <strong class="jxr_keyword">if</strong> (logger.isInfoEnabled()) {
<a name="951" href="#951">951</a>             forcedLog(logger, Level.INFO, format(pattern,
<a name="952" href="#952">952</a>                     toArray(arg0, arg1, arg2)));
<a name="953" href="#953">953</a>         }
<a name="954" href="#954">954</a>     }
<a name="955" href="#955">955</a> 
<a name="956" href="#956">956</a>     <em class="jxr_javadoccomment">/**</em>
<a name="957" href="#957">957</a> <em class="jxr_javadoccomment">     * Log a parameterized message at info level.</em>
<a name="958" href="#958">958</a> <em class="jxr_javadoccomment">     * @param logger logger, may not be null.</em>
<a name="959" href="#959">959</a> <em class="jxr_javadoccomment">     * @param pattern pattern, may be null.</em>
<a name="960" href="#960">960</a> <em class="jxr_javadoccomment">     * @param arg0 a value to be formatted and substituted.</em>
<a name="961" href="#961">961</a> <em class="jxr_javadoccomment">     * @param arg1 a value to be formatted and substituted.</em>
<a name="962" href="#962">962</a> <em class="jxr_javadoccomment">     * @param arg2 a value to be formatted and substituted.</em>
<a name="963" href="#963">963</a> <em class="jxr_javadoccomment">     * @param arg3 a value to be formatted and substituted.</em>
<a name="964" href="#964">964</a> <em class="jxr_javadoccomment">     */</em>
<a name="965" href="#965">965</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> info(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern,
<a name="966" href="#966">966</a>         <strong class="jxr_keyword">final</strong> Object arg0, <strong class="jxr_keyword">final</strong> Object arg1, <strong class="jxr_keyword">final</strong> Object arg2,
<a name="967" href="#967">967</a>         <strong class="jxr_keyword">final</strong> Object arg3) {
<a name="968" href="#968">968</a>         <strong class="jxr_keyword">if</strong> (logger.isInfoEnabled()) {
<a name="969" href="#969">969</a>             forcedLog(logger, Level.INFO, format(pattern,
<a name="970" href="#970">970</a>                     toArray(arg0, arg1, arg2, arg3)));
<a name="971" href="#971">971</a>         }
<a name="972" href="#972">972</a>     }
<a name="973" href="#973">973</a> 
<a name="974" href="#974">974</a>     <em class="jxr_javadoccomment">/**</em>
<a name="975" href="#975">975</a> <em class="jxr_javadoccomment">     * Log a parameterized message at warn level.</em>
<a name="976" href="#976">976</a> <em class="jxr_javadoccomment">     * @param logger logger, may not be null.</em>
<a name="977" href="#977">977</a> <em class="jxr_javadoccomment">     * @param pattern pattern, may be null.</em>
<a name="978" href="#978">978</a> <em class="jxr_javadoccomment">     * @param argument a value to be formatted and substituted.</em>
<a name="979" href="#979">979</a> <em class="jxr_javadoccomment">     */</em>
<a name="980" href="#980">980</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> warn(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern,
<a name="981" href="#981">981</a>         <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">boolean</strong> argument) {
<a name="982" href="#982">982</a>         <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(Level.WARN)) {
<a name="983" href="#983">983</a>             forcedLog(logger, Level.WARN, format(pattern, valueOf(argument)));
<a name="984" href="#984">984</a>         }
<a name="985" href="#985">985</a>     }
<a name="986" href="#986">986</a> 
<a name="987" href="#987">987</a>     <em class="jxr_javadoccomment">/**</em>
<a name="988" href="#988">988</a> <em class="jxr_javadoccomment">     * Log a parameterized message at warn level.</em>
<a name="989" href="#989">989</a> <em class="jxr_javadoccomment">     * @param logger logger, may not be null.</em>
<a name="990" href="#990">990</a> <em class="jxr_javadoccomment">     * @param pattern pattern, may be null.</em>
<a name="991" href="#991">991</a> <em class="jxr_javadoccomment">     * @param argument a value to be formatted and substituted.</em>
<a name="992" href="#992">992</a> <em class="jxr_javadoccomment">     */</em>
<a name="993" href="#993">993</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> warn(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern,
<a name="994" href="#994">994</a>         <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">char</strong> argument) {
<a name="995" href="#995">995</a>         <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(Level.WARN)) {
<a name="996" href="#996">996</a>             forcedLog(logger, Level.WARN, format(pattern, valueOf(argument)));
<a name="997" href="#997">997</a>         }
<a name="998" href="#998">998</a>     }
<a name="999" href="#999">999</a> 
<a name="1000" href="#1000">1000</a>     <em class="jxr_javadoccomment">/**</em>
<a name="1001" href="#1001">1001</a> <em class="jxr_javadoccomment">     * Log a parameterized message at warn level.</em>
<a name="1002" href="#1002">1002</a> <em class="jxr_javadoccomment">     * @param logger logger, may not be null.</em>
<a name="1003" href="#1003">1003</a> <em class="jxr_javadoccomment">     * @param pattern pattern, may be null.</em>
<a name="1004" href="#1004">1004</a> <em class="jxr_javadoccomment">     * @param argument a value to be formatted and substituted.</em>
<a name="1005" href="#1005">1005</a> <em class="jxr_javadoccomment">     */</em>
<a name="1006" href="#1006">1006</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> warn(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern,
<a name="1007" href="#1007">1007</a>         <strong class="jxr_keyword">final</strong> byte argument) {
<a name="1008" href="#1008">1008</a>         <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(Level.WARN)) {
<a name="1009" href="#1009">1009</a>             forcedLog(logger, Level.WARN, format(pattern, valueOf(argument)));
<a name="1010" href="#1010">1010</a>         }
<a name="1011" href="#1011">1011</a>     }
<a name="1012" href="#1012">1012</a> 
<a name="1013" href="#1013">1013</a>     <em class="jxr_javadoccomment">/**</em>
<a name="1014" href="#1014">1014</a> <em class="jxr_javadoccomment">     * Log a parameterized message at warn level.</em>
<a name="1015" href="#1015">1015</a> <em class="jxr_javadoccomment">     * @param logger logger, may not be null.</em>
<a name="1016" href="#1016">1016</a> <em class="jxr_javadoccomment">     * @param pattern pattern, may be null.</em>
<a name="1017" href="#1017">1017</a> <em class="jxr_javadoccomment">     * @param argument a value to be formatted and substituted.</em>
<a name="1018" href="#1018">1018</a> <em class="jxr_javadoccomment">     */</em>
<a name="1019" href="#1019">1019</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> warn(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern,
<a name="1020" href="#1020">1020</a>         <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">short</strong> argument) {
<a name="1021" href="#1021">1021</a>         <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(Level.WARN)) {
<a name="1022" href="#1022">1022</a>             forcedLog(logger, Level.WARN, format(pattern, valueOf(argument)));
<a name="1023" href="#1023">1023</a>         }
<a name="1024" href="#1024">1024</a>     }
<a name="1025" href="#1025">1025</a> 
<a name="1026" href="#1026">1026</a>     <em class="jxr_javadoccomment">/**</em>
<a name="1027" href="#1027">1027</a> <em class="jxr_javadoccomment">     * Log a parameterized message at warn level.</em>
<a name="1028" href="#1028">1028</a> <em class="jxr_javadoccomment">     * @param logger logger, may not be null.</em>
<a name="1029" href="#1029">1029</a> <em class="jxr_javadoccomment">     * @param pattern pattern, may be null.</em>
<a name="1030" href="#1030">1030</a> <em class="jxr_javadoccomment">     * @param argument a value to be formatted and substituted.</em>
<a name="1031" href="#1031">1031</a> <em class="jxr_javadoccomment">     */</em>
<a name="1032" href="#1032">1032</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> warn(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern,
<a name="1033" href="#1033">1033</a>         <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> argument) {
<a name="1034" href="#1034">1034</a>         <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(Level.WARN)) {
<a name="1035" href="#1035">1035</a>             forcedLog(logger, Level.WARN, format(pattern, valueOf(argument)));
<a name="1036" href="#1036">1036</a>         }
<a name="1037" href="#1037">1037</a>     }
<a name="1038" href="#1038">1038</a> 
<a name="1039" href="#1039">1039</a>     <em class="jxr_javadoccomment">/**</em>
<a name="1040" href="#1040">1040</a> <em class="jxr_javadoccomment">     * Log a parameterized message at warn level.</em>
<a name="1041" href="#1041">1041</a> <em class="jxr_javadoccomment">     * @param logger logger, may not be null.</em>
<a name="1042" href="#1042">1042</a> <em class="jxr_javadoccomment">     * @param pattern pattern, may be null.</em>
<a name="1043" href="#1043">1043</a> <em class="jxr_javadoccomment">     * @param argument a value to be formatted and substituted.</em>
<a name="1044" href="#1044">1044</a> <em class="jxr_javadoccomment">     */</em>
<a name="1045" href="#1045">1045</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> warn(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern,
<a name="1046" href="#1046">1046</a>         <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> argument) {
<a name="1047" href="#1047">1047</a>         <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(Level.WARN)) {
<a name="1048" href="#1048">1048</a>             forcedLog(logger, Level.WARN, format(pattern, valueOf(argument)));
<a name="1049" href="#1049">1049</a>         }
<a name="1050" href="#1050">1050</a>     }
<a name="1051" href="#1051">1051</a> 
<a name="1052" href="#1052">1052</a>     <em class="jxr_javadoccomment">/**</em>
<a name="1053" href="#1053">1053</a> <em class="jxr_javadoccomment">     * Log a parameterized message at warn level.</em>
<a name="1054" href="#1054">1054</a> <em class="jxr_javadoccomment">     * @param logger logger, may not be null.</em>
<a name="1055" href="#1055">1055</a> <em class="jxr_javadoccomment">     * @param pattern pattern, may be null.</em>
<a name="1056" href="#1056">1056</a> <em class="jxr_javadoccomment">     * @param argument a value to be formatted and substituted.</em>
<a name="1057" href="#1057">1057</a> <em class="jxr_javadoccomment">     */</em>
<a name="1058" href="#1058">1058</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> warn(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern,
<a name="1059" href="#1059">1059</a>         <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">float</strong> argument) {
<a name="1060" href="#1060">1060</a>         <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(Level.WARN)) {
<a name="1061" href="#1061">1061</a>             forcedLog(logger, Level.WARN, format(pattern, valueOf(argument)));
<a name="1062" href="#1062">1062</a>         }
<a name="1063" href="#1063">1063</a>     }
<a name="1064" href="#1064">1064</a> 
<a name="1065" href="#1065">1065</a>     <em class="jxr_javadoccomment">/**</em>
<a name="1066" href="#1066">1066</a> <em class="jxr_javadoccomment">     * Log a parameterized message at warn level.</em>
<a name="1067" href="#1067">1067</a> <em class="jxr_javadoccomment">     * @param logger logger, may not be null.</em>
<a name="1068" href="#1068">1068</a> <em class="jxr_javadoccomment">     * @param pattern pattern, may be null.</em>
<a name="1069" href="#1069">1069</a> <em class="jxr_javadoccomment">     * @param argument a value to be formatted and substituted.</em>
<a name="1070" href="#1070">1070</a> <em class="jxr_javadoccomment">     */</em>
<a name="1071" href="#1071">1071</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> warn(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern,
<a name="1072" href="#1072">1072</a>         <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">double</strong> argument) {
<a name="1073" href="#1073">1073</a>         <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(Level.WARN)) {
<a name="1074" href="#1074">1074</a>             forcedLog(logger, Level.WARN, format(pattern, valueOf(argument)));
<a name="1075" href="#1075">1075</a>         }
<a name="1076" href="#1076">1076</a>     }
<a name="1077" href="#1077">1077</a> 
<a name="1078" href="#1078">1078</a>     <em class="jxr_javadoccomment">/**</em>
<a name="1079" href="#1079">1079</a> <em class="jxr_javadoccomment">     * Log a parameterized message at warn level.</em>
<a name="1080" href="#1080">1080</a> <em class="jxr_javadoccomment">     * @param logger logger, may not be null.</em>
<a name="1081" href="#1081">1081</a> <em class="jxr_javadoccomment">     * @param pattern pattern, may be null.</em>
<a name="1082" href="#1082">1082</a> <em class="jxr_javadoccomment">     * @param argument a value to be formatted and substituted.</em>
<a name="1083" href="#1083">1083</a> <em class="jxr_javadoccomment">     */</em>
<a name="1084" href="#1084">1084</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> warn(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern,
<a name="1085" href="#1085">1085</a>         <strong class="jxr_keyword">final</strong> Object argument) {
<a name="1086" href="#1086">1086</a>         <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(Level.WARN)) {
<a name="1087" href="#1087">1087</a>             forcedLog(logger, Level.WARN, format(pattern, argument));
<a name="1088" href="#1088">1088</a>         }
<a name="1089" href="#1089">1089</a>     }
<a name="1090" href="#1090">1090</a> 
<a name="1091" href="#1091">1091</a>     <em class="jxr_javadoccomment">/**</em>
<a name="1092" href="#1092">1092</a> <em class="jxr_javadoccomment">     * Log a parameterized message at warn level.</em>
<a name="1093" href="#1093">1093</a> <em class="jxr_javadoccomment">     * @param logger logger, may not be null.</em>
<a name="1094" href="#1094">1094</a> <em class="jxr_javadoccomment">     * @param pattern pattern, may be null.</em>
<a name="1095" href="#1095">1095</a> <em class="jxr_javadoccomment">     * @param arg0 a value to be formatted and substituted.</em>
<a name="1096" href="#1096">1096</a> <em class="jxr_javadoccomment">     * @param arg1 a value to be formatted and substituted.</em>
<a name="1097" href="#1097">1097</a> <em class="jxr_javadoccomment">     */</em>
<a name="1098" href="#1098">1098</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> warn(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern,
<a name="1099" href="#1099">1099</a>         <strong class="jxr_keyword">final</strong> Object arg0, <strong class="jxr_keyword">final</strong> Object arg1) {
<a name="1100" href="#1100">1100</a>         <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(Level.WARN)) {
<a name="1101" href="#1101">1101</a>             forcedLog(logger, Level.WARN,
<a name="1102" href="#1102">1102</a>                     format(pattern, toArray(arg0, arg1)));
<a name="1103" href="#1103">1103</a>         }
<a name="1104" href="#1104">1104</a>     }
<a name="1105" href="#1105">1105</a> 
<a name="1106" href="#1106">1106</a>     <em class="jxr_javadoccomment">/**</em>
<a name="1107" href="#1107">1107</a> <em class="jxr_javadoccomment">     * Log a parameterized message at warn level.</em>
<a name="1108" href="#1108">1108</a> <em class="jxr_javadoccomment">     * @param logger logger, may not be null.</em>
<a name="1109" href="#1109">1109</a> <em class="jxr_javadoccomment">     * @param pattern pattern, may be null.</em>
<a name="1110" href="#1110">1110</a> <em class="jxr_javadoccomment">     * @param arg0 a value to be formatted and substituted.</em>
<a name="1111" href="#1111">1111</a> <em class="jxr_javadoccomment">     * @param arg1 a value to be formatted and substituted.</em>
<a name="1112" href="#1112">1112</a> <em class="jxr_javadoccomment">     * @param arg2 a value to be formatted and substituted.</em>
<a name="1113" href="#1113">1113</a> <em class="jxr_javadoccomment">     */</em>
<a name="1114" href="#1114">1114</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> warn(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern,
<a name="1115" href="#1115">1115</a>         <strong class="jxr_keyword">final</strong> Object arg0, <strong class="jxr_keyword">final</strong> Object arg1, <strong class="jxr_keyword">final</strong> Object arg2) {
<a name="1116" href="#1116">1116</a>         <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(Level.WARN)) {
<a name="1117" href="#1117">1117</a>             forcedLog(logger, Level.WARN,
<a name="1118" href="#1118">1118</a>                     format(pattern, toArray(arg0, arg1, arg2)));
<a name="1119" href="#1119">1119</a>         }
<a name="1120" href="#1120">1120</a>     }
<a name="1121" href="#1121">1121</a> 
<a name="1122" href="#1122">1122</a>     <em class="jxr_javadoccomment">/**</em>
<a name="1123" href="#1123">1123</a> <em class="jxr_javadoccomment">     * Log a parameterized message at warn level.</em>
<a name="1124" href="#1124">1124</a> <em class="jxr_javadoccomment">     * @param logger logger, may not be null.</em>
<a name="1125" href="#1125">1125</a> <em class="jxr_javadoccomment">     * @param pattern pattern, may be null.</em>
<a name="1126" href="#1126">1126</a> <em class="jxr_javadoccomment">     * @param arg0 a value to be formatted and substituted.</em>
<a name="1127" href="#1127">1127</a> <em class="jxr_javadoccomment">     * @param arg1 a value to be formatted and substituted.</em>
<a name="1128" href="#1128">1128</a> <em class="jxr_javadoccomment">     * @param arg2 a value to be formatted and substituted.</em>
<a name="1129" href="#1129">1129</a> <em class="jxr_javadoccomment">     * @param arg3 a value to be formatted and substituted.</em>
<a name="1130" href="#1130">1130</a> <em class="jxr_javadoccomment">     */</em>
<a name="1131" href="#1131">1131</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> warn(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern,
<a name="1132" href="#1132">1132</a>         <strong class="jxr_keyword">final</strong> Object arg0, <strong class="jxr_keyword">final</strong> Object arg1, <strong class="jxr_keyword">final</strong> Object arg2,
<a name="1133" href="#1133">1133</a>         <strong class="jxr_keyword">final</strong> Object arg3) {
<a name="1134" href="#1134">1134</a>         <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(Level.WARN)) {
<a name="1135" href="#1135">1135</a>             forcedLog(logger, Level.WARN, format(pattern,
<a name="1136" href="#1136">1136</a>                     toArray(arg0, arg1, arg2, arg3)));
<a name="1137" href="#1137">1137</a>         }
<a name="1138" href="#1138">1138</a>     }
<a name="1139" href="#1139">1139</a> 
<a name="1140" href="#1140">1140</a>     <em class="jxr_javadoccomment">/**</em>
<a name="1141" href="#1141">1141</a> <em class="jxr_javadoccomment">      * Log a parameterized message at specified level.</em>
<a name="1142" href="#1142">1142</a> <em class="jxr_javadoccomment">      * @param logger logger, may not be null.</em>
<a name="1143" href="#1143">1143</a> <em class="jxr_javadoccomment">      * @param level level, may not be null.</em>
<a name="1144" href="#1144">1144</a> <em class="jxr_javadoccomment">      * @param pattern pattern, may be null.</em>
<a name="1145" href="#1145">1145</a> <em class="jxr_javadoccomment">     * @param parameters parameters to the log message.</em>
<a name="1146" href="#1146">1146</a> <em class="jxr_javadoccomment">      */</em>
<a name="1147" href="#1147">1147</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> log(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger,
<a name="1148" href="#1148">1148</a>                              <strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Level.html">Level</a> level,
<a name="1149" href="#1149">1149</a>                              <strong class="jxr_keyword">final</strong> String pattern,
<a name="1150" href="#1150">1150</a>                              <strong class="jxr_keyword">final</strong> Object[] parameters) {
<a name="1151" href="#1151">1151</a>         <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(level)) {
<a name="1152" href="#1152">1152</a>             forcedLog(logger, level,
<a name="1153" href="#1153">1153</a>                     format(pattern, parameters));
<a name="1154" href="#1154">1154</a>         }
<a name="1155" href="#1155">1155</a>     }
<a name="1156" href="#1156">1156</a> 
<a name="1157" href="#1157">1157</a>     <em class="jxr_javadoccomment">/**</em>
<a name="1158" href="#1158">1158</a> <em class="jxr_javadoccomment">      * Log a parameterized message at specified level.</em>
<a name="1159" href="#1159">1159</a> <em class="jxr_javadoccomment">      * @param logger logger, may not be null.</em>
<a name="1160" href="#1160">1160</a> <em class="jxr_javadoccomment">      * @param level level, may not be null.</em>
<a name="1161" href="#1161">1161</a> <em class="jxr_javadoccomment">     * @param t throwable, may be null.</em>
<a name="1162" href="#1162">1162</a> <em class="jxr_javadoccomment">      * @param pattern pattern, may be null.</em>
<a name="1163" href="#1163">1163</a> <em class="jxr_javadoccomment">     * @param parameters parameters to the log message.</em>
<a name="1164" href="#1164">1164</a> <em class="jxr_javadoccomment">      */</em>
<a name="1165" href="#1165">1165</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> log(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger,
<a name="1166" href="#1166">1166</a>                              <strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Level.html">Level</a> level,
<a name="1167" href="#1167">1167</a>                              <strong class="jxr_keyword">final</strong> Throwable t,
<a name="1168" href="#1168">1168</a>                              <strong class="jxr_keyword">final</strong> String pattern,
<a name="1169" href="#1169">1169</a>                              <strong class="jxr_keyword">final</strong> Object[] parameters) {
<a name="1170" href="#1170">1170</a>         <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(level)) {
<a name="1171" href="#1171">1171</a>             forcedLog(logger, level,
<a name="1172" href="#1172">1172</a>                     format(pattern, parameters), t);
<a name="1173" href="#1173">1173</a>         }
<a name="1174" href="#1174">1174</a>     }
<a name="1175" href="#1175">1175</a> 
<a name="1176" href="#1176">1176</a>     <em class="jxr_javadoccomment">/**</em>
<a name="1177" href="#1177">1177</a> <em class="jxr_javadoccomment">      * Log a parameterized message at specified level.</em>
<a name="1178" href="#1178">1178</a> <em class="jxr_javadoccomment">      * @param logger logger, may not be null.</em>
<a name="1179" href="#1179">1179</a> <em class="jxr_javadoccomment">      * @param level level, may not be null.</em>
<a name="1180" href="#1180">1180</a> <em class="jxr_javadoccomment">      * @param pattern pattern, may be null.</em>
<a name="1181" href="#1181">1181</a> <em class="jxr_javadoccomment">     * @param param1 parameter to the log message.</em>
<a name="1182" href="#1182">1182</a> <em class="jxr_javadoccomment">      */</em>
<a name="1183" href="#1183">1183</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> log(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger,
<a name="1184" href="#1184">1184</a>                              <strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Level.html">Level</a> level,
<a name="1185" href="#1185">1185</a>                              <strong class="jxr_keyword">final</strong> String pattern,
<a name="1186" href="#1186">1186</a>                              <strong class="jxr_keyword">final</strong> Object param1) {
<a name="1187" href="#1187">1187</a>         <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(level)) {
<a name="1188" href="#1188">1188</a>             forcedLog(logger, level,
<a name="1189" href="#1189">1189</a>                     format(pattern, toArray(param1)));
<a name="1190" href="#1190">1190</a>         }
<a name="1191" href="#1191">1191</a>     }
<a name="1192" href="#1192">1192</a> 
<a name="1193" href="#1193">1193</a>     <em class="jxr_javadoccomment">/**</em>
<a name="1194" href="#1194">1194</a> <em class="jxr_javadoccomment">      * Log a parameterized message at specified level.</em>
<a name="1195" href="#1195">1195</a> <em class="jxr_javadoccomment">      * @param logger logger, may not be null.</em>
<a name="1196" href="#1196">1196</a> <em class="jxr_javadoccomment">      * @param level level, may not be null.</em>
<a name="1197" href="#1197">1197</a> <em class="jxr_javadoccomment">      * @param pattern pattern, may be null.</em>
<a name="1198" href="#1198">1198</a> <em class="jxr_javadoccomment">     * @param param1 parameter to the log message.</em>
<a name="1199" href="#1199">1199</a> <em class="jxr_javadoccomment">      */</em>
<a name="1200" href="#1200">1200</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> log(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger,
<a name="1201" href="#1201">1201</a>                              <strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Level.html">Level</a> level,
<a name="1202" href="#1202">1202</a>                              <strong class="jxr_keyword">final</strong> String pattern,
<a name="1203" href="#1203">1203</a>                              <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">boolean</strong> param1) {
<a name="1204" href="#1204">1204</a>         <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(level)) {
<a name="1205" href="#1205">1205</a>             forcedLog(logger, level,
<a name="1206" href="#1206">1206</a>                     format(pattern, toArray(valueOf(param1))));
<a name="1207" href="#1207">1207</a>         }
<a name="1208" href="#1208">1208</a>     }
<a name="1209" href="#1209">1209</a> 
<a name="1210" href="#1210">1210</a> 
<a name="1211" href="#1211">1211</a>     <em class="jxr_javadoccomment">/**</em>
<a name="1212" href="#1212">1212</a> <em class="jxr_javadoccomment">      * Log a parameterized message at specified level.</em>
<a name="1213" href="#1213">1213</a> <em class="jxr_javadoccomment">      * @param logger logger, may not be null.</em>
<a name="1214" href="#1214">1214</a> <em class="jxr_javadoccomment">      * @param level level, may not be null.</em>
<a name="1215" href="#1215">1215</a> <em class="jxr_javadoccomment">      * @param pattern pattern, may be null.</em>
<a name="1216" href="#1216">1216</a> <em class="jxr_javadoccomment">     * @param param1 parameter to the log message.</em>
<a name="1217" href="#1217">1217</a> <em class="jxr_javadoccomment">      */</em>
<a name="1218" href="#1218">1218</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> log(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger,
<a name="1219" href="#1219">1219</a>                              <strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Level.html">Level</a> level,
<a name="1220" href="#1220">1220</a>                              <strong class="jxr_keyword">final</strong> String pattern,
<a name="1221" href="#1221">1221</a>                              <strong class="jxr_keyword">final</strong> byte param1) {
<a name="1222" href="#1222">1222</a>         <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(level)) {
<a name="1223" href="#1223">1223</a>             forcedLog(logger, level,
<a name="1224" href="#1224">1224</a>                     format(pattern, toArray(valueOf(param1))));
<a name="1225" href="#1225">1225</a>         }
<a name="1226" href="#1226">1226</a>     }
<a name="1227" href="#1227">1227</a> 
<a name="1228" href="#1228">1228</a> 
<a name="1229" href="#1229">1229</a>     <em class="jxr_javadoccomment">/**</em>
<a name="1230" href="#1230">1230</a> <em class="jxr_javadoccomment">      * Log a parameterized message at specified level.</em>
<a name="1231" href="#1231">1231</a> <em class="jxr_javadoccomment">      * @param logger logger, may not be null.</em>
<a name="1232" href="#1232">1232</a> <em class="jxr_javadoccomment">      * @param level level, may not be null.</em>
<a name="1233" href="#1233">1233</a> <em class="jxr_javadoccomment">      * @param pattern pattern, may be null.</em>
<a name="1234" href="#1234">1234</a> <em class="jxr_javadoccomment">     * @param param1 parameter to the log message.</em>
<a name="1235" href="#1235">1235</a> <em class="jxr_javadoccomment">      */</em>
<a name="1236" href="#1236">1236</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> log(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger,
<a name="1237" href="#1237">1237</a>                              <strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Level.html">Level</a> level,
<a name="1238" href="#1238">1238</a>                              <strong class="jxr_keyword">final</strong> String pattern,
<a name="1239" href="#1239">1239</a>                              <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">char</strong> param1) {
<a name="1240" href="#1240">1240</a>         <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(level)) {
<a name="1241" href="#1241">1241</a>             forcedLog(logger, level,
<a name="1242" href="#1242">1242</a>                     format(pattern, toArray(valueOf(param1))));
<a name="1243" href="#1243">1243</a>         }
<a name="1244" href="#1244">1244</a>     }
<a name="1245" href="#1245">1245</a> 
<a name="1246" href="#1246">1246</a>     <em class="jxr_javadoccomment">/**</em>
<a name="1247" href="#1247">1247</a> <em class="jxr_javadoccomment">      * Log a parameterized message at specified level.</em>
<a name="1248" href="#1248">1248</a> <em class="jxr_javadoccomment">      * @param logger logger, may not be null.</em>
<a name="1249" href="#1249">1249</a> <em class="jxr_javadoccomment">      * @param level level, may not be null.</em>
<a name="1250" href="#1250">1250</a> <em class="jxr_javadoccomment">      * @param pattern pattern, may be null.</em>
<a name="1251" href="#1251">1251</a> <em class="jxr_javadoccomment">     * @param param1 parameter to the log message.</em>
<a name="1252" href="#1252">1252</a> <em class="jxr_javadoccomment">      */</em>
<a name="1253" href="#1253">1253</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> log(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger,
<a name="1254" href="#1254">1254</a>                              <strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Level.html">Level</a> level,
<a name="1255" href="#1255">1255</a>                              <strong class="jxr_keyword">final</strong> String pattern,
<a name="1256" href="#1256">1256</a>                              <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">short</strong> param1) {
<a name="1257" href="#1257">1257</a>         <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(level)) {
<a name="1258" href="#1258">1258</a>             forcedLog(logger, level,
<a name="1259" href="#1259">1259</a>                     format(pattern, toArray(valueOf(param1))));
<a name="1260" href="#1260">1260</a>         }
<a name="1261" href="#1261">1261</a>     }
<a name="1262" href="#1262">1262</a> 
<a name="1263" href="#1263">1263</a>     <em class="jxr_javadoccomment">/**</em>
<a name="1264" href="#1264">1264</a> <em class="jxr_javadoccomment">      * Log a parameterized message at specified level.</em>
<a name="1265" href="#1265">1265</a> <em class="jxr_javadoccomment">      * @param logger logger, may not be null.</em>
<a name="1266" href="#1266">1266</a> <em class="jxr_javadoccomment">      * @param level level, may not be null.</em>
<a name="1267" href="#1267">1267</a> <em class="jxr_javadoccomment">      * @param pattern pattern, may be null.</em>
<a name="1268" href="#1268">1268</a> <em class="jxr_javadoccomment">     * @param param1 parameter to the log message.</em>
<a name="1269" href="#1269">1269</a> <em class="jxr_javadoccomment">      */</em>
<a name="1270" href="#1270">1270</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> log(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger,
<a name="1271" href="#1271">1271</a>                              <strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Level.html">Level</a> level,
<a name="1272" href="#1272">1272</a>                              <strong class="jxr_keyword">final</strong> String pattern,
<a name="1273" href="#1273">1273</a>                              <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> param1) {
<a name="1274" href="#1274">1274</a>         <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(level)) {
<a name="1275" href="#1275">1275</a>             forcedLog(logger, level,
<a name="1276" href="#1276">1276</a>                     format(pattern, toArray(valueOf(param1))));
<a name="1277" href="#1277">1277</a>         }
<a name="1278" href="#1278">1278</a>     }
<a name="1279" href="#1279">1279</a> 
<a name="1280" href="#1280">1280</a> 
<a name="1281" href="#1281">1281</a>     <em class="jxr_javadoccomment">/**</em>
<a name="1282" href="#1282">1282</a> <em class="jxr_javadoccomment">      * Log a parameterized message at specified level.</em>
<a name="1283" href="#1283">1283</a> <em class="jxr_javadoccomment">      * @param logger logger, may not be null.</em>
<a name="1284" href="#1284">1284</a> <em class="jxr_javadoccomment">      * @param level level, may not be null.</em>
<a name="1285" href="#1285">1285</a> <em class="jxr_javadoccomment">      * @param pattern pattern, may be null.</em>
<a name="1286" href="#1286">1286</a> <em class="jxr_javadoccomment">     * @param param1 parameter to the log message.</em>
<a name="1287" href="#1287">1287</a> <em class="jxr_javadoccomment">      */</em>
<a name="1288" href="#1288">1288</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> log(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger,
<a name="1289" href="#1289">1289</a>                              <strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Level.html">Level</a> level,
<a name="1290" href="#1290">1290</a>                              <strong class="jxr_keyword">final</strong> String pattern,
<a name="1291" href="#1291">1291</a>                              <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> param1) {
<a name="1292" href="#1292">1292</a>         <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(level)) {
<a name="1293" href="#1293">1293</a>             forcedLog(logger, level,
<a name="1294" href="#1294">1294</a>                     format(pattern, toArray(valueOf(param1))));
<a name="1295" href="#1295">1295</a>         }
<a name="1296" href="#1296">1296</a>     }
<a name="1297" href="#1297">1297</a> 
<a name="1298" href="#1298">1298</a> 
<a name="1299" href="#1299">1299</a>     <em class="jxr_javadoccomment">/**</em>
<a name="1300" href="#1300">1300</a> <em class="jxr_javadoccomment">      * Log a parameterized message at specified level.</em>
<a name="1301" href="#1301">1301</a> <em class="jxr_javadoccomment">      * @param logger logger, may not be null.</em>
<a name="1302" href="#1302">1302</a> <em class="jxr_javadoccomment">      * @param level level, may not be null.</em>
<a name="1303" href="#1303">1303</a> <em class="jxr_javadoccomment">      * @param pattern pattern, may be null.</em>
<a name="1304" href="#1304">1304</a> <em class="jxr_javadoccomment">     * @param param1 parameter to the log message.</em>
<a name="1305" href="#1305">1305</a> <em class="jxr_javadoccomment">      */</em>
<a name="1306" href="#1306">1306</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> log(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger,
<a name="1307" href="#1307">1307</a>                              <strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Level.html">Level</a> level,
<a name="1308" href="#1308">1308</a>                              <strong class="jxr_keyword">final</strong> String pattern,
<a name="1309" href="#1309">1309</a>                              <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">float</strong> param1) {
<a name="1310" href="#1310">1310</a>         <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(level)) {
<a name="1311" href="#1311">1311</a>             forcedLog(logger, level,
<a name="1312" href="#1312">1312</a>                     format(pattern, toArray(valueOf(param1))));
<a name="1313" href="#1313">1313</a>         }
<a name="1314" href="#1314">1314</a>     }
<a name="1315" href="#1315">1315</a> 
<a name="1316" href="#1316">1316</a> 
<a name="1317" href="#1317">1317</a>     <em class="jxr_javadoccomment">/**</em>
<a name="1318" href="#1318">1318</a> <em class="jxr_javadoccomment">      * Log a parameterized message at specified level.</em>
<a name="1319" href="#1319">1319</a> <em class="jxr_javadoccomment">      * @param logger logger, may not be null.</em>
<a name="1320" href="#1320">1320</a> <em class="jxr_javadoccomment">      * @param level level, may not be null.</em>
<a name="1321" href="#1321">1321</a> <em class="jxr_javadoccomment">      * @param pattern pattern, may be null.</em>
<a name="1322" href="#1322">1322</a> <em class="jxr_javadoccomment">     * @param param1 parameter to the log message.</em>
<a name="1323" href="#1323">1323</a> <em class="jxr_javadoccomment">      */</em>
<a name="1324" href="#1324">1324</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> log(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger,
<a name="1325" href="#1325">1325</a>                              <strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Level.html">Level</a> level,
<a name="1326" href="#1326">1326</a>                              <strong class="jxr_keyword">final</strong> String pattern,
<a name="1327" href="#1327">1327</a>                              <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">double</strong> param1) {
<a name="1328" href="#1328">1328</a>         <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(level)) {
<a name="1329" href="#1329">1329</a>             forcedLog(logger, level,
<a name="1330" href="#1330">1330</a>                     format(pattern, toArray(valueOf(param1))));
<a name="1331" href="#1331">1331</a>         }
<a name="1332" href="#1332">1332</a>     }
<a name="1333" href="#1333">1333</a> 
<a name="1334" href="#1334">1334</a> 
<a name="1335" href="#1335">1335</a>     <em class="jxr_javadoccomment">/**</em>
<a name="1336" href="#1336">1336</a> <em class="jxr_javadoccomment">     * Log a parameterized message at specified level.</em>
<a name="1337" href="#1337">1337</a> <em class="jxr_javadoccomment">     * @param logger logger, may not be null.</em>
<a name="1338" href="#1338">1338</a> <em class="jxr_javadoccomment">     * @param level level, may not be null.</em>
<a name="1339" href="#1339">1339</a> <em class="jxr_javadoccomment">     * @param pattern pattern, may be null.</em>
<a name="1340" href="#1340">1340</a> <em class="jxr_javadoccomment">     * @param arg0 a value to be formatted and substituted.</em>
<a name="1341" href="#1341">1341</a> <em class="jxr_javadoccomment">     * @param arg1 a value to be formatted and substituted.</em>
<a name="1342" href="#1342">1342</a> <em class="jxr_javadoccomment">     */</em>
<a name="1343" href="#1343">1343</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> log(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger,
<a name="1344" href="#1344">1344</a>                             <strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Level.html">Level</a> level,
<a name="1345" href="#1345">1345</a>                             <strong class="jxr_keyword">final</strong> String pattern,
<a name="1346" href="#1346">1346</a>         <strong class="jxr_keyword">final</strong> Object arg0, <strong class="jxr_keyword">final</strong> Object arg1) {
<a name="1347" href="#1347">1347</a>         <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(level)) {
<a name="1348" href="#1348">1348</a>             forcedLog(logger, level,
<a name="1349" href="#1349">1349</a>                     format(pattern, toArray(arg0, arg1)));
<a name="1350" href="#1350">1350</a>         }
<a name="1351" href="#1351">1351</a>     }
<a name="1352" href="#1352">1352</a> 
<a name="1353" href="#1353">1353</a>     <em class="jxr_javadoccomment">/**</em>
<a name="1354" href="#1354">1354</a> <em class="jxr_javadoccomment">     * Log a parameterized message at specifed level.</em>
<a name="1355" href="#1355">1355</a> <em class="jxr_javadoccomment">     * @param logger logger, may not be null.</em>
<a name="1356" href="#1356">1356</a> <em class="jxr_javadoccomment">     * @param level level, may not be null.</em>
<a name="1357" href="#1357">1357</a> <em class="jxr_javadoccomment">     * @param pattern pattern, may be null.</em>
<a name="1358" href="#1358">1358</a> <em class="jxr_javadoccomment">     * @param arg0 a value to be formatted and substituted.</em>
<a name="1359" href="#1359">1359</a> <em class="jxr_javadoccomment">     * @param arg1 a value to be formatted and substituted.</em>
<a name="1360" href="#1360">1360</a> <em class="jxr_javadoccomment">     * @param arg2 a value to be formatted and substituted.</em>
<a name="1361" href="#1361">1361</a> <em class="jxr_javadoccomment">     */</em>
<a name="1362" href="#1362">1362</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> log(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger,
<a name="1363" href="#1363">1363</a>                            <strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Level.html">Level</a> level,
<a name="1364" href="#1364">1364</a>                            <strong class="jxr_keyword">final</strong> String pattern,
<a name="1365" href="#1365">1365</a>         <strong class="jxr_keyword">final</strong> Object arg0, <strong class="jxr_keyword">final</strong> Object arg1, <strong class="jxr_keyword">final</strong> Object arg2) {
<a name="1366" href="#1366">1366</a>         <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(level)) {
<a name="1367" href="#1367">1367</a>             forcedLog(logger, level,
<a name="1368" href="#1368">1368</a>                     format(pattern, toArray(arg0, arg1, arg2)));
<a name="1369" href="#1369">1369</a>         }
<a name="1370" href="#1370">1370</a>     }
<a name="1371" href="#1371">1371</a> 
<a name="1372" href="#1372">1372</a>     <em class="jxr_javadoccomment">/**</em>
<a name="1373" href="#1373">1373</a> <em class="jxr_javadoccomment">     * Log a parameterized message at specified level.</em>
<a name="1374" href="#1374">1374</a> <em class="jxr_javadoccomment">     * @param logger logger, may not be null.</em>
<a name="1375" href="#1375">1375</a> <em class="jxr_javadoccomment">     * @param pattern pattern, may be null.</em>
<a name="1376" href="#1376">1376</a> <em class="jxr_javadoccomment">     * @param level level, may not be null.</em>
<a name="1377" href="#1377">1377</a> <em class="jxr_javadoccomment">     * @param arg0 a value to be formatted and substituted.</em>
<a name="1378" href="#1378">1378</a> <em class="jxr_javadoccomment">     * @param arg1 a value to be formatted and substituted.</em>
<a name="1379" href="#1379">1379</a> <em class="jxr_javadoccomment">     * @param arg2 a value to be formatted and substituted.</em>
<a name="1380" href="#1380">1380</a> <em class="jxr_javadoccomment">     * @param arg3 a value to be formatted and substituted.</em>
<a name="1381" href="#1381">1381</a> <em class="jxr_javadoccomment">     */</em>
<a name="1382" href="#1382">1382</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> log(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger,
<a name="1383" href="#1383">1383</a>                            <strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Level.html">Level</a> level,
<a name="1384" href="#1384">1384</a>                            <strong class="jxr_keyword">final</strong> String pattern,
<a name="1385" href="#1385">1385</a>         <strong class="jxr_keyword">final</strong> Object arg0, <strong class="jxr_keyword">final</strong> Object arg1, <strong class="jxr_keyword">final</strong> Object arg2,
<a name="1386" href="#1386">1386</a>         <strong class="jxr_keyword">final</strong> Object arg3) {
<a name="1387" href="#1387">1387</a>         <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(level)) {
<a name="1388" href="#1388">1388</a>             forcedLog(logger, level, format(pattern,
<a name="1389" href="#1389">1389</a>                     toArray(arg0, arg1, arg2, arg3)));
<a name="1390" href="#1390">1390</a>         }
<a name="1391" href="#1391">1391</a>     }
<a name="1392" href="#1392">1392</a> 
<a name="1393" href="#1393">1393</a> 
<a name="1394" href="#1394">1394</a>     <em class="jxr_javadoccomment">/**</em>
<a name="1395" href="#1395">1395</a> <em class="jxr_javadoccomment">      * Log a parameterized message using a pattern from a resource bundle.</em>
<a name="1396" href="#1396">1396</a> <em class="jxr_javadoccomment">      * @param logger logger, may not be null.</em>
<a name="1397" href="#1397">1397</a> <em class="jxr_javadoccomment">      * @param level level, may not be null.</em>
<a name="1398" href="#1398">1398</a> <em class="jxr_javadoccomment">      * @param bundleName resource bundle name, may be null.</em>
<a name="1399" href="#1399">1399</a> <em class="jxr_javadoccomment">     * @param key key, may be null.</em>
<a name="1400" href="#1400">1400</a> <em class="jxr_javadoccomment">     * @param parameters parameters to the log message.</em>
<a name="1401" href="#1401">1401</a> <em class="jxr_javadoccomment">      */</em>
<a name="1402" href="#1402">1402</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> logrb(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger,
<a name="1403" href="#1403">1403</a>                              <strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Level.html">Level</a> level,
<a name="1404" href="#1404">1404</a>                              <strong class="jxr_keyword">final</strong> String bundleName,
<a name="1405" href="#1405">1405</a>                              <strong class="jxr_keyword">final</strong> String key,
<a name="1406" href="#1406">1406</a>                              <strong class="jxr_keyword">final</strong> Object[] parameters) {
<a name="1407" href="#1407">1407</a>         <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(level)) {
<a name="1408" href="#1408">1408</a>             forcedLog(logger, level,
<a name="1409" href="#1409">1409</a>                     format(bundleName, key, parameters));
<a name="1410" href="#1410">1410</a>         }
<a name="1411" href="#1411">1411</a>     }
<a name="1412" href="#1412">1412</a> 
<a name="1413" href="#1413">1413</a>     <em class="jxr_javadoccomment">/**</em>
<a name="1414" href="#1414">1414</a> <em class="jxr_javadoccomment">      * Log a parameterized message using a pattern from a resource bundle.</em>
<a name="1415" href="#1415">1415</a> <em class="jxr_javadoccomment">      * @param logger logger, may not be null.</em>
<a name="1416" href="#1416">1416</a> <em class="jxr_javadoccomment">      * @param level level, may not be null.</em>
<a name="1417" href="#1417">1417</a> <em class="jxr_javadoccomment">     * @param t throwable, may be null.</em>
<a name="1418" href="#1418">1418</a> <em class="jxr_javadoccomment">      * @param bundleName resource bundle name, may be null.</em>
<a name="1419" href="#1419">1419</a> <em class="jxr_javadoccomment">     * @param key key, may be null.</em>
<a name="1420" href="#1420">1420</a> <em class="jxr_javadoccomment">     * @param parameters parameters to the log message.</em>
<a name="1421" href="#1421">1421</a> <em class="jxr_javadoccomment">      */</em>
<a name="1422" href="#1422">1422</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> logrb(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger,
<a name="1423" href="#1423">1423</a>                              <strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Level.html">Level</a> level,
<a name="1424" href="#1424">1424</a>                              <strong class="jxr_keyword">final</strong> Throwable t,
<a name="1425" href="#1425">1425</a>                              <strong class="jxr_keyword">final</strong> String bundleName,
<a name="1426" href="#1426">1426</a>                              <strong class="jxr_keyword">final</strong> String key,
<a name="1427" href="#1427">1427</a>                              <strong class="jxr_keyword">final</strong> Object[] parameters) {
<a name="1428" href="#1428">1428</a>         <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(level)) {
<a name="1429" href="#1429">1429</a>             forcedLog(logger, level,
<a name="1430" href="#1430">1430</a>                     format(bundleName, key, parameters), t);
<a name="1431" href="#1431">1431</a>         }
<a name="1432" href="#1432">1432</a>     }
<a name="1433" href="#1433">1433</a> 
<a name="1434" href="#1434">1434</a>     <em class="jxr_javadoccomment">/**</em>
<a name="1435" href="#1435">1435</a> <em class="jxr_javadoccomment">      * Log a parameterized message using a pattern from a resource bundle.</em>
<a name="1436" href="#1436">1436</a> <em class="jxr_javadoccomment">      * @param logger logger, may not be null.</em>
<a name="1437" href="#1437">1437</a> <em class="jxr_javadoccomment">      * @param level level, may not be null.</em>
<a name="1438" href="#1438">1438</a> <em class="jxr_javadoccomment">      * @param bundleName resource bundle name, may be null.</em>
<a name="1439" href="#1439">1439</a> <em class="jxr_javadoccomment">     * @param key key, may be null.</em>
<a name="1440" href="#1440">1440</a> <em class="jxr_javadoccomment">     * @param param1 Parameter to the log message.</em>
<a name="1441" href="#1441">1441</a> <em class="jxr_javadoccomment">      */</em>
<a name="1442" href="#1442">1442</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> logrb(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger,
<a name="1443" href="#1443">1443</a>                              <strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Level.html">Level</a> level,
<a name="1444" href="#1444">1444</a>                              <strong class="jxr_keyword">final</strong> String bundleName,
<a name="1445" href="#1445">1445</a>                              <strong class="jxr_keyword">final</strong> String key,
<a name="1446" href="#1446">1446</a>                              <strong class="jxr_keyword">final</strong> Object param1) {
<a name="1447" href="#1447">1447</a>         <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(level)) {
<a name="1448" href="#1448">1448</a>             forcedLog(logger, level,
<a name="1449" href="#1449">1449</a>                     format(bundleName, key, toArray(param1)));
<a name="1450" href="#1450">1450</a>         }
<a name="1451" href="#1451">1451</a>     }
<a name="1452" href="#1452">1452</a> 
<a name="1453" href="#1453">1453</a>     <em class="jxr_javadoccomment">/**</em>
<a name="1454" href="#1454">1454</a> <em class="jxr_javadoccomment">      * Log a parameterized message using a pattern from a resource bundle.</em>
<a name="1455" href="#1455">1455</a> <em class="jxr_javadoccomment">      * @param logger logger, may not be null.</em>
<a name="1456" href="#1456">1456</a> <em class="jxr_javadoccomment">      * @param level level, may not be null.</em>
<a name="1457" href="#1457">1457</a> <em class="jxr_javadoccomment">      * @param bundleName resource bundle name, may be null.</em>
<a name="1458" href="#1458">1458</a> <em class="jxr_javadoccomment">     * @param key key, may be null.</em>
<a name="1459" href="#1459">1459</a> <em class="jxr_javadoccomment">     * @param param1 Parameter to the log message.</em>
<a name="1460" href="#1460">1460</a> <em class="jxr_javadoccomment">      */</em>
<a name="1461" href="#1461">1461</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> logrb(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger,
<a name="1462" href="#1462">1462</a>                              <strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Level.html">Level</a> level,
<a name="1463" href="#1463">1463</a>                              <strong class="jxr_keyword">final</strong> String bundleName,
<a name="1464" href="#1464">1464</a>                              <strong class="jxr_keyword">final</strong> String key,
<a name="1465" href="#1465">1465</a>                              <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">boolean</strong> param1) {
<a name="1466" href="#1466">1466</a>         <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(level)) {
<a name="1467" href="#1467">1467</a>             forcedLog(logger, level,
<a name="1468" href="#1468">1468</a>                     format(bundleName, key, toArray(valueOf(param1))));
<a name="1469" href="#1469">1469</a>         }
<a name="1470" href="#1470">1470</a>     }
<a name="1471" href="#1471">1471</a> 
<a name="1472" href="#1472">1472</a>     <em class="jxr_javadoccomment">/**</em>
<a name="1473" href="#1473">1473</a> <em class="jxr_javadoccomment">      * Log a parameterized message using a pattern from a resource bundle.</em>
<a name="1474" href="#1474">1474</a> <em class="jxr_javadoccomment">      * @param logger logger, may not be null.</em>
<a name="1475" href="#1475">1475</a> <em class="jxr_javadoccomment">      * @param level level, may not be null.</em>
<a name="1476" href="#1476">1476</a> <em class="jxr_javadoccomment">      * @param bundleName resource bundle name, may be null.</em>
<a name="1477" href="#1477">1477</a> <em class="jxr_javadoccomment">     * @param key key, may be null.</em>
<a name="1478" href="#1478">1478</a> <em class="jxr_javadoccomment">     * @param param1 Parameter to the log message.</em>
<a name="1479" href="#1479">1479</a> <em class="jxr_javadoccomment">      */</em>
<a name="1480" href="#1480">1480</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> logrb(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger,
<a name="1481" href="#1481">1481</a>                              <strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Level.html">Level</a> level,
<a name="1482" href="#1482">1482</a>                              <strong class="jxr_keyword">final</strong> String bundleName,
<a name="1483" href="#1483">1483</a>                              <strong class="jxr_keyword">final</strong> String key,
<a name="1484" href="#1484">1484</a>                              <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">char</strong> param1) {
<a name="1485" href="#1485">1485</a>         <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(level)) {
<a name="1486" href="#1486">1486</a>             forcedLog(logger, level,
<a name="1487" href="#1487">1487</a>                     format(bundleName, key, toArray(valueOf(param1))));
<a name="1488" href="#1488">1488</a>         }
<a name="1489" href="#1489">1489</a>     }
<a name="1490" href="#1490">1490</a> 
<a name="1491" href="#1491">1491</a>     <em class="jxr_javadoccomment">/**</em>
<a name="1492" href="#1492">1492</a> <em class="jxr_javadoccomment">      * Log a parameterized message using a pattern from a resource bundle.</em>
<a name="1493" href="#1493">1493</a> <em class="jxr_javadoccomment">      * @param logger logger, may not be null.</em>
<a name="1494" href="#1494">1494</a> <em class="jxr_javadoccomment">      * @param level level, may not be null.</em>
<a name="1495" href="#1495">1495</a> <em class="jxr_javadoccomment">      * @param bundleName resource bundle name, may be null.</em>
<a name="1496" href="#1496">1496</a> <em class="jxr_javadoccomment">     * @param key key, may be null.</em>
<a name="1497" href="#1497">1497</a> <em class="jxr_javadoccomment">     * @param param1 Parameter to the log message.</em>
<a name="1498" href="#1498">1498</a> <em class="jxr_javadoccomment">      */</em>
<a name="1499" href="#1499">1499</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> logrb(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger,
<a name="1500" href="#1500">1500</a>                              <strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Level.html">Level</a> level,
<a name="1501" href="#1501">1501</a>                              <strong class="jxr_keyword">final</strong> String bundleName,
<a name="1502" href="#1502">1502</a>                              <strong class="jxr_keyword">final</strong> String key,
<a name="1503" href="#1503">1503</a>                              <strong class="jxr_keyword">final</strong> byte param1) {
<a name="1504" href="#1504">1504</a>         <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(level)) {
<a name="1505" href="#1505">1505</a>             forcedLog(logger, level,
<a name="1506" href="#1506">1506</a>                     format(bundleName, key, toArray(valueOf(param1))));
<a name="1507" href="#1507">1507</a>         }
<a name="1508" href="#1508">1508</a>     }
<a name="1509" href="#1509">1509</a> 
<a name="1510" href="#1510">1510</a>     <em class="jxr_javadoccomment">/**</em>
<a name="1511" href="#1511">1511</a> <em class="jxr_javadoccomment">      * Log a parameterized message using a pattern from a resource bundle.</em>
<a name="1512" href="#1512">1512</a> <em class="jxr_javadoccomment">      * @param logger logger, may not be null.</em>
<a name="1513" href="#1513">1513</a> <em class="jxr_javadoccomment">      * @param level level, may not be null.</em>
<a name="1514" href="#1514">1514</a> <em class="jxr_javadoccomment">      * @param bundleName resource bundle name, may be null.</em>
<a name="1515" href="#1515">1515</a> <em class="jxr_javadoccomment">     * @param key key, may be null.</em>
<a name="1516" href="#1516">1516</a> <em class="jxr_javadoccomment">     * @param param1 Parameter to the log message.</em>
<a name="1517" href="#1517">1517</a> <em class="jxr_javadoccomment">      */</em>
<a name="1518" href="#1518">1518</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> logrb(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger,
<a name="1519" href="#1519">1519</a>                              <strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Level.html">Level</a> level,
<a name="1520" href="#1520">1520</a>                              <strong class="jxr_keyword">final</strong> String bundleName,
<a name="1521" href="#1521">1521</a>                              <strong class="jxr_keyword">final</strong> String key,
<a name="1522" href="#1522">1522</a>                              <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">short</strong> param1) {
<a name="1523" href="#1523">1523</a>         <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(level)) {
<a name="1524" href="#1524">1524</a>             forcedLog(logger, level,
<a name="1525" href="#1525">1525</a>                     format(bundleName, key, toArray(valueOf(param1))));
<a name="1526" href="#1526">1526</a>         }
<a name="1527" href="#1527">1527</a>     }
<a name="1528" href="#1528">1528</a> 
<a name="1529" href="#1529">1529</a>     <em class="jxr_javadoccomment">/**</em>
<a name="1530" href="#1530">1530</a> <em class="jxr_javadoccomment">      * Log a parameterized message using a pattern from a resource bundle.</em>
<a name="1531" href="#1531">1531</a> <em class="jxr_javadoccomment">      * @param logger logger, may not be null.</em>
<a name="1532" href="#1532">1532</a> <em class="jxr_javadoccomment">      * @param level level, may not be null.</em>
<a name="1533" href="#1533">1533</a> <em class="jxr_javadoccomment">      * @param bundleName resource bundle name, may be null.</em>
<a name="1534" href="#1534">1534</a> <em class="jxr_javadoccomment">     * @param key key, may be null.</em>
<a name="1535" href="#1535">1535</a> <em class="jxr_javadoccomment">     * @param param1 Parameter to the log message.</em>
<a name="1536" href="#1536">1536</a> <em class="jxr_javadoccomment">      */</em>
<a name="1537" href="#1537">1537</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> logrb(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger,
<a name="1538" href="#1538">1538</a>                              <strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Level.html">Level</a> level,
<a name="1539" href="#1539">1539</a>                              <strong class="jxr_keyword">final</strong> String bundleName,
<a name="1540" href="#1540">1540</a>                              <strong class="jxr_keyword">final</strong> String key,
<a name="1541" href="#1541">1541</a>                              <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> param1) {
<a name="1542" href="#1542">1542</a>         <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(level)) {
<a name="1543" href="#1543">1543</a>             forcedLog(logger, level,
<a name="1544" href="#1544">1544</a>                     format(bundleName, key, toArray(valueOf(param1))));
<a name="1545" href="#1545">1545</a>         }
<a name="1546" href="#1546">1546</a>     }
<a name="1547" href="#1547">1547</a> 
<a name="1548" href="#1548">1548</a>     <em class="jxr_javadoccomment">/**</em>
<a name="1549" href="#1549">1549</a> <em class="jxr_javadoccomment">      * Log a parameterized message using a pattern from a resource bundle.</em>
<a name="1550" href="#1550">1550</a> <em class="jxr_javadoccomment">      * @param logger logger, may not be null.</em>
<a name="1551" href="#1551">1551</a> <em class="jxr_javadoccomment">      * @param level level, may not be null.</em>
<a name="1552" href="#1552">1552</a> <em class="jxr_javadoccomment">      * @param bundleName resource bundle name, may be null.</em>
<a name="1553" href="#1553">1553</a> <em class="jxr_javadoccomment">     * @param key key, may be null.</em>
<a name="1554" href="#1554">1554</a> <em class="jxr_javadoccomment">     * @param param1 Parameter to the log message.</em>
<a name="1555" href="#1555">1555</a> <em class="jxr_javadoccomment">      */</em>
<a name="1556" href="#1556">1556</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> logrb(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger,
<a name="1557" href="#1557">1557</a>                              <strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Level.html">Level</a> level,
<a name="1558" href="#1558">1558</a>                              <strong class="jxr_keyword">final</strong> String bundleName,
<a name="1559" href="#1559">1559</a>                              <strong class="jxr_keyword">final</strong> String key,
<a name="1560" href="#1560">1560</a>                              <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> param1) {
<a name="1561" href="#1561">1561</a>         <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(level)) {
<a name="1562" href="#1562">1562</a>             forcedLog(logger, level,
<a name="1563" href="#1563">1563</a>                     format(bundleName, key, toArray(valueOf(param1))));
<a name="1564" href="#1564">1564</a>         }
<a name="1565" href="#1565">1565</a>     }
<a name="1566" href="#1566">1566</a>     <em class="jxr_javadoccomment">/**</em>
<a name="1567" href="#1567">1567</a> <em class="jxr_javadoccomment">      * Log a parameterized message using a pattern from a resource bundle.</em>
<a name="1568" href="#1568">1568</a> <em class="jxr_javadoccomment">      * @param logger logger, may not be null.</em>
<a name="1569" href="#1569">1569</a> <em class="jxr_javadoccomment">      * @param level level, may not be null.</em>
<a name="1570" href="#1570">1570</a> <em class="jxr_javadoccomment">      * @param bundleName resource bundle name, may be null.</em>
<a name="1571" href="#1571">1571</a> <em class="jxr_javadoccomment">     * @param key key, may be null.</em>
<a name="1572" href="#1572">1572</a> <em class="jxr_javadoccomment">     * @param param1 Parameter to the log message.</em>
<a name="1573" href="#1573">1573</a> <em class="jxr_javadoccomment">      */</em>
<a name="1574" href="#1574">1574</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> logrb(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger,
<a name="1575" href="#1575">1575</a>                              <strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Level.html">Level</a> level,
<a name="1576" href="#1576">1576</a>                              <strong class="jxr_keyword">final</strong> String bundleName,
<a name="1577" href="#1577">1577</a>                              <strong class="jxr_keyword">final</strong> String key,
<a name="1578" href="#1578">1578</a>                              <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">float</strong> param1) {
<a name="1579" href="#1579">1579</a>         <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(level)) {
<a name="1580" href="#1580">1580</a>             forcedLog(logger, level,
<a name="1581" href="#1581">1581</a>                     format(bundleName, key, toArray(valueOf(param1))));
<a name="1582" href="#1582">1582</a>         }
<a name="1583" href="#1583">1583</a>     }
<a name="1584" href="#1584">1584</a> 
<a name="1585" href="#1585">1585</a> 
<a name="1586" href="#1586">1586</a>     <em class="jxr_javadoccomment">/**</em>
<a name="1587" href="#1587">1587</a> <em class="jxr_javadoccomment">      * Log a parameterized message using a pattern from a resource bundle.</em>
<a name="1588" href="#1588">1588</a> <em class="jxr_javadoccomment">      * @param logger logger, may not be null.</em>
<a name="1589" href="#1589">1589</a> <em class="jxr_javadoccomment">      * @param level level, may not be null.</em>
<a name="1590" href="#1590">1590</a> <em class="jxr_javadoccomment">      * @param bundleName resource bundle name, may be null.</em>
<a name="1591" href="#1591">1591</a> <em class="jxr_javadoccomment">     * @param key key, may be null.</em>
<a name="1592" href="#1592">1592</a> <em class="jxr_javadoccomment">     * @param param1 Parameter to the log message.</em>
<a name="1593" href="#1593">1593</a> <em class="jxr_javadoccomment">      */</em>
<a name="1594" href="#1594">1594</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> logrb(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger,
<a name="1595" href="#1595">1595</a>                              <strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Level.html">Level</a> level,
<a name="1596" href="#1596">1596</a>                              <strong class="jxr_keyword">final</strong> String bundleName,
<a name="1597" href="#1597">1597</a>                              <strong class="jxr_keyword">final</strong> String key,
<a name="1598" href="#1598">1598</a>                              <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">double</strong> param1) {
<a name="1599" href="#1599">1599</a>         <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(level)) {
<a name="1600" href="#1600">1600</a>             forcedLog(logger, level,
<a name="1601" href="#1601">1601</a>                     format(bundleName, key, toArray(valueOf(param1))));
<a name="1602" href="#1602">1602</a>         }
<a name="1603" href="#1603">1603</a>     }
<a name="1604" href="#1604">1604</a> 
<a name="1605" href="#1605">1605</a>     <em class="jxr_javadoccomment">/**</em>
<a name="1606" href="#1606">1606</a> <em class="jxr_javadoccomment">      * Log a parameterized message using a pattern from a resource bundle.</em>
<a name="1607" href="#1607">1607</a> <em class="jxr_javadoccomment">      * @param logger logger, may not be null.</em>
<a name="1608" href="#1608">1608</a> <em class="jxr_javadoccomment">      * @param level level, may not be null.</em>
<a name="1609" href="#1609">1609</a> <em class="jxr_javadoccomment">      * @param bundleName resource bundle name, may be null.</em>
<a name="1610" href="#1610">1610</a> <em class="jxr_javadoccomment">     * @param key key, may be null.</em>
<a name="1611" href="#1611">1611</a> <em class="jxr_javadoccomment">     * @param param0 Parameter to the log message.</em>
<a name="1612" href="#1612">1612</a> <em class="jxr_javadoccomment">     * @param param1 Parameter to the log message.</em>
<a name="1613" href="#1613">1613</a> <em class="jxr_javadoccomment">      */</em>
<a name="1614" href="#1614">1614</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> logrb(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger,
<a name="1615" href="#1615">1615</a>                              <strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Level.html">Level</a> level,
<a name="1616" href="#1616">1616</a>                              <strong class="jxr_keyword">final</strong> String bundleName,
<a name="1617" href="#1617">1617</a>                              <strong class="jxr_keyword">final</strong> String key,
<a name="1618" href="#1618">1618</a>                              <strong class="jxr_keyword">final</strong> Object param0,
<a name="1619" href="#1619">1619</a>                              <strong class="jxr_keyword">final</strong> Object param1) {
<a name="1620" href="#1620">1620</a>         <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(level)) {
<a name="1621" href="#1621">1621</a>             forcedLog(logger, level,
<a name="1622" href="#1622">1622</a>                     format(bundleName, key, toArray(param0, param1)));
<a name="1623" href="#1623">1623</a>         }
<a name="1624" href="#1624">1624</a>     }
<a name="1625" href="#1625">1625</a> 
<a name="1626" href="#1626">1626</a> 
<a name="1627" href="#1627">1627</a>     <em class="jxr_javadoccomment">/**</em>
<a name="1628" href="#1628">1628</a> <em class="jxr_javadoccomment">      * Log a parameterized message using a pattern from a resource bundle.</em>
<a name="1629" href="#1629">1629</a> <em class="jxr_javadoccomment">      * @param logger logger, may not be null.</em>
<a name="1630" href="#1630">1630</a> <em class="jxr_javadoccomment">      * @param level level, may not be null.</em>
<a name="1631" href="#1631">1631</a> <em class="jxr_javadoccomment">      * @param bundleName resource bundle name, may be null.</em>
<a name="1632" href="#1632">1632</a> <em class="jxr_javadoccomment">     * @param key key, may be null.</em>
<a name="1633" href="#1633">1633</a> <em class="jxr_javadoccomment">     * @param param0 Parameter to the log message.</em>
<a name="1634" href="#1634">1634</a> <em class="jxr_javadoccomment">     * @param param1 Parameter to the log message.</em>
<a name="1635" href="#1635">1635</a> <em class="jxr_javadoccomment">     * @param param2 Parameter to the log message.</em>
<a name="1636" href="#1636">1636</a> <em class="jxr_javadoccomment">      */</em>
<a name="1637" href="#1637">1637</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> logrb(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger,
<a name="1638" href="#1638">1638</a>                              <strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Level.html">Level</a> level,
<a name="1639" href="#1639">1639</a>                              <strong class="jxr_keyword">final</strong> String bundleName,
<a name="1640" href="#1640">1640</a>                              <strong class="jxr_keyword">final</strong> String key,
<a name="1641" href="#1641">1641</a>                              <strong class="jxr_keyword">final</strong> Object param0,
<a name="1642" href="#1642">1642</a>                              <strong class="jxr_keyword">final</strong> Object param1,
<a name="1643" href="#1643">1643</a>                              <strong class="jxr_keyword">final</strong> Object param2) {
<a name="1644" href="#1644">1644</a>         <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(level)) {
<a name="1645" href="#1645">1645</a>             forcedLog(logger, level,
<a name="1646" href="#1646">1646</a>                     format(bundleName, key, toArray(param0, param1, param2)));
<a name="1647" href="#1647">1647</a>         }
<a name="1648" href="#1648">1648</a>     }
<a name="1649" href="#1649">1649</a> 
<a name="1650" href="#1650">1650</a> 
<a name="1651" href="#1651">1651</a>     <em class="jxr_javadoccomment">/**</em>
<a name="1652" href="#1652">1652</a> <em class="jxr_javadoccomment">      * Log a parameterized message using a pattern from a resource bundle.</em>
<a name="1653" href="#1653">1653</a> <em class="jxr_javadoccomment">      * @param logger logger, may not be null.</em>
<a name="1654" href="#1654">1654</a> <em class="jxr_javadoccomment">      * @param level level, may not be null.</em>
<a name="1655" href="#1655">1655</a> <em class="jxr_javadoccomment">      * @param bundleName resource bundle name, may be null.</em>
<a name="1656" href="#1656">1656</a> <em class="jxr_javadoccomment">     * @param key key, may be null.</em>
<a name="1657" href="#1657">1657</a> <em class="jxr_javadoccomment">     * @param param0 Parameter to the log message.</em>
<a name="1658" href="#1658">1658</a> <em class="jxr_javadoccomment">     * @param param1 Parameter to the log message.</em>
<a name="1659" href="#1659">1659</a> <em class="jxr_javadoccomment">     * @param param2 Parameter to the log message.</em>
<a name="1660" href="#1660">1660</a> <em class="jxr_javadoccomment">     * @param param3 Parameter to the log message.</em>
<a name="1661" href="#1661">1661</a> <em class="jxr_javadoccomment">      */</em>
<a name="1662" href="#1662">1662</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> logrb(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger,
<a name="1663" href="#1663">1663</a>                              <strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Level.html">Level</a> level,
<a name="1664" href="#1664">1664</a>                              <strong class="jxr_keyword">final</strong> String bundleName,
<a name="1665" href="#1665">1665</a>                              <strong class="jxr_keyword">final</strong> String key,
<a name="1666" href="#1666">1666</a>                              <strong class="jxr_keyword">final</strong> Object param0,
<a name="1667" href="#1667">1667</a>                              <strong class="jxr_keyword">final</strong> Object param1,
<a name="1668" href="#1668">1668</a>                              <strong class="jxr_keyword">final</strong> Object param2,
<a name="1669" href="#1669">1669</a>                              <strong class="jxr_keyword">final</strong> Object param3) {
<a name="1670" href="#1670">1670</a>         <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(level)) {
<a name="1671" href="#1671">1671</a>             forcedLog(logger, level,
<a name="1672" href="#1672">1672</a>                     format(bundleName, key,
<a name="1673" href="#1673">1673</a>                             toArray(param0, param1, param2, param3)));
<a name="1674" href="#1674">1674</a>         }
<a name="1675" href="#1675">1675</a>     }
<a name="1676" href="#1676">1676</a> 
<a name="1677" href="#1677">1677</a> }
</pre>
<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
</html>

