<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<title>AbstractLogger xref</title>
<link type="text/css" rel="stylesheet" href="../../../../../stylesheet.css" />
</head>
<body>
<div id="overview"><a href="../../../../../../apidocs/org/apache/logging/log4j/spi/AbstractLogger.html">View Javadoc</a></div><pre>

<a class="jxr_linenumber" name="1" href="#1">1</a>   <em class="jxr_comment">/*</em>
<a class="jxr_linenumber" name="2" href="#2">2</a>   <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em>
<a class="jxr_linenumber" name="3" href="#3">3</a>   <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em>
<a class="jxr_linenumber" name="4" href="#4">4</a>   <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em>
<a class="jxr_linenumber" 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 class="jxr_linenumber" name="6" href="#6">6</a>   <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em>
<a class="jxr_linenumber" name="7" href="#7">7</a>   <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em>
<a class="jxr_linenumber" name="8" href="#8">8</a>   <em class="jxr_comment"> *</em>
<a class="jxr_linenumber" 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 class="jxr_linenumber" name="10" href="#10">10</a>  <em class="jxr_comment"> *</em>
<a class="jxr_linenumber" name="11" href="#11">11</a>  <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em>
<a class="jxr_linenumber" name="12" href="#12">12</a>  <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em>
<a class="jxr_linenumber" name="13" href="#13">13</a>  <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em>
<a class="jxr_linenumber" name="14" href="#14">14</a>  <em class="jxr_comment"> * See the license for the specific language governing permissions and</em>
<a class="jxr_linenumber" name="15" href="#15">15</a>  <em class="jxr_comment"> * limitations under the license.</em>
<a class="jxr_linenumber" name="16" href="#16">16</a>  <em class="jxr_comment"> */</em>
<a class="jxr_linenumber" name="17" href="#17">17</a>  <strong class="jxr_keyword">package</strong> org.apache.logging.log4j.spi;
<a class="jxr_linenumber" name="18" href="#18">18</a>  
<a class="jxr_linenumber" name="19" href="#19">19</a>  <strong class="jxr_keyword">import</strong> org.apache.logging.log4j.Level;
<a class="jxr_linenumber" name="20" href="#20">20</a>  <strong class="jxr_keyword">import</strong> org.apache.logging.log4j.Logger;
<a class="jxr_linenumber" name="21" href="#21">21</a>  <strong class="jxr_keyword">import</strong> org.apache.logging.log4j.Marker;
<a class="jxr_linenumber" name="22" href="#22">22</a>  <strong class="jxr_keyword">import</strong> org.apache.logging.log4j.MarkerManager;
<a class="jxr_linenumber" name="23" href="#23">23</a>  <strong class="jxr_keyword">import</strong> org.apache.logging.log4j.message.Message;
<a class="jxr_linenumber" name="24" href="#24">24</a>  <strong class="jxr_keyword">import</strong> org.apache.logging.log4j.message.ObjectMessage;
<a class="jxr_linenumber" name="25" href="#25">25</a>  <strong class="jxr_keyword">import</strong> org.apache.logging.log4j.message.ParameterizedMessage;
<a class="jxr_linenumber" name="26" href="#26">26</a>  <strong class="jxr_keyword">import</strong> org.apache.logging.log4j.message.SimpleMessage;
<a class="jxr_linenumber" name="27" href="#27">27</a>  
<a class="jxr_linenumber" name="28" href="#28">28</a>  <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="29" href="#29">29</a>  <em class="jxr_javadoccomment"> * Base implementation of a Logger. It is highly recommended that any Logger implementation extend this class.</em>
<a class="jxr_linenumber" name="30" href="#30">30</a>  <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="31" href="#31">31</a>  <em class="jxr_javadoccomment"> * @doubt See Jira LOG4J2-39.</em>
<a class="jxr_linenumber" name="32" href="#32">32</a>  <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="33" href="#33">33</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">abstract</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../org/apache/logging/log4j/spi/AbstractLogger.html">AbstractLogger</a> <strong class="jxr_keyword">implements</strong> <a href="../../../../../org/apache/logging/log4j/Logger.html">Logger</a> {
<a class="jxr_linenumber" name="34" href="#34">34</a>  
<a class="jxr_linenumber" name="35" href="#35">35</a>      <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="36" href="#36">36</a>  <em class="jxr_javadoccomment">     * Marker for flow tracing.</em>
<a class="jxr_linenumber" name="37" href="#37">37</a>  <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="38" href="#38">38</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/logging/log4j/Marker.html">Marker</a> FLOW_MARKER = MarkerManager.getMarker(<span class="jxr_string">"FLOW"</span>);
<a class="jxr_linenumber" name="39" href="#39">39</a>      <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="40" href="#40">40</a>  <em class="jxr_javadoccomment">     * Marker for method entry tracing.</em>
<a class="jxr_linenumber" name="41" href="#41">41</a>  <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="42" href="#42">42</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/logging/log4j/Marker.html">Marker</a> ENTRY_MARKER = MarkerManager.getMarker(<span class="jxr_string">"ENTRY"</span>, FLOW_MARKER);
<a class="jxr_linenumber" name="43" href="#43">43</a>      <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="44" href="#44">44</a>  <em class="jxr_javadoccomment">     * Marker for method exit tracing.</em>
<a class="jxr_linenumber" name="45" href="#45">45</a>  <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="46" href="#46">46</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/logging/log4j/Marker.html">Marker</a> EXIT_MARKER = MarkerManager.getMarker(<span class="jxr_string">"EXIT"</span>, FLOW_MARKER);
<a class="jxr_linenumber" name="47" href="#47">47</a>      <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="48" href="#48">48</a>  <em class="jxr_javadoccomment">     * Marker for exception tracing.</em>
<a class="jxr_linenumber" name="49" href="#49">49</a>  <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="50" href="#50">50</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/logging/log4j/Marker.html">Marker</a> EXCEPTION_MARKER = MarkerManager.getMarker(<span class="jxr_string">"EXCEPTION"</span>);
<a class="jxr_linenumber" name="51" href="#51">51</a>      <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="52" href="#52">52</a>  <em class="jxr_javadoccomment">     * Marker for throwing exceptions.</em>
<a class="jxr_linenumber" name="53" href="#53">53</a>  <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="54" href="#54">54</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/logging/log4j/Marker.html">Marker</a> THROWING_MARKER = MarkerManager.getMarker(<span class="jxr_string">"THROWING"</span>, EXCEPTION_MARKER);
<a class="jxr_linenumber" name="55" href="#55">55</a>      <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="56" href="#56">56</a>  <em class="jxr_javadoccomment">     * Marker for catching exceptions.</em>
<a class="jxr_linenumber" name="57" href="#57">57</a>  <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="58" href="#58">58</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/logging/log4j/Marker.html">Marker</a> CATCHING_MARKER = MarkerManager.getMarker(<span class="jxr_string">"CATCHING"</span>, EXCEPTION_MARKER);
<a class="jxr_linenumber" name="59" href="#59">59</a>  
<a class="jxr_linenumber" name="60" href="#60">60</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String FQCN = AbstractLogger.<strong class="jxr_keyword">class</strong>.getName();
<a class="jxr_linenumber" name="61" href="#61">61</a>  
<a class="jxr_linenumber" name="62" href="#62">62</a>      <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="63" href="#63">63</a>  <em class="jxr_javadoccomment">     * Log entry to a method.</em>
<a class="jxr_linenumber" name="64" href="#64">64</a>  <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="65" href="#65">65</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> entry() {
<a class="jxr_linenumber" name="66" href="#66">66</a>          <strong class="jxr_keyword">if</strong> (isEnabled(Level.TRACE, ENTRY_MARKER, (Object) <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>)) {
<a class="jxr_linenumber" name="67" href="#67">67</a>              log(ENTRY_MARKER, FQCN, Level.TRACE, <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/logging/log4j/message/SimpleMessage.html">SimpleMessage</a>(<span class="jxr_string">" entry"</span>), <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="68" href="#68">68</a>          }
<a class="jxr_linenumber" name="69" href="#69">69</a>      }
<a class="jxr_linenumber" name="70" href="#70">70</a>  
<a class="jxr_linenumber" name="71" href="#71">71</a>  
<a class="jxr_linenumber" name="72" href="#72">72</a>      <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="73" href="#73">73</a>  <em class="jxr_javadoccomment">     * Log entry to a method.</em>
<a class="jxr_linenumber" name="74" href="#74">74</a>  <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="75" href="#75">75</a>  <em class="jxr_javadoccomment">     * @param params The parameters to the method.</em>
<a class="jxr_linenumber" name="76" href="#76">76</a>  <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="77" href="#77">77</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> entry(Object... params) {
<a class="jxr_linenumber" name="78" href="#78">78</a>          <strong class="jxr_keyword">if</strong> (isEnabled(Level.TRACE, ENTRY_MARKER, (Object) <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>)) {
<a class="jxr_linenumber" name="79" href="#79">79</a>              log(ENTRY_MARKER, FQCN, Level.TRACE, entryMsg(params.length, params), <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="80" href="#80">80</a>          }
<a class="jxr_linenumber" name="81" href="#81">81</a>      }
<a class="jxr_linenumber" name="82" href="#82">82</a>  
<a class="jxr_linenumber" name="83" href="#83">83</a>      <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="84" href="#84">84</a>  <em class="jxr_javadoccomment">     * Log exit from a method.</em>
<a class="jxr_linenumber" name="85" href="#85">85</a>  <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="86" href="#86">86</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> exit() {
<a class="jxr_linenumber" name="87" href="#87">87</a>          <strong class="jxr_keyword">if</strong> (isEnabled(Level.TRACE, EXIT_MARKER, (Object) <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>)) {
<a class="jxr_linenumber" name="88" href="#88">88</a>              log(EXIT_MARKER, FQCN, Level.TRACE, exitMsg(<strong class="jxr_keyword">null</strong>), <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="89" href="#89">89</a>          }
<a class="jxr_linenumber" name="90" href="#90">90</a>      }
<a class="jxr_linenumber" name="91" href="#91">91</a>  
<a class="jxr_linenumber" name="92" href="#92">92</a>      <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="93" href="#93">93</a>  <em class="jxr_javadoccomment">     * Log exiting from a method with the result.</em>
<a class="jxr_linenumber" name="94" href="#94">94</a>  <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="95" href="#95">95</a>  <em class="jxr_javadoccomment">     * @param result The result being returned from the method call.</em>
<a class="jxr_linenumber" name="96" href="#96">96</a>  <em class="jxr_javadoccomment">     * @return the Throwable.</em>
<a class="jxr_linenumber" name="97" href="#97">97</a>  <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="98" href="#98">98</a>      <strong class="jxr_keyword">public</strong> &lt;R&gt; R exit(R result) {
<a class="jxr_linenumber" name="99" href="#99">99</a>          <strong class="jxr_keyword">if</strong> (isEnabled(Level.TRACE, EXIT_MARKER, (Object) <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>)) {
<a class="jxr_linenumber" name="100" href="#100">100</a>             log(EXIT_MARKER, FQCN, Level.TRACE, exitMsg(result), <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="101" href="#101">101</a>         }
<a class="jxr_linenumber" name="102" href="#102">102</a>         <strong class="jxr_keyword">return</strong> result;
<a class="jxr_linenumber" name="103" href="#103">103</a>     }
<a class="jxr_linenumber" name="104" href="#104">104</a> 
<a class="jxr_linenumber" name="105" href="#105">105</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="106" href="#106">106</a> <em class="jxr_javadoccomment">     * Log an exception or error to be thrown.</em>
<a class="jxr_linenumber" name="107" href="#107">107</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="108" href="#108">108</a> <em class="jxr_javadoccomment">     * @param t The Throwable.</em>
<a class="jxr_linenumber" name="109" href="#109">109</a> <em class="jxr_javadoccomment">     * @return the Throwable.</em>
<a class="jxr_linenumber" name="110" href="#110">110</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="111" href="#111">111</a>     <strong class="jxr_keyword">public</strong> &lt;T <strong class="jxr_keyword">extends</strong> Throwable&gt; T throwing(T t) {
<a class="jxr_linenumber" name="112" href="#112">112</a>         <strong class="jxr_keyword">if</strong> (isEnabled(Level.ERROR, THROWING_MARKER, (Object) <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>)) {
<a class="jxr_linenumber" name="113" href="#113">113</a>             log(THROWING_MARKER, FQCN, Level.ERROR, <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/logging/log4j/message/SimpleMessage.html">SimpleMessage</a>(<span class="jxr_string">"throwing"</span>), t);
<a class="jxr_linenumber" name="114" href="#114">114</a>         }
<a class="jxr_linenumber" name="115" href="#115">115</a>         <strong class="jxr_keyword">return</strong> t;
<a class="jxr_linenumber" name="116" href="#116">116</a>     }
<a class="jxr_linenumber" name="117" href="#117">117</a> 
<a class="jxr_linenumber" name="118" href="#118">118</a> 
<a class="jxr_linenumber" name="119" href="#119">119</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="120" href="#120">120</a> <em class="jxr_javadoccomment">     * Log an exception or error to be thrown.</em>
<a class="jxr_linenumber" name="121" href="#121">121</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="122" href="#122">122</a> <em class="jxr_javadoccomment">     * @param level The logging Level.</em>
<a class="jxr_linenumber" name="123" href="#123">123</a> <em class="jxr_javadoccomment">     * @param t     The Throwable.</em>
<a class="jxr_linenumber" name="124" href="#124">124</a> <em class="jxr_javadoccomment">     * @return the Throwable.</em>
<a class="jxr_linenumber" name="125" href="#125">125</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="126" href="#126">126</a>     <strong class="jxr_keyword">public</strong> &lt;T <strong class="jxr_keyword">extends</strong> Throwable&gt; T throwing(<a href="../../../../../org/apache/logging/log4j/Level.html">Level</a> level, T t) {
<a class="jxr_linenumber" name="127" href="#127">127</a>         <strong class="jxr_keyword">if</strong> (isEnabled(level, THROWING_MARKER, (Object) <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>)) {
<a class="jxr_linenumber" name="128" href="#128">128</a>             log(THROWING_MARKER, FQCN, level, <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/logging/log4j/message/SimpleMessage.html">SimpleMessage</a>(<span class="jxr_string">"throwing"</span>), t);
<a class="jxr_linenumber" name="129" href="#129">129</a>         }
<a class="jxr_linenumber" name="130" href="#130">130</a>         <strong class="jxr_keyword">return</strong> t;
<a class="jxr_linenumber" name="131" href="#131">131</a>     }
<a class="jxr_linenumber" name="132" href="#132">132</a> 
<a class="jxr_linenumber" name="133" href="#133">133</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="134" href="#134">134</a> <em class="jxr_javadoccomment">     * Log an exception or error that has been caught.</em>
<a class="jxr_linenumber" name="135" href="#135">135</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="136" href="#136">136</a> <em class="jxr_javadoccomment">     * @param t The Throwable.</em>
<a class="jxr_linenumber" name="137" href="#137">137</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="138" href="#138">138</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> catching(Throwable t) {
<a class="jxr_linenumber" name="139" href="#139">139</a>         <strong class="jxr_keyword">if</strong> (isEnabled(Level.DEBUG, THROWING_MARKER, (Object) <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>)) {
<a class="jxr_linenumber" name="140" href="#140">140</a>             log(THROWING_MARKER, FQCN, Level.DEBUG, <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/logging/log4j/message/SimpleMessage.html">SimpleMessage</a>(<span class="jxr_string">"catching"</span>), t);
<a class="jxr_linenumber" name="141" href="#141">141</a>         }
<a class="jxr_linenumber" name="142" href="#142">142</a>     }
<a class="jxr_linenumber" name="143" href="#143">143</a> 
<a class="jxr_linenumber" name="144" href="#144">144</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="145" href="#145">145</a> <em class="jxr_javadoccomment">     * Log an exception or error that has been caught.</em>
<a class="jxr_linenumber" name="146" href="#146">146</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="147" href="#147">147</a> <em class="jxr_javadoccomment">     * @param level The logging Level.</em>
<a class="jxr_linenumber" name="148" href="#148">148</a> <em class="jxr_javadoccomment">     * @param t     The Throwable.</em>
<a class="jxr_linenumber" name="149" href="#149">149</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="150" href="#150">150</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> catching(<a href="../../../../../org/apache/logging/log4j/Level.html">Level</a> level, Throwable t) {
<a class="jxr_linenumber" name="151" href="#151">151</a>         <strong class="jxr_keyword">if</strong> (isEnabled(level, THROWING_MARKER, (Object) <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>)) {
<a class="jxr_linenumber" name="152" href="#152">152</a>             log(THROWING_MARKER, FQCN, level, <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/logging/log4j/message/SimpleMessage.html">SimpleMessage</a>(<span class="jxr_string">"catching"</span>), t);
<a class="jxr_linenumber" name="153" href="#153">153</a>         }
<a class="jxr_linenumber" name="154" href="#154">154</a>     }
<a class="jxr_linenumber" name="155" href="#155">155</a> 
<a class="jxr_linenumber" name="156" href="#156">156</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="157" href="#157">157</a> <em class="jxr_javadoccomment">     * Log a message object with the {@link org.apache.logging.log4j.Level#TRACE TRACE} level.</em>
<a class="jxr_linenumber" name="158" href="#158">158</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="159" href="#159">159</a> <em class="jxr_javadoccomment">     * @param message the message object to log.</em>
<a class="jxr_linenumber" name="160" href="#160">160</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="161" href="#161">161</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> trace(String message) {
<a class="jxr_linenumber" name="162" href="#162">162</a>         <strong class="jxr_keyword">if</strong> (isEnabled(Level.TRACE, <strong class="jxr_keyword">null</strong>, message)) {
<a class="jxr_linenumber" name="163" href="#163">163</a>             log(<strong class="jxr_keyword">null</strong>, FQCN, Level.TRACE, <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/logging/log4j/message/SimpleMessage.html">SimpleMessage</a>(message), <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="164" href="#164">164</a>         }
<a class="jxr_linenumber" name="165" href="#165">165</a>     }
<a class="jxr_linenumber" name="166" href="#166">166</a> 
<a class="jxr_linenumber" name="167" href="#167">167</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="168" href="#168">168</a> <em class="jxr_javadoccomment">     * Log a message object with the {@link org.apache.logging.log4j.Level#TRACE TRACE} level.</em>
<a class="jxr_linenumber" name="169" href="#169">169</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="170" href="#170">170</a> <em class="jxr_javadoccomment">     * @param marker the marker data specific to this log statement.</em>
<a class="jxr_linenumber" name="171" href="#171">171</a> <em class="jxr_javadoccomment">     * @param message the message object to log.</em>
<a class="jxr_linenumber" name="172" href="#172">172</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="173" href="#173">173</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> trace(<a href="../../../../../org/apache/logging/log4j/Marker.html">Marker</a> marker, String message) {
<a class="jxr_linenumber" name="174" href="#174">174</a>         <strong class="jxr_keyword">if</strong> (isEnabled(Level.TRACE, marker, message)) {
<a class="jxr_linenumber" name="175" href="#175">175</a>             log(marker, FQCN, Level.TRACE, <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/logging/log4j/message/SimpleMessage.html">SimpleMessage</a>(message), <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="176" href="#176">176</a>         }
<a class="jxr_linenumber" name="177" href="#177">177</a>     }
<a class="jxr_linenumber" name="178" href="#178">178</a> 
<a class="jxr_linenumber" name="179" href="#179">179</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="180" href="#180">180</a> <em class="jxr_javadoccomment">     * Log a message at the &lt;code&gt;TRACE&lt;/code&gt; level including the</em>
<a class="jxr_linenumber" name="181" href="#181">181</a> <em class="jxr_javadoccomment">     * stack trace of the {@link Throwable}&lt;code&gt;t&lt;/code&gt; passed as parameter.</em>
<a class="jxr_linenumber" name="182" href="#182">182</a> <em class="jxr_javadoccomment">     * &lt;p/&gt;</em>
<a class="jxr_linenumber" name="183" href="#183">183</a> <em class="jxr_javadoccomment">     * &lt;p&gt;</em>
<a class="jxr_linenumber" name="184" href="#184">184</a> <em class="jxr_javadoccomment">     * See {@link #debug(String)} form for more detailed information.</em>
<a class="jxr_linenumber" name="185" href="#185">185</a> <em class="jxr_javadoccomment">     * &lt;/p&gt;</em>
<a class="jxr_linenumber" name="186" href="#186">186</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="187" href="#187">187</a> <em class="jxr_javadoccomment">     * @param message the message object to log.</em>
<a class="jxr_linenumber" name="188" href="#188">188</a> <em class="jxr_javadoccomment">     * @param t       the exception to log, including its stack trace.</em>
<a class="jxr_linenumber" name="189" href="#189">189</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="190" href="#190">190</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> trace(String message, Throwable t) {
<a class="jxr_linenumber" name="191" href="#191">191</a>         <strong class="jxr_keyword">if</strong> (isEnabled(Level.TRACE, <strong class="jxr_keyword">null</strong>, message, t)) {
<a class="jxr_linenumber" name="192" href="#192">192</a>             log(<strong class="jxr_keyword">null</strong>, FQCN, Level.TRACE, <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/logging/log4j/message/SimpleMessage.html">SimpleMessage</a>(message), t);
<a class="jxr_linenumber" name="193" href="#193">193</a>         }
<a class="jxr_linenumber" name="194" href="#194">194</a>     }
<a class="jxr_linenumber" name="195" href="#195">195</a> 
<a class="jxr_linenumber" name="196" href="#196">196</a> 
<a class="jxr_linenumber" name="197" href="#197">197</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="198" href="#198">198</a> <em class="jxr_javadoccomment">     * Log a message at the &lt;code&gt;TRACE&lt;/code&gt; level including the</em>
<a class="jxr_linenumber" name="199" href="#199">199</a> <em class="jxr_javadoccomment">     * stack trace of the {@link Throwable}&lt;code&gt;t&lt;/code&gt; passed as parameter.</em>
<a class="jxr_linenumber" name="200" href="#200">200</a> <em class="jxr_javadoccomment">     * &lt;p/&gt;</em>
<a class="jxr_linenumber" name="201" href="#201">201</a> <em class="jxr_javadoccomment">     * &lt;p&gt;</em>
<a class="jxr_linenumber" name="202" href="#202">202</a> <em class="jxr_javadoccomment">     * See {@link #debug(String)} form for more detailed information.</em>
<a class="jxr_linenumber" name="203" href="#203">203</a> <em class="jxr_javadoccomment">     * &lt;/p&gt;</em>
<a class="jxr_linenumber" name="204" href="#204">204</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="205" href="#205">205</a> <em class="jxr_javadoccomment">     * @param marker the marker data specific to this log statement.</em>
<a class="jxr_linenumber" name="206" href="#206">206</a> <em class="jxr_javadoccomment">     * @param message the message object to log.</em>
<a class="jxr_linenumber" name="207" href="#207">207</a> <em class="jxr_javadoccomment">     * @param t       the exception to log, including its stack trace.</em>
<a class="jxr_linenumber" name="208" href="#208">208</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="209" href="#209">209</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> trace(<a href="../../../../../org/apache/logging/log4j/Marker.html">Marker</a> marker, String message, Throwable t) {
<a class="jxr_linenumber" name="210" href="#210">210</a>         <strong class="jxr_keyword">if</strong> (isEnabled(Level.TRACE, marker, message, t)) {
<a class="jxr_linenumber" name="211" href="#211">211</a>             log(marker, FQCN, Level.TRACE, <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/logging/log4j/message/SimpleMessage.html">SimpleMessage</a>(message), t);
<a class="jxr_linenumber" name="212" href="#212">212</a>         }
<a class="jxr_linenumber" name="213" href="#213">213</a>     }
<a class="jxr_linenumber" name="214" href="#214">214</a> 
<a class="jxr_linenumber" name="215" href="#215">215</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="216" href="#216">216</a> <em class="jxr_javadoccomment">     * Log a message object with the {@link org.apache.logging.log4j.Level#TRACE TRACE} level.</em>
<a class="jxr_linenumber" name="217" href="#217">217</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="218" href="#218">218</a> <em class="jxr_javadoccomment">     * @param message the message object to log.</em>
<a class="jxr_linenumber" name="219" href="#219">219</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="220" href="#220">220</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> trace(Object message) {
<a class="jxr_linenumber" name="221" href="#221">221</a>         <strong class="jxr_keyword">if</strong> (isEnabled(Level.TRACE, <strong class="jxr_keyword">null</strong>, message, <strong class="jxr_keyword">null</strong>)) {
<a class="jxr_linenumber" name="222" href="#222">222</a>             log(<strong class="jxr_keyword">null</strong>, FQCN, Level.TRACE, <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/logging/log4j/message/ObjectMessage.html">ObjectMessage</a>(message), <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="223" href="#223">223</a>         }
<a class="jxr_linenumber" name="224" href="#224">224</a>     }
<a class="jxr_linenumber" name="225" href="#225">225</a> 
<a class="jxr_linenumber" name="226" href="#226">226</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="227" href="#227">227</a> <em class="jxr_javadoccomment">     * Log a message object with the {@link org.apache.logging.log4j.Level#TRACE TRACE} level.</em>
<a class="jxr_linenumber" name="228" href="#228">228</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="229" href="#229">229</a> <em class="jxr_javadoccomment">     * @param marker the marker data specific to this log statement.</em>
<a class="jxr_linenumber" name="230" href="#230">230</a> <em class="jxr_javadoccomment">     * @param message the message object to log.</em>
<a class="jxr_linenumber" name="231" href="#231">231</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="232" href="#232">232</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> trace(<a href="../../../../../org/apache/logging/log4j/Marker.html">Marker</a> marker, Object message) {
<a class="jxr_linenumber" name="233" href="#233">233</a>         <strong class="jxr_keyword">if</strong> (isEnabled(Level.TRACE, marker, message, <strong class="jxr_keyword">null</strong>)) {
<a class="jxr_linenumber" name="234" href="#234">234</a>             log(marker, FQCN, Level.TRACE, <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/logging/log4j/message/ObjectMessage.html">ObjectMessage</a>(message), <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="235" href="#235">235</a>         }
<a class="jxr_linenumber" name="236" href="#236">236</a>     }
<a class="jxr_linenumber" name="237" href="#237">237</a> 
<a class="jxr_linenumber" name="238" href="#238">238</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="239" href="#239">239</a> <em class="jxr_javadoccomment">     * Log a message at the &lt;code&gt;TRACE&lt;/code&gt; level including the</em>
<a class="jxr_linenumber" name="240" href="#240">240</a> <em class="jxr_javadoccomment">     * stack trace of the {@link Throwable}&lt;code&gt;t&lt;/code&gt; passed as parameter.</em>
<a class="jxr_linenumber" name="241" href="#241">241</a> <em class="jxr_javadoccomment">     * &lt;p/&gt;</em>
<a class="jxr_linenumber" name="242" href="#242">242</a> <em class="jxr_javadoccomment">     * &lt;p&gt;</em>
<a class="jxr_linenumber" name="243" href="#243">243</a> <em class="jxr_javadoccomment">     * See {@link #debug(String)} form for more detailed information.</em>
<a class="jxr_linenumber" name="244" href="#244">244</a> <em class="jxr_javadoccomment">     * &lt;/p&gt;</em>
<a class="jxr_linenumber" name="245" href="#245">245</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="246" href="#246">246</a> <em class="jxr_javadoccomment">     * @param message the message object to log.</em>
<a class="jxr_linenumber" name="247" href="#247">247</a> <em class="jxr_javadoccomment">     * @param t       the exception to log, including its stack trace.</em>
<a class="jxr_linenumber" name="248" href="#248">248</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="249" href="#249">249</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> trace(Object message, Throwable t) {
<a class="jxr_linenumber" name="250" href="#250">250</a>         <strong class="jxr_keyword">if</strong> (isEnabled(Level.TRACE, <strong class="jxr_keyword">null</strong>, message, t)) {
<a class="jxr_linenumber" name="251" href="#251">251</a>             log(<strong class="jxr_keyword">null</strong>, FQCN, Level.TRACE, <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/logging/log4j/message/ObjectMessage.html">ObjectMessage</a>(message), t);
<a class="jxr_linenumber" name="252" href="#252">252</a>         }
<a class="jxr_linenumber" name="253" href="#253">253</a>     }
<a class="jxr_linenumber" name="254" href="#254">254</a> 
<a class="jxr_linenumber" name="255" href="#255">255</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="256" href="#256">256</a> <em class="jxr_javadoccomment">     * Log a message at the &lt;code&gt;TRACE&lt;/code&gt; level including the</em>
<a class="jxr_linenumber" name="257" href="#257">257</a> <em class="jxr_javadoccomment">     * stack trace of the {@link Throwable}&lt;code&gt;t&lt;/code&gt; passed as parameter.</em>
<a class="jxr_linenumber" name="258" href="#258">258</a> <em class="jxr_javadoccomment">     * &lt;p/&gt;</em>
<a class="jxr_linenumber" name="259" href="#259">259</a> <em class="jxr_javadoccomment">     * &lt;p&gt;</em>
<a class="jxr_linenumber" name="260" href="#260">260</a> <em class="jxr_javadoccomment">     * See {@link #debug(String)} form for more detailed information.</em>
<a class="jxr_linenumber" name="261" href="#261">261</a> <em class="jxr_javadoccomment">     * &lt;/p&gt;</em>
<a class="jxr_linenumber" name="262" href="#262">262</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="263" href="#263">263</a> <em class="jxr_javadoccomment">     * @param marker the marker data specific to this log statement.</em>
<a class="jxr_linenumber" name="264" href="#264">264</a> <em class="jxr_javadoccomment">     * @param message the message object to log.</em>
<a class="jxr_linenumber" name="265" href="#265">265</a> <em class="jxr_javadoccomment">     * @param t       the exception to log, including its stack trace.</em>
<a class="jxr_linenumber" name="266" href="#266">266</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="267" href="#267">267</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> trace(<a href="../../../../../org/apache/logging/log4j/Marker.html">Marker</a> marker, Object message, Throwable t) {
<a class="jxr_linenumber" name="268" href="#268">268</a>         <strong class="jxr_keyword">if</strong> (isEnabled(Level.TRACE, marker, message, t)) {
<a class="jxr_linenumber" name="269" href="#269">269</a>             log(marker, FQCN, Level.TRACE, <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/logging/log4j/message/ObjectMessage.html">ObjectMessage</a>(message), t);
<a class="jxr_linenumber" name="270" href="#270">270</a>         }
<a class="jxr_linenumber" name="271" href="#271">271</a>     }
<a class="jxr_linenumber" name="272" href="#272">272</a> 
<a class="jxr_linenumber" name="273" href="#273">273</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="274" href="#274">274</a> <em class="jxr_javadoccomment">     * Log a message with parameters at the &lt;code&gt;TRACE&lt;/code&gt; level.</em>
<a class="jxr_linenumber" name="275" href="#275">275</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="276" href="#276">276</a> <em class="jxr_javadoccomment">     * @param message the message to log.</em>
<a class="jxr_linenumber" name="277" href="#277">277</a> <em class="jxr_javadoccomment">     * @param params  parameters to the message.</em>
<a class="jxr_linenumber" name="278" href="#278">278</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="279" href="#279">279</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> trace(String message, Object... params) {
<a class="jxr_linenumber" name="280" href="#280">280</a>         <strong class="jxr_keyword">if</strong> (isEnabled(Level.TRACE, <strong class="jxr_keyword">null</strong>, message, params)) {
<a class="jxr_linenumber" name="281" href="#281">281</a>             <a href="../../../../../org/apache/logging/log4j/message/ParameterizedMessage.html">ParameterizedMessage</a> msg = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/logging/log4j/message/ParameterizedMessage.html">ParameterizedMessage</a>(message, params);
<a class="jxr_linenumber" name="282" href="#282">282</a>             log(<strong class="jxr_keyword">null</strong>, FQCN, Level.TRACE, msg, msg.getThrowable());
<a class="jxr_linenumber" name="283" href="#283">283</a>         }
<a class="jxr_linenumber" name="284" href="#284">284</a>     }
<a class="jxr_linenumber" name="285" href="#285">285</a> 
<a class="jxr_linenumber" name="286" href="#286">286</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="287" href="#287">287</a> <em class="jxr_javadoccomment">     * Log a message with parameters at the &lt;code&gt;TRACE&lt;/code&gt; level.</em>
<a class="jxr_linenumber" name="288" href="#288">288</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="289" href="#289">289</a> <em class="jxr_javadoccomment">     * @param marker the marker data specific to this log statement.</em>
<a class="jxr_linenumber" name="290" href="#290">290</a> <em class="jxr_javadoccomment">     * @param message the message to log.</em>
<a class="jxr_linenumber" name="291" href="#291">291</a> <em class="jxr_javadoccomment">     * @param params  parameters to the message.</em>
<a class="jxr_linenumber" name="292" href="#292">292</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="293" href="#293">293</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> trace(<a href="../../../../../org/apache/logging/log4j/Marker.html">Marker</a> marker, String message, Object... params) {
<a class="jxr_linenumber" name="294" href="#294">294</a>         <strong class="jxr_keyword">if</strong> (isEnabled(Level.TRACE, marker, message, params)) {
<a class="jxr_linenumber" name="295" href="#295">295</a>             <a href="../../../../../org/apache/logging/log4j/message/ParameterizedMessage.html">ParameterizedMessage</a> msg = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/logging/log4j/message/ParameterizedMessage.html">ParameterizedMessage</a>(message, params);
<a class="jxr_linenumber" name="296" href="#296">296</a>             log(marker, FQCN, Level.TRACE, msg, msg.getThrowable());
<a class="jxr_linenumber" name="297" href="#297">297</a>         }
<a class="jxr_linenumber" name="298" href="#298">298</a>     }
<a class="jxr_linenumber" name="299" href="#299">299</a> 
<a class="jxr_linenumber" name="300" href="#300">300</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="301" href="#301">301</a> <em class="jxr_javadoccomment">     * Check whether this Logger is enabled for the TRACE  Level.</em>
<a class="jxr_linenumber" name="302" href="#302">302</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="303" href="#303">303</a> <em class="jxr_javadoccomment">     * @return boolean - &lt;code&gt;true&lt;/code&gt; if this Logger is enabled for level</em>
<a class="jxr_linenumber" name="304" href="#304">304</a> <em class="jxr_javadoccomment">     *         TRACE, &lt;code&gt;false&lt;/code&gt; otherwise.</em>
<a class="jxr_linenumber" name="305" href="#305">305</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="306" href="#306">306</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> isTraceEnabled() {
<a class="jxr_linenumber" name="307" href="#307">307</a>         <strong class="jxr_keyword">return</strong> isEnabled(Level.TRACE, <strong class="jxr_keyword">null</strong>, (Object) <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="308" href="#308">308</a>     }
<a class="jxr_linenumber" name="309" href="#309">309</a> 
<a class="jxr_linenumber" name="310" href="#310">310</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="311" href="#311">311</a> <em class="jxr_javadoccomment">     * Check whether this Logger is enabled for the TRACE  Level.</em>
<a class="jxr_linenumber" name="312" href="#312">312</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="313" href="#313">313</a> <em class="jxr_javadoccomment">     * @param marker The marker data.</em>
<a class="jxr_linenumber" name="314" href="#314">314</a> <em class="jxr_javadoccomment">     * @return boolean - &lt;code&gt;true&lt;/code&gt; if this Logger is enabled for level</em>
<a class="jxr_linenumber" name="315" href="#315">315</a> <em class="jxr_javadoccomment">     *         TRACE, &lt;code&gt;false&lt;/code&gt; otherwise.</em>
<a class="jxr_linenumber" name="316" href="#316">316</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="317" href="#317">317</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> isTraceEnabled(<a href="../../../../../org/apache/logging/log4j/Marker.html">Marker</a> marker) {
<a class="jxr_linenumber" name="318" href="#318">318</a>         <strong class="jxr_keyword">return</strong> isEnabled(Level.TRACE, marker, (Object) <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="319" href="#319">319</a>     }
<a class="jxr_linenumber" name="320" href="#320">320</a> 
<a class="jxr_linenumber" name="321" href="#321">321</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="322" href="#322">322</a> <em class="jxr_javadoccomment">     * Log a message with the specific Marker at the TRACE level.</em>
<a class="jxr_linenumber" name="323" href="#323">323</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="324" href="#324">324</a> <em class="jxr_javadoccomment">     * @param msg the message string to be logged</em>
<a class="jxr_linenumber" name="325" href="#325">325</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="326" href="#326">326</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> trace(<a href="../../../../../org/apache/logging/log4j/message/Message.html">Message</a> msg) {
<a class="jxr_linenumber" name="327" href="#327">327</a>         <strong class="jxr_keyword">if</strong> (isEnabled(Level.TRACE, <strong class="jxr_keyword">null</strong>, msg, <strong class="jxr_keyword">null</strong>)) {
<a class="jxr_linenumber" name="328" href="#328">328</a>             log(<strong class="jxr_keyword">null</strong>, FQCN, Level.TRACE, msg, <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="329" href="#329">329</a>         }
<a class="jxr_linenumber" name="330" href="#330">330</a>     }
<a class="jxr_linenumber" name="331" href="#331">331</a> 
<a class="jxr_linenumber" name="332" href="#332">332</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="333" href="#333">333</a> <em class="jxr_javadoccomment">     * Log a message with the specific Marker at the TRACE level.</em>
<a class="jxr_linenumber" name="334" href="#334">334</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="335" href="#335">335</a> <em class="jxr_javadoccomment">     * @param msg the message string to be logged</em>
<a class="jxr_linenumber" name="336" href="#336">336</a> <em class="jxr_javadoccomment">     * @param t   A Throwable or null.</em>
<a class="jxr_linenumber" name="337" href="#337">337</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="338" href="#338">338</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> trace(<a href="../../../../../org/apache/logging/log4j/message/Message.html">Message</a> msg, Throwable t) {
<a class="jxr_linenumber" name="339" href="#339">339</a>         <strong class="jxr_keyword">if</strong> (isEnabled(Level.TRACE, <strong class="jxr_keyword">null</strong>, msg, t)) {
<a class="jxr_linenumber" name="340" href="#340">340</a>             log(<strong class="jxr_keyword">null</strong>, FQCN, Level.TRACE, msg, t);
<a class="jxr_linenumber" name="341" href="#341">341</a>         }
<a class="jxr_linenumber" name="342" href="#342">342</a>     }
<a class="jxr_linenumber" name="343" href="#343">343</a> 
<a class="jxr_linenumber" name="344" href="#344">344</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="345" href="#345">345</a> <em class="jxr_javadoccomment">     * Log a message with the specific Marker at the TRACE level.</em>
<a class="jxr_linenumber" name="346" href="#346">346</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="347" href="#347">347</a> <em class="jxr_javadoccomment">     * @param marker the marker data specific to this log statement.</em>
<a class="jxr_linenumber" name="348" href="#348">348</a> <em class="jxr_javadoccomment">     * @param msg    the message string to be logged</em>
<a class="jxr_linenumber" name="349" href="#349">349</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="350" href="#350">350</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> trace(<a href="../../../../../org/apache/logging/log4j/Marker.html">Marker</a> marker, <a href="../../../../../org/apache/logging/log4j/message/Message.html">Message</a> msg) {
<a class="jxr_linenumber" name="351" href="#351">351</a>         <strong class="jxr_keyword">if</strong> (isEnabled(Level.TRACE, marker, msg, <strong class="jxr_keyword">null</strong>)) {
<a class="jxr_linenumber" name="352" href="#352">352</a>             log(marker, FQCN, Level.TRACE, msg, <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="353" href="#353">353</a>         }
<a class="jxr_linenumber" name="354" href="#354">354</a>     }
<a class="jxr_linenumber" name="355" href="#355">355</a> 
<a class="jxr_linenumber" name="356" href="#356">356</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="357" href="#357">357</a> <em class="jxr_javadoccomment">     * Log a message with the specific Marker at the TRACE level.</em>
<a class="jxr_linenumber" name="358" href="#358">358</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="359" href="#359">359</a> <em class="jxr_javadoccomment">     * @param marker the marker data specific to this log statement.</em>
<a class="jxr_linenumber" name="360" href="#360">360</a> <em class="jxr_javadoccomment">     * @param msg    the message string to be logged</em>
<a class="jxr_linenumber" name="361" href="#361">361</a> <em class="jxr_javadoccomment">     * @param t      A Throwable or null.</em>
<a class="jxr_linenumber" name="362" href="#362">362</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="363" href="#363">363</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> trace(<a href="../../../../../org/apache/logging/log4j/Marker.html">Marker</a> marker, <a href="../../../../../org/apache/logging/log4j/message/Message.html">Message</a> msg, Throwable t) {
<a class="jxr_linenumber" name="364" href="#364">364</a>         <strong class="jxr_keyword">if</strong> (isEnabled(Level.TRACE, marker, msg, t)) {
<a class="jxr_linenumber" name="365" href="#365">365</a>             log(marker, FQCN, Level.TRACE, msg, t);
<a class="jxr_linenumber" name="366" href="#366">366</a>         }
<a class="jxr_linenumber" name="367" href="#367">367</a>     }
<a class="jxr_linenumber" name="368" href="#368">368</a> 
<a class="jxr_linenumber" name="369" href="#369">369</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="370" href="#370">370</a> <em class="jxr_javadoccomment">     * Log a message object with the {@link org.apache.logging.log4j.Level#DEBUG DEBUG} level.</em>
<a class="jxr_linenumber" name="371" href="#371">371</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="372" href="#372">372</a> <em class="jxr_javadoccomment">     * @param message the message object to log.</em>
<a class="jxr_linenumber" name="373" href="#373">373</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="374" href="#374">374</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> debug(String message) {
<a class="jxr_linenumber" name="375" href="#375">375</a>         <strong class="jxr_keyword">if</strong> (isEnabled(Level.DEBUG, <strong class="jxr_keyword">null</strong>, message)) {
<a class="jxr_linenumber" name="376" href="#376">376</a>             log(<strong class="jxr_keyword">null</strong>, FQCN, Level.DEBUG, <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/logging/log4j/message/SimpleMessage.html">SimpleMessage</a>(message), <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="377" href="#377">377</a>         }
<a class="jxr_linenumber" name="378" href="#378">378</a>     }
<a class="jxr_linenumber" name="379" href="#379">379</a> 
<a class="jxr_linenumber" name="380" href="#380">380</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="381" href="#381">381</a> <em class="jxr_javadoccomment">     * Log a message object with the {@link org.apache.logging.log4j.Level#DEBUG DEBUG} level.</em>
<a class="jxr_linenumber" name="382" href="#382">382</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="383" href="#383">383</a> <em class="jxr_javadoccomment">     * @param marker the marker data specific to this log statement.</em>
<a class="jxr_linenumber" name="384" href="#384">384</a> <em class="jxr_javadoccomment">     * @param message the message object to log.</em>
<a class="jxr_linenumber" name="385" href="#385">385</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="386" href="#386">386</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> debug(<a href="../../../../../org/apache/logging/log4j/Marker.html">Marker</a> marker, String message) {
<a class="jxr_linenumber" name="387" href="#387">387</a>         <strong class="jxr_keyword">if</strong> (isEnabled(Level.DEBUG, marker, message)) {
<a class="jxr_linenumber" name="388" href="#388">388</a>             log(marker, FQCN, Level.DEBUG, <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/logging/log4j/message/SimpleMessage.html">SimpleMessage</a>(message), <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="389" href="#389">389</a>         }
<a class="jxr_linenumber" name="390" href="#390">390</a>     }
<a class="jxr_linenumber" name="391" href="#391">391</a> 
<a class="jxr_linenumber" name="392" href="#392">392</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="393" href="#393">393</a> <em class="jxr_javadoccomment">     * Log a message at the &lt;code&gt;DEBUG&lt;/code&gt; level including the</em>
<a class="jxr_linenumber" name="394" href="#394">394</a> <em class="jxr_javadoccomment">     * stack trace of the {@link Throwable}&lt;code&gt;t&lt;/code&gt; passed as parameter.</em>
<a class="jxr_linenumber" name="395" href="#395">395</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="396" href="#396">396</a> <em class="jxr_javadoccomment">     * @param message the message to log.</em>
<a class="jxr_linenumber" name="397" href="#397">397</a> <em class="jxr_javadoccomment">     * @param t       the exception to log, including its stack trace.</em>
<a class="jxr_linenumber" name="398" href="#398">398</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="399" href="#399">399</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> debug(String message, Throwable t) {
<a class="jxr_linenumber" name="400" href="#400">400</a>         <strong class="jxr_keyword">if</strong> (isEnabled(Level.DEBUG, <strong class="jxr_keyword">null</strong>, message, t)) {
<a class="jxr_linenumber" name="401" href="#401">401</a>             log(<strong class="jxr_keyword">null</strong>, FQCN, Level.DEBUG, <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/logging/log4j/message/SimpleMessage.html">SimpleMessage</a>(message), t);
<a class="jxr_linenumber" name="402" href="#402">402</a>         }
<a class="jxr_linenumber" name="403" href="#403">403</a>     }
<a class="jxr_linenumber" name="404" href="#404">404</a> 
<a class="jxr_linenumber" name="405" href="#405">405</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="406" href="#406">406</a> <em class="jxr_javadoccomment">     * Log a message at the &lt;code&gt;DEBUG&lt;/code&gt; level including the</em>
<a class="jxr_linenumber" name="407" href="#407">407</a> <em class="jxr_javadoccomment">     * stack trace of the {@link Throwable}&lt;code&gt;t&lt;/code&gt; passed as parameter.</em>
<a class="jxr_linenumber" name="408" href="#408">408</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="409" href="#409">409</a> <em class="jxr_javadoccomment">     * @param marker the marker data specific to this log statement.</em>
<a class="jxr_linenumber" name="410" href="#410">410</a> <em class="jxr_javadoccomment">     * @param message the message to log.</em>
<a class="jxr_linenumber" name="411" href="#411">411</a> <em class="jxr_javadoccomment">     * @param t       the exception to log, including its stack trace.</em>
<a class="jxr_linenumber" name="412" href="#412">412</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="413" href="#413">413</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> debug(<a href="../../../../../org/apache/logging/log4j/Marker.html">Marker</a> marker, String message, Throwable t) {
<a class="jxr_linenumber" name="414" href="#414">414</a>         <strong class="jxr_keyword">if</strong> (isEnabled(Level.DEBUG, marker, message, t)) {
<a class="jxr_linenumber" name="415" href="#415">415</a>             log(marker, FQCN, Level.DEBUG, <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/logging/log4j/message/SimpleMessage.html">SimpleMessage</a>(message), t);
<a class="jxr_linenumber" name="416" href="#416">416</a>         }
<a class="jxr_linenumber" name="417" href="#417">417</a>     }
<a class="jxr_linenumber" name="418" href="#418">418</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="419" href="#419">419</a> <em class="jxr_javadoccomment">     * Log a message object with the {@link org.apache.logging.log4j.Level#DEBUG DEBUG} level.</em>
<a class="jxr_linenumber" name="420" href="#420">420</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="421" href="#421">421</a> <em class="jxr_javadoccomment">     * @param message the message object to log.</em>
<a class="jxr_linenumber" name="422" href="#422">422</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="423" href="#423">423</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> debug(Object message) {
<a class="jxr_linenumber" name="424" href="#424">424</a>         <strong class="jxr_keyword">if</strong> (isEnabled(Level.DEBUG, <strong class="jxr_keyword">null</strong>, message, <strong class="jxr_keyword">null</strong>)) {
<a class="jxr_linenumber" name="425" href="#425">425</a>             log(<strong class="jxr_keyword">null</strong>, FQCN, Level.DEBUG, <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/logging/log4j/message/ObjectMessage.html">ObjectMessage</a>(message), <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="426" href="#426">426</a>         }
<a class="jxr_linenumber" name="427" href="#427">427</a>     }
<a class="jxr_linenumber" name="428" href="#428">428</a> 
<a class="jxr_linenumber" name="429" href="#429">429</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="430" href="#430">430</a> <em class="jxr_javadoccomment">     * Log a message object with the {@link org.apache.logging.log4j.Level#DEBUG DEBUG} level.</em>
<a class="jxr_linenumber" name="431" href="#431">431</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="432" href="#432">432</a> <em class="jxr_javadoccomment">     * @param marker the marker data specific to this log statement.</em>
<a class="jxr_linenumber" name="433" href="#433">433</a> <em class="jxr_javadoccomment">     * @param message the message object to log.</em>
<a class="jxr_linenumber" name="434" href="#434">434</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="435" href="#435">435</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> debug(<a href="../../../../../org/apache/logging/log4j/Marker.html">Marker</a> marker, Object message) {
<a class="jxr_linenumber" name="436" href="#436">436</a>         <strong class="jxr_keyword">if</strong> (isEnabled(Level.DEBUG, marker, message, <strong class="jxr_keyword">null</strong>)) {
<a class="jxr_linenumber" name="437" href="#437">437</a>             log(marker, FQCN, Level.DEBUG, <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/logging/log4j/message/ObjectMessage.html">ObjectMessage</a>(message), <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="438" href="#438">438</a>         }
<a class="jxr_linenumber" name="439" href="#439">439</a>     }
<a class="jxr_linenumber" name="440" href="#440">440</a> 
<a class="jxr_linenumber" name="441" href="#441">441</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="442" href="#442">442</a> <em class="jxr_javadoccomment">     * Log a message at the &lt;code&gt;DEBUG&lt;/code&gt; level including the</em>
<a class="jxr_linenumber" name="443" href="#443">443</a> <em class="jxr_javadoccomment">     * stack trace of the {@link Throwable}&lt;code&gt;t&lt;/code&gt; passed as parameter.</em>
<a class="jxr_linenumber" name="444" href="#444">444</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="445" href="#445">445</a> <em class="jxr_javadoccomment">     * @param message the message to log.</em>
<a class="jxr_linenumber" name="446" href="#446">446</a> <em class="jxr_javadoccomment">     * @param t       the exception to log, including its stack trace.</em>
<a class="jxr_linenumber" name="447" href="#447">447</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="448" href="#448">448</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> debug(Object message, Throwable t) {
<a class="jxr_linenumber" name="449" href="#449">449</a>         <strong class="jxr_keyword">if</strong> (isEnabled(Level.DEBUG, <strong class="jxr_keyword">null</strong>, message, t)) {
<a class="jxr_linenumber" name="450" href="#450">450</a>             log(<strong class="jxr_keyword">null</strong>, FQCN, Level.DEBUG, <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/logging/log4j/message/ObjectMessage.html">ObjectMessage</a>(message), t);
<a class="jxr_linenumber" name="451" href="#451">451</a>         }
<a class="jxr_linenumber" name="452" href="#452">452</a>     }
<a class="jxr_linenumber" name="453" href="#453">453</a> 
<a class="jxr_linenumber" name="454" href="#454">454</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="455" href="#455">455</a> <em class="jxr_javadoccomment">     * Log a message at the &lt;code&gt;DEBUG&lt;/code&gt; level including the</em>
<a class="jxr_linenumber" name="456" href="#456">456</a> <em class="jxr_javadoccomment">     * stack trace of the {@link Throwable}&lt;code&gt;t&lt;/code&gt; passed as parameter.</em>
<a class="jxr_linenumber" name="457" href="#457">457</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="458" href="#458">458</a> <em class="jxr_javadoccomment">     * @param marker the marker data specific to this log statement.</em>
<a class="jxr_linenumber" name="459" href="#459">459</a> <em class="jxr_javadoccomment">     * @param message the message to log.</em>
<a class="jxr_linenumber" name="460" href="#460">460</a> <em class="jxr_javadoccomment">     * @param t       the exception to log, including its stack trace.</em>
<a class="jxr_linenumber" name="461" href="#461">461</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="462" href="#462">462</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> debug(<a href="../../../../../org/apache/logging/log4j/Marker.html">Marker</a> marker, Object message, Throwable t) {
<a class="jxr_linenumber" name="463" href="#463">463</a>         <strong class="jxr_keyword">if</strong> (isEnabled(Level.DEBUG, marker, message, t)) {
<a class="jxr_linenumber" name="464" href="#464">464</a>             log(marker, FQCN, Level.DEBUG, <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/logging/log4j/message/ObjectMessage.html">ObjectMessage</a>(message), t);
<a class="jxr_linenumber" name="465" href="#465">465</a>         }
<a class="jxr_linenumber" name="466" href="#466">466</a>     }
<a class="jxr_linenumber" name="467" href="#467">467</a> 
<a class="jxr_linenumber" name="468" href="#468">468</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="469" href="#469">469</a> <em class="jxr_javadoccomment">     * Log a message with parameters at the &lt;code&gt;DEBUG&lt;/code&gt; level.</em>
<a class="jxr_linenumber" name="470" href="#470">470</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="471" href="#471">471</a> <em class="jxr_javadoccomment">     * @param message the message to log.</em>
<a class="jxr_linenumber" name="472" href="#472">472</a> <em class="jxr_javadoccomment">     * @param params  parameters to the message.</em>
<a class="jxr_linenumber" name="473" href="#473">473</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="474" href="#474">474</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> debug(String message, Object... params) {
<a class="jxr_linenumber" name="475" href="#475">475</a>         <strong class="jxr_keyword">if</strong> (isEnabled(Level.DEBUG, <strong class="jxr_keyword">null</strong>, message, params)) {
<a class="jxr_linenumber" name="476" href="#476">476</a>             <a href="../../../../../org/apache/logging/log4j/message/ParameterizedMessage.html">ParameterizedMessage</a> msg = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/logging/log4j/message/ParameterizedMessage.html">ParameterizedMessage</a>(message, params);
<a class="jxr_linenumber" name="477" href="#477">477</a>             log(<strong class="jxr_keyword">null</strong>, FQCN, Level.DEBUG, msg, msg.getThrowable());
<a class="jxr_linenumber" name="478" href="#478">478</a>         }
<a class="jxr_linenumber" name="479" href="#479">479</a>     }
<a class="jxr_linenumber" name="480" href="#480">480</a> 
<a class="jxr_linenumber" name="481" href="#481">481</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="482" href="#482">482</a> <em class="jxr_javadoccomment">     * Log a message with parameters at the &lt;code&gt;DEBUG&lt;/code&gt; level.</em>
<a class="jxr_linenumber" name="483" href="#483">483</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="484" href="#484">484</a> <em class="jxr_javadoccomment">     * @param marker the marker data specific to this log statement.</em>
<a class="jxr_linenumber" name="485" href="#485">485</a> <em class="jxr_javadoccomment">     * @param message the message to log.</em>
<a class="jxr_linenumber" name="486" href="#486">486</a> <em class="jxr_javadoccomment">     * @param params  parameters to the message.</em>
<a class="jxr_linenumber" name="487" href="#487">487</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="488" href="#488">488</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> debug(<a href="../../../../../org/apache/logging/log4j/Marker.html">Marker</a> marker, String message, Object... params) {
<a class="jxr_linenumber" name="489" href="#489">489</a>         <strong class="jxr_keyword">if</strong> (isEnabled(Level.DEBUG, marker, message, params)) {
<a class="jxr_linenumber" name="490" href="#490">490</a>             <a href="../../../../../org/apache/logging/log4j/message/ParameterizedMessage.html">ParameterizedMessage</a> msg = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/logging/log4j/message/ParameterizedMessage.html">ParameterizedMessage</a>(message, params);
<a class="jxr_linenumber" name="491" href="#491">491</a>             log(marker, FQCN, Level.DEBUG, msg, msg.getThrowable());
<a class="jxr_linenumber" name="492" href="#492">492</a>         }
<a class="jxr_linenumber" name="493" href="#493">493</a>     }
<a class="jxr_linenumber" name="494" href="#494">494</a> 
<a class="jxr_linenumber" name="495" href="#495">495</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="496" href="#496">496</a> <em class="jxr_javadoccomment">     * Check whether this Logger is enabled for the DEBUG Level.</em>
<a class="jxr_linenumber" name="497" href="#497">497</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="498" href="#498">498</a> <em class="jxr_javadoccomment">     * @return boolean - &lt;code&gt;true&lt;/code&gt; if this Logger is enabled for level</em>
<a class="jxr_linenumber" name="499" href="#499">499</a> <em class="jxr_javadoccomment">     *         DEBUG, &lt;code&gt;false&lt;/code&gt; otherwise.</em>
<a class="jxr_linenumber" name="500" href="#500">500</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="501" href="#501">501</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> isDebugEnabled() {
<a class="jxr_linenumber" name="502" href="#502">502</a>         <strong class="jxr_keyword">return</strong> isEnabled(Level.DEBUG, <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="503" href="#503">503</a>     }
<a class="jxr_linenumber" name="504" href="#504">504</a> 
<a class="jxr_linenumber" name="505" href="#505">505</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="506" href="#506">506</a> <em class="jxr_javadoccomment">     * Check whether this Logger is enabled for the DEBUG Level.</em>
<a class="jxr_linenumber" name="507" href="#507">507</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="508" href="#508">508</a> <em class="jxr_javadoccomment">     * @param marker The marker data.</em>
<a class="jxr_linenumber" name="509" href="#509">509</a> <em class="jxr_javadoccomment">     * @return boolean - &lt;code&gt;true&lt;/code&gt; if this Logger is enabled for level</em>
<a class="jxr_linenumber" name="510" href="#510">510</a> <em class="jxr_javadoccomment">     *         DEBUG, &lt;code&gt;false&lt;/code&gt; otherwise.</em>
<a class="jxr_linenumber" name="511" href="#511">511</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="512" href="#512">512</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> isDebugEnabled(<a href="../../../../../org/apache/logging/log4j/Marker.html">Marker</a> marker) {
<a class="jxr_linenumber" name="513" href="#513">513</a>         <strong class="jxr_keyword">return</strong> isEnabled(Level.DEBUG, marker, (Object) <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="514" href="#514">514</a>     }
<a class="jxr_linenumber" name="515" href="#515">515</a> 
<a class="jxr_linenumber" name="516" href="#516">516</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="517" href="#517">517</a> <em class="jxr_javadoccomment">     * Log a message with the specific Marker at the DEBUG level.</em>
<a class="jxr_linenumber" name="518" href="#518">518</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="519" href="#519">519</a> <em class="jxr_javadoccomment">     * @param msg the message string to be logged</em>
<a class="jxr_linenumber" name="520" href="#520">520</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="521" href="#521">521</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> debug(<a href="../../../../../org/apache/logging/log4j/message/Message.html">Message</a> msg) {
<a class="jxr_linenumber" name="522" href="#522">522</a>         <strong class="jxr_keyword">if</strong> (isEnabled(Level.TRACE, <strong class="jxr_keyword">null</strong>, msg, <strong class="jxr_keyword">null</strong>)) {
<a class="jxr_linenumber" name="523" href="#523">523</a>             log(<strong class="jxr_keyword">null</strong>, FQCN, Level.TRACE, msg, <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="524" href="#524">524</a>         }
<a class="jxr_linenumber" name="525" href="#525">525</a>     }
<a class="jxr_linenumber" name="526" href="#526">526</a> 
<a class="jxr_linenumber" name="527" href="#527">527</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="528" href="#528">528</a> <em class="jxr_javadoccomment">     * Log a message with the specific Marker at the DEBUG level.</em>
<a class="jxr_linenumber" name="529" href="#529">529</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="530" href="#530">530</a> <em class="jxr_javadoccomment">     * @param msg the message string to be logged</em>
<a class="jxr_linenumber" name="531" href="#531">531</a> <em class="jxr_javadoccomment">     * @param t   A Throwable or null.</em>
<a class="jxr_linenumber" name="532" href="#532">532</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="533" href="#533">533</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> debug(<a href="../../../../../org/apache/logging/log4j/message/Message.html">Message</a> msg, Throwable t) {
<a class="jxr_linenumber" name="534" href="#534">534</a>         <strong class="jxr_keyword">if</strong> (isEnabled(Level.TRACE, <strong class="jxr_keyword">null</strong>, msg, t)) {
<a class="jxr_linenumber" name="535" href="#535">535</a>             log(<strong class="jxr_keyword">null</strong>, FQCN, Level.TRACE, msg, t);
<a class="jxr_linenumber" name="536" href="#536">536</a>         }
<a class="jxr_linenumber" name="537" href="#537">537</a>     }
<a class="jxr_linenumber" name="538" href="#538">538</a> 
<a class="jxr_linenumber" name="539" href="#539">539</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="540" href="#540">540</a> <em class="jxr_javadoccomment">     * Log a message with the specific Marker at the DEBUG level.</em>
<a class="jxr_linenumber" name="541" href="#541">541</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="542" href="#542">542</a> <em class="jxr_javadoccomment">     * @param marker the marker data specific to this log statement</em>
<a class="jxr_linenumber" name="543" href="#543">543</a> <em class="jxr_javadoccomment">     * @param msg    the message string to be logged</em>
<a class="jxr_linenumber" name="544" href="#544">544</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="545" href="#545">545</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> debug(<a href="../../../../../org/apache/logging/log4j/Marker.html">Marker</a> marker, <a href="../../../../../org/apache/logging/log4j/message/Message.html">Message</a> msg) {
<a class="jxr_linenumber" name="546" href="#546">546</a>         <strong class="jxr_keyword">if</strong> (isEnabled(Level.DEBUG, marker, msg, <strong class="jxr_keyword">null</strong>)) {
<a class="jxr_linenumber" name="547" href="#547">547</a>             log(marker, FQCN, Level.DEBUG, msg, <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="548" href="#548">548</a>         }
<a class="jxr_linenumber" name="549" href="#549">549</a>     }
<a class="jxr_linenumber" name="550" href="#550">550</a> 
<a class="jxr_linenumber" name="551" href="#551">551</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="552" href="#552">552</a> <em class="jxr_javadoccomment">     * Log a message with the specific Marker at the DEBUG level.</em>
<a class="jxr_linenumber" name="553" href="#553">553</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="554" href="#554">554</a> <em class="jxr_javadoccomment">     * @param marker the marker data specific to this log statement.</em>
<a class="jxr_linenumber" name="555" href="#555">555</a> <em class="jxr_javadoccomment">     * @param msg    the message string to be logged</em>
<a class="jxr_linenumber" name="556" href="#556">556</a> <em class="jxr_javadoccomment">     * @param t      A Throwable or null.</em>
<a class="jxr_linenumber" name="557" href="#557">557</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="558" href="#558">558</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> debug(<a href="../../../../../org/apache/logging/log4j/Marker.html">Marker</a> marker, <a href="../../../../../org/apache/logging/log4j/message/Message.html">Message</a> msg, Throwable t) {
<a class="jxr_linenumber" name="559" href="#559">559</a>         <strong class="jxr_keyword">if</strong> (isEnabled(Level.DEBUG, marker, msg, t)) {
<a class="jxr_linenumber" name="560" href="#560">560</a>             log(marker, FQCN, Level.DEBUG, msg, t);
<a class="jxr_linenumber" name="561" href="#561">561</a>         }
<a class="jxr_linenumber" name="562" href="#562">562</a>     }
<a class="jxr_linenumber" name="563" href="#563">563</a> 
<a class="jxr_linenumber" name="564" href="#564">564</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="565" href="#565">565</a> <em class="jxr_javadoccomment">     * Log a message object with the {@link org.apache.logging.log4j.Level#INFO INFO} level.</em>
<a class="jxr_linenumber" name="566" href="#566">566</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="567" href="#567">567</a> <em class="jxr_javadoccomment">     * @param message the message object to log.</em>
<a class="jxr_linenumber" name="568" href="#568">568</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="569" href="#569">569</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> info(String message) {
<a class="jxr_linenumber" name="570" href="#570">570</a>         <strong class="jxr_keyword">if</strong> (isEnabled(Level.INFO, <strong class="jxr_keyword">null</strong>, message)) {
<a class="jxr_linenumber" name="571" href="#571">571</a>             log(<strong class="jxr_keyword">null</strong>, FQCN, Level.INFO, <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/logging/log4j/message/SimpleMessage.html">SimpleMessage</a>(message), <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="572" href="#572">572</a>         }
<a class="jxr_linenumber" name="573" href="#573">573</a>     }
<a class="jxr_linenumber" name="574" href="#574">574</a> 
<a class="jxr_linenumber" name="575" href="#575">575</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="576" href="#576">576</a> <em class="jxr_javadoccomment">     * Log a message object with the {@link org.apache.logging.log4j.Level#INFO INFO} level.</em>
<a class="jxr_linenumber" name="577" href="#577">577</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="578" href="#578">578</a> <em class="jxr_javadoccomment">     * @param marker the marker data specific to this log statement.</em>
<a class="jxr_linenumber" name="579" href="#579">579</a> <em class="jxr_javadoccomment">     * @param message the message object to log.</em>
<a class="jxr_linenumber" name="580" href="#580">580</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="581" href="#581">581</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> info(<a href="../../../../../org/apache/logging/log4j/Marker.html">Marker</a> marker, String message) {
<a class="jxr_linenumber" name="582" href="#582">582</a>         <strong class="jxr_keyword">if</strong> (isEnabled(Level.INFO, marker, message)) {
<a class="jxr_linenumber" name="583" href="#583">583</a>             log(marker, FQCN, Level.INFO, <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/logging/log4j/message/SimpleMessage.html">SimpleMessage</a>(message), <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="584" href="#584">584</a>         }
<a class="jxr_linenumber" name="585" href="#585">585</a>     }
<a class="jxr_linenumber" name="586" href="#586">586</a> 
<a class="jxr_linenumber" name="587" href="#587">587</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="588" href="#588">588</a> <em class="jxr_javadoccomment">     * Log a message at the &lt;code&gt;INFO&lt;/code&gt; level including the</em>
<a class="jxr_linenumber" name="589" href="#589">589</a> <em class="jxr_javadoccomment">     * stack trace of the {@link Throwable}&lt;code&gt;t&lt;/code&gt; passed as parameter.</em>
<a class="jxr_linenumber" name="590" href="#590">590</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="591" href="#591">591</a> <em class="jxr_javadoccomment">     * @param message the message object to log.</em>
<a class="jxr_linenumber" name="592" href="#592">592</a> <em class="jxr_javadoccomment">     * @param t       the exception to log, including its stack trace.</em>
<a class="jxr_linenumber" name="593" href="#593">593</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="594" href="#594">594</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> info(String message, Throwable t) {
<a class="jxr_linenumber" name="595" href="#595">595</a>         <strong class="jxr_keyword">if</strong> (isEnabled(Level.INFO, <strong class="jxr_keyword">null</strong>, message, t)) {
<a class="jxr_linenumber" name="596" href="#596">596</a>             log(<strong class="jxr_keyword">null</strong>, FQCN, Level.INFO, <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/logging/log4j/message/SimpleMessage.html">SimpleMessage</a>(message), t);
<a class="jxr_linenumber" name="597" href="#597">597</a>         }
<a class="jxr_linenumber" name="598" href="#598">598</a>     }
<a class="jxr_linenumber" name="599" href="#599">599</a> 
<a class="jxr_linenumber" name="600" href="#600">600</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="601" href="#601">601</a> <em class="jxr_javadoccomment">     * Log a message at the &lt;code&gt;INFO&lt;/code&gt; level including the</em>
<a class="jxr_linenumber" name="602" href="#602">602</a> <em class="jxr_javadoccomment">     * stack trace of the {@link Throwable}&lt;code&gt;t&lt;/code&gt; passed as parameter.</em>
<a class="jxr_linenumber" name="603" href="#603">603</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="604" href="#604">604</a> <em class="jxr_javadoccomment">     * @param marker the marker data specific to this log statement.</em>
<a class="jxr_linenumber" name="605" href="#605">605</a> <em class="jxr_javadoccomment">     * @param message the message object to log.</em>
<a class="jxr_linenumber" name="606" href="#606">606</a> <em class="jxr_javadoccomment">     * @param t       the exception to log, including its stack trace.</em>
<a class="jxr_linenumber" name="607" href="#607">607</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="608" href="#608">608</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> info(<a href="../../../../../org/apache/logging/log4j/Marker.html">Marker</a> marker, String message, Throwable t) {
<a class="jxr_linenumber" name="609" href="#609">609</a>         <strong class="jxr_keyword">if</strong> (isEnabled(Level.INFO, marker, message, t)) {
<a class="jxr_linenumber" name="610" href="#610">610</a>             log(marker, FQCN, Level.INFO, <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/logging/log4j/message/SimpleMessage.html">SimpleMessage</a>(message), t);
<a class="jxr_linenumber" name="611" href="#611">611</a>         }
<a class="jxr_linenumber" name="612" href="#612">612</a>     }
<a class="jxr_linenumber" name="613" href="#613">613</a> 
<a class="jxr_linenumber" name="614" href="#614">614</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="615" href="#615">615</a> <em class="jxr_javadoccomment">     * Log a message object with the {@link org.apache.logging.log4j.Level#INFO INFO} level.</em>
<a class="jxr_linenumber" name="616" href="#616">616</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="617" href="#617">617</a> <em class="jxr_javadoccomment">     * @param message the message object to log.</em>
<a class="jxr_linenumber" name="618" href="#618">618</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="619" href="#619">619</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> info(Object message) {
<a class="jxr_linenumber" name="620" href="#620">620</a>         <strong class="jxr_keyword">if</strong> (isEnabled(Level.INFO, <strong class="jxr_keyword">null</strong>, message, <strong class="jxr_keyword">null</strong>)) {
<a class="jxr_linenumber" name="621" href="#621">621</a>             log(<strong class="jxr_keyword">null</strong>, FQCN, Level.INFO, <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/logging/log4j/message/ObjectMessage.html">ObjectMessage</a>(message), <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="622" href="#622">622</a>         }
<a class="jxr_linenumber" name="623" href="#623">623</a>     }
<a class="jxr_linenumber" name="624" href="#624">624</a> 
<a class="jxr_linenumber" name="625" href="#625">625</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="626" href="#626">626</a> <em class="jxr_javadoccomment">     * Log a message object with the {@link org.apache.logging.log4j.Level#INFO INFO} level.</em>
<a class="jxr_linenumber" name="627" href="#627">627</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="628" href="#628">628</a> <em class="jxr_javadoccomment">     * @param marker the marker data specific to this log statement.</em>
<a class="jxr_linenumber" name="629" href="#629">629</a> <em class="jxr_javadoccomment">     * @param message the message object to log.</em>
<a class="jxr_linenumber" name="630" href="#630">630</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="631" href="#631">631</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> info(<a href="../../../../../org/apache/logging/log4j/Marker.html">Marker</a> marker, Object message) {
<a class="jxr_linenumber" name="632" href="#632">632</a>         <strong class="jxr_keyword">if</strong> (isEnabled(Level.INFO, marker, message, <strong class="jxr_keyword">null</strong>)) {
<a class="jxr_linenumber" name="633" href="#633">633</a>             log(marker, FQCN, Level.INFO, <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/logging/log4j/message/ObjectMessage.html">ObjectMessage</a>(message), <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="634" href="#634">634</a>         }
<a class="jxr_linenumber" name="635" href="#635">635</a>     }
<a class="jxr_linenumber" name="636" href="#636">636</a> 
<a class="jxr_linenumber" name="637" href="#637">637</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="638" href="#638">638</a> <em class="jxr_javadoccomment">     * Log a message at the &lt;code&gt;INFO&lt;/code&gt; level including the</em>
<a class="jxr_linenumber" name="639" href="#639">639</a> <em class="jxr_javadoccomment">     * stack trace of the {@link Throwable}&lt;code&gt;t&lt;/code&gt; passed as parameter.</em>
<a class="jxr_linenumber" name="640" href="#640">640</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="641" href="#641">641</a> <em class="jxr_javadoccomment">     * @param message the message object to log.</em>
<a class="jxr_linenumber" name="642" href="#642">642</a> <em class="jxr_javadoccomment">     * @param t       the exception to log, including its stack trace.</em>
<a class="jxr_linenumber" name="643" href="#643">643</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="644" href="#644">644</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> info(Object message, Throwable t) {
<a class="jxr_linenumber" name="645" href="#645">645</a>         <strong class="jxr_keyword">if</strong> (isEnabled(Level.INFO, <strong class="jxr_keyword">null</strong>, message, t)) {
<a class="jxr_linenumber" name="646" href="#646">646</a>             log(<strong class="jxr_keyword">null</strong>, FQCN, Level.INFO, <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/logging/log4j/message/ObjectMessage.html">ObjectMessage</a>(message), t);
<a class="jxr_linenumber" name="647" href="#647">647</a>         }
<a class="jxr_linenumber" name="648" href="#648">648</a>     }
<a class="jxr_linenumber" name="649" href="#649">649</a> 
<a class="jxr_linenumber" name="650" href="#650">650</a> 
<a class="jxr_linenumber" name="651" href="#651">651</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="652" href="#652">652</a> <em class="jxr_javadoccomment">     * Log a message at the &lt;code&gt;INFO&lt;/code&gt; level including the</em>
<a class="jxr_linenumber" name="653" href="#653">653</a> <em class="jxr_javadoccomment">     * stack trace of the {@link Throwable}&lt;code&gt;t&lt;/code&gt; passed as parameter.</em>
<a class="jxr_linenumber" name="654" href="#654">654</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="655" href="#655">655</a> <em class="jxr_javadoccomment">     * @param marker the marker data specific to this log statement.</em>
<a class="jxr_linenumber" name="656" href="#656">656</a> <em class="jxr_javadoccomment">     * @param message the message object to log.</em>
<a class="jxr_linenumber" name="657" href="#657">657</a> <em class="jxr_javadoccomment">     * @param t       the exception to log, including its stack trace.</em>
<a class="jxr_linenumber" name="658" href="#658">658</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="659" href="#659">659</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> info(<a href="../../../../../org/apache/logging/log4j/Marker.html">Marker</a> marker, Object message, Throwable t) {
<a class="jxr_linenumber" name="660" href="#660">660</a>         <strong class="jxr_keyword">if</strong> (isEnabled(Level.INFO, marker, message, t)) {
<a class="jxr_linenumber" name="661" href="#661">661</a>             log(marker, FQCN, Level.INFO, <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/logging/log4j/message/ObjectMessage.html">ObjectMessage</a>(message), t);
<a class="jxr_linenumber" name="662" href="#662">662</a>         }
<a class="jxr_linenumber" name="663" href="#663">663</a>     }
<a class="jxr_linenumber" name="664" href="#664">664</a> 
<a class="jxr_linenumber" name="665" href="#665">665</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="666" href="#666">666</a> <em class="jxr_javadoccomment">     * Log a message with parameters at the &lt;code&gt;INFO&lt;/code&gt; level.</em>
<a class="jxr_linenumber" name="667" href="#667">667</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="668" href="#668">668</a> <em class="jxr_javadoccomment">     * @param message the message to log.</em>
<a class="jxr_linenumber" name="669" href="#669">669</a> <em class="jxr_javadoccomment">     * @param params  parameters to the message.</em>
<a class="jxr_linenumber" name="670" href="#670">670</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="671" href="#671">671</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> info(String message, Object... params) {
<a class="jxr_linenumber" name="672" href="#672">672</a>         <strong class="jxr_keyword">if</strong> (isEnabled(Level.INFO, <strong class="jxr_keyword">null</strong>, message, params)) {
<a class="jxr_linenumber" name="673" href="#673">673</a>             <a href="../../../../../org/apache/logging/log4j/message/ParameterizedMessage.html">ParameterizedMessage</a> msg = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/logging/log4j/message/ParameterizedMessage.html">ParameterizedMessage</a>(message, params);
<a class="jxr_linenumber" name="674" href="#674">674</a>             log(<strong class="jxr_keyword">null</strong>, FQCN, Level.INFO, msg, msg.getThrowable());
<a class="jxr_linenumber" name="675" href="#675">675</a>         }
<a class="jxr_linenumber" name="676" href="#676">676</a>     }
<a class="jxr_linenumber" name="677" href="#677">677</a> 
<a class="jxr_linenumber" name="678" href="#678">678</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="679" href="#679">679</a> <em class="jxr_javadoccomment">     * Log a message with parameters at the &lt;code&gt;INFO&lt;/code&gt; level.</em>
<a class="jxr_linenumber" name="680" href="#680">680</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="681" href="#681">681</a> <em class="jxr_javadoccomment">     * @param marker the marker data specific to this log statement.</em>
<a class="jxr_linenumber" name="682" href="#682">682</a> <em class="jxr_javadoccomment">     * @param message the message to log.</em>
<a class="jxr_linenumber" name="683" href="#683">683</a> <em class="jxr_javadoccomment">     * @param params  parameters to the message.</em>
<a class="jxr_linenumber" name="684" href="#684">684</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="685" href="#685">685</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> info(<a href="../../../../../org/apache/logging/log4j/Marker.html">Marker</a> marker, String message, Object... params) {
<a class="jxr_linenumber" name="686" href="#686">686</a>         <strong class="jxr_keyword">if</strong> (isEnabled(Level.INFO, marker, message, params)) {
<a class="jxr_linenumber" name="687" href="#687">687</a>             <a href="../../../../../org/apache/logging/log4j/message/ParameterizedMessage.html">ParameterizedMessage</a> msg = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/logging/log4j/message/ParameterizedMessage.html">ParameterizedMessage</a>(message, params);
<a class="jxr_linenumber" name="688" href="#688">688</a>             log(marker, FQCN, Level.INFO, msg, msg.getThrowable());
<a class="jxr_linenumber" name="689" href="#689">689</a>         }
<a class="jxr_linenumber" name="690" href="#690">690</a>     }
<a class="jxr_linenumber" name="691" href="#691">691</a> 
<a class="jxr_linenumber" name="692" href="#692">692</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="693" href="#693">693</a> <em class="jxr_javadoccomment">     * Check whether this Logger is enabled for the INFO Level.</em>
<a class="jxr_linenumber" name="694" href="#694">694</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="695" href="#695">695</a> <em class="jxr_javadoccomment">     * @return boolean - &lt;code&gt;true&lt;/code&gt; if this Logger is enabled for level</em>
<a class="jxr_linenumber" name="696" href="#696">696</a> <em class="jxr_javadoccomment">     *         INFO, &lt;code&gt;false&lt;/code&gt; otherwise.</em>
<a class="jxr_linenumber" name="697" href="#697">697</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="698" href="#698">698</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> isInfoEnabled() {
<a class="jxr_linenumber" name="699" href="#699">699</a>         <strong class="jxr_keyword">return</strong> isEnabled(Level.INFO, <strong class="jxr_keyword">null</strong>, (Object) <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="700" href="#700">700</a>     }
<a class="jxr_linenumber" name="701" href="#701">701</a> 
<a class="jxr_linenumber" name="702" href="#702">702</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="703" href="#703">703</a> <em class="jxr_javadoccomment">     * Check whether this Logger is enabled for the INFO Level.</em>
<a class="jxr_linenumber" name="704" href="#704">704</a> <em class="jxr_javadoccomment">     * @param marker The marker data.</em>
<a class="jxr_linenumber" name="705" href="#705">705</a> <em class="jxr_javadoccomment">     * @return boolean - &lt;code&gt;true&lt;/code&gt; if this Logger is enabled for level</em>
<a class="jxr_linenumber" name="706" href="#706">706</a> <em class="jxr_javadoccomment">     *         INFO, &lt;code&gt;false&lt;/code&gt; otherwise.</em>
<a class="jxr_linenumber" name="707" href="#707">707</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="708" href="#708">708</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> isInfoEnabled(<a href="../../../../../org/apache/logging/log4j/Marker.html">Marker</a> marker) {
<a class="jxr_linenumber" name="709" href="#709">709</a>         <strong class="jxr_keyword">return</strong> isEnabled(Level.INFO, marker, (Object) <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="710" href="#710">710</a>     }
<a class="jxr_linenumber" name="711" href="#711">711</a> 
<a class="jxr_linenumber" name="712" href="#712">712</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="713" href="#713">713</a> <em class="jxr_javadoccomment">     * Log a message with the specific Marker at the TRACE level.</em>
<a class="jxr_linenumber" name="714" href="#714">714</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="715" href="#715">715</a> <em class="jxr_javadoccomment">     * @param msg the message string to be logged</em>
<a class="jxr_linenumber" name="716" href="#716">716</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="717" href="#717">717</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> info(<a href="../../../../../org/apache/logging/log4j/message/Message.html">Message</a> msg) {
<a class="jxr_linenumber" name="718" href="#718">718</a>         <strong class="jxr_keyword">if</strong> (isEnabled(Level.INFO, <strong class="jxr_keyword">null</strong>, msg, <strong class="jxr_keyword">null</strong>)) {
<a class="jxr_linenumber" name="719" href="#719">719</a>             log(<strong class="jxr_keyword">null</strong>, FQCN, Level.INFO, msg, <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="720" href="#720">720</a>         }
<a class="jxr_linenumber" name="721" href="#721">721</a>     }
<a class="jxr_linenumber" name="722" href="#722">722</a> 
<a class="jxr_linenumber" name="723" href="#723">723</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="724" href="#724">724</a> <em class="jxr_javadoccomment">     * Log a message with the specific Marker at the INFO level.</em>
<a class="jxr_linenumber" name="725" href="#725">725</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="726" href="#726">726</a> <em class="jxr_javadoccomment">     * @param msg the message string to be logged</em>
<a class="jxr_linenumber" name="727" href="#727">727</a> <em class="jxr_javadoccomment">     * @param t   A Throwable or null.</em>
<a class="jxr_linenumber" name="728" href="#728">728</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="729" href="#729">729</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> info(<a href="../../../../../org/apache/logging/log4j/message/Message.html">Message</a> msg, Throwable t) {
<a class="jxr_linenumber" name="730" href="#730">730</a>         <strong class="jxr_keyword">if</strong> (isEnabled(Level.INFO, <strong class="jxr_keyword">null</strong>, msg, t)) {
<a class="jxr_linenumber" name="731" href="#731">731</a>             log(<strong class="jxr_keyword">null</strong>, FQCN, Level.INFO, msg, t);
<a class="jxr_linenumber" name="732" href="#732">732</a>         }
<a class="jxr_linenumber" name="733" href="#733">733</a>     }
<a class="jxr_linenumber" name="734" href="#734">734</a> 
<a class="jxr_linenumber" name="735" href="#735">735</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="736" href="#736">736</a> <em class="jxr_javadoccomment">     * Log a message with the specific Marker at the INFO level.</em>
<a class="jxr_linenumber" name="737" href="#737">737</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="738" href="#738">738</a> <em class="jxr_javadoccomment">     * @param marker the marker data specific to this log statement</em>
<a class="jxr_linenumber" name="739" href="#739">739</a> <em class="jxr_javadoccomment">     * @param msg    the message string to be logged</em>
<a class="jxr_linenumber" name="740" href="#740">740</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="741" href="#741">741</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> info(<a href="../../../../../org/apache/logging/log4j/Marker.html">Marker</a> marker, <a href="../../../../../org/apache/logging/log4j/message/Message.html">Message</a> msg) {
<a class="jxr_linenumber" name="742" href="#742">742</a>         <strong class="jxr_keyword">if</strong> (isEnabled(Level.INFO, <strong class="jxr_keyword">null</strong>, msg, <strong class="jxr_keyword">null</strong>)) {
<a class="jxr_linenumber" name="743" href="#743">743</a>             log(marker, FQCN, Level.INFO, msg, <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="744" href="#744">744</a>         }
<a class="jxr_linenumber" name="745" href="#745">745</a>     }
<a class="jxr_linenumber" name="746" href="#746">746</a> 
<a class="jxr_linenumber" name="747" href="#747">747</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="748" href="#748">748</a> <em class="jxr_javadoccomment">     * Log a message with the specific Marker at the INFO level.</em>
<a class="jxr_linenumber" name="749" href="#749">749</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="750" href="#750">750</a> <em class="jxr_javadoccomment">     * @param marker the marker data specific to this log statement</em>
<a class="jxr_linenumber" name="751" href="#751">751</a> <em class="jxr_javadoccomment">     * @param msg    the message string to be logged</em>
<a class="jxr_linenumber" name="752" href="#752">752</a> <em class="jxr_javadoccomment">     * @param t      A Throwable or null.</em>
<a class="jxr_linenumber" name="753" href="#753">753</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="754" href="#754">754</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> info(<a href="../../../../../org/apache/logging/log4j/Marker.html">Marker</a> marker, <a href="../../../../../org/apache/logging/log4j/message/Message.html">Message</a> msg, Throwable t) {
<a class="jxr_linenumber" name="755" href="#755">755</a>         <strong class="jxr_keyword">if</strong> (isEnabled(Level.INFO, marker, msg, t)) {
<a class="jxr_linenumber" name="756" href="#756">756</a>             log(marker, FQCN, Level.INFO, msg, t);
<a class="jxr_linenumber" name="757" href="#757">757</a>         }
<a class="jxr_linenumber" name="758" href="#758">758</a>     }
<a class="jxr_linenumber" name="759" href="#759">759</a> 
<a class="jxr_linenumber" name="760" href="#760">760</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="761" href="#761">761</a> <em class="jxr_javadoccomment">     * Log a message object with the {@link org.apache.logging.log4j.Level#WARN WARN} level.</em>
<a class="jxr_linenumber" name="762" href="#762">762</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="763" href="#763">763</a> <em class="jxr_javadoccomment">     * @param message the message object to log.</em>
<a class="jxr_linenumber" name="764" href="#764">764</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="765" href="#765">765</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> warn(String message) {
<a class="jxr_linenumber" name="766" href="#766">766</a>         <strong class="jxr_keyword">if</strong> (isEnabled(Level.WARN, <strong class="jxr_keyword">null</strong>, message)) {
<a class="jxr_linenumber" name="767" href="#767">767</a>             log(<strong class="jxr_keyword">null</strong>, FQCN, Level.WARN, <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/logging/log4j/message/SimpleMessage.html">SimpleMessage</a>(message), <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="768" href="#768">768</a>         }
<a class="jxr_linenumber" name="769" href="#769">769</a>     }
<a class="jxr_linenumber" name="770" href="#770">770</a> 
<a class="jxr_linenumber" name="771" href="#771">771</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="772" href="#772">772</a> <em class="jxr_javadoccomment">     * Log a message object with the {@link org.apache.logging.log4j.Level#WARN WARN} level.</em>
<a class="jxr_linenumber" name="773" href="#773">773</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="774" href="#774">774</a> <em class="jxr_javadoccomment">     * @param marker the marker data specific to this log statement.</em>
<a class="jxr_linenumber" name="775" href="#775">775</a> <em class="jxr_javadoccomment">     * @param message the message object to log.</em>
<a class="jxr_linenumber" name="776" href="#776">776</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="777" href="#777">777</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> warn(<a href="../../../../../org/apache/logging/log4j/Marker.html">Marker</a> marker, String message) {
<a class="jxr_linenumber" name="778" href="#778">778</a>         <strong class="jxr_keyword">if</strong> (isEnabled(Level.WARN, marker, message)) {
<a class="jxr_linenumber" name="779" href="#779">779</a>             log(marker, FQCN, Level.WARN, <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/logging/log4j/message/SimpleMessage.html">SimpleMessage</a>(message), <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="780" href="#780">780</a>         }
<a class="jxr_linenumber" name="781" href="#781">781</a>     }
<a class="jxr_linenumber" name="782" href="#782">782</a> 
<a class="jxr_linenumber" name="783" href="#783">783</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="784" href="#784">784</a> <em class="jxr_javadoccomment">     * Log a message at the &lt;code&gt;WARN&lt;/code&gt; level including the</em>
<a class="jxr_linenumber" name="785" href="#785">785</a> <em class="jxr_javadoccomment">     * stack trace of the {@link Throwable}&lt;code&gt;t&lt;/code&gt; passed as parameter.</em>
<a class="jxr_linenumber" name="786" href="#786">786</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="787" href="#787">787</a> <em class="jxr_javadoccomment">     * @param message the message object to log.</em>
<a class="jxr_linenumber" name="788" href="#788">788</a> <em class="jxr_javadoccomment">     * @param t       the exception to log, including its stack trace.</em>
<a class="jxr_linenumber" name="789" href="#789">789</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="790" href="#790">790</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> warn(String message, Throwable t) {
<a class="jxr_linenumber" name="791" href="#791">791</a>         <strong class="jxr_keyword">if</strong> (isEnabled(Level.WARN, <strong class="jxr_keyword">null</strong>, message, t)) {
<a class="jxr_linenumber" name="792" href="#792">792</a>             log(<strong class="jxr_keyword">null</strong>, FQCN, Level.DEBUG, <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/logging/log4j/message/SimpleMessage.html">SimpleMessage</a>(message), t);
<a class="jxr_linenumber" name="793" href="#793">793</a>         }
<a class="jxr_linenumber" name="794" href="#794">794</a>     }
<a class="jxr_linenumber" name="795" href="#795">795</a> 
<a class="jxr_linenumber" name="796" href="#796">796</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="797" href="#797">797</a> <em class="jxr_javadoccomment">     * Log a message at the &lt;code&gt;WARN&lt;/code&gt; level including the</em>
<a class="jxr_linenumber" name="798" href="#798">798</a> <em class="jxr_javadoccomment">     * stack trace of the {@link Throwable}&lt;code&gt;t&lt;/code&gt; passed as parameter.</em>
<a class="jxr_linenumber" name="799" href="#799">799</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="800" href="#800">800</a> <em class="jxr_javadoccomment">     * @param marker the marker data specific to this log statement.</em>
<a class="jxr_linenumber" name="801" href="#801">801</a> <em class="jxr_javadoccomment">     * @param message the message object to log.</em>
<a class="jxr_linenumber" name="802" href="#802">802</a> <em class="jxr_javadoccomment">     * @param t       the exception to log, including its stack trace.</em>
<a class="jxr_linenumber" name="803" href="#803">803</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="804" href="#804">804</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> warn(<a href="../../../../../org/apache/logging/log4j/Marker.html">Marker</a> marker, String message, Throwable t) {
<a class="jxr_linenumber" name="805" href="#805">805</a>         <strong class="jxr_keyword">if</strong> (isEnabled(Level.WARN, marker, message, t)) {
<a class="jxr_linenumber" name="806" href="#806">806</a>             log(marker, FQCN, Level.DEBUG, <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/logging/log4j/message/SimpleMessage.html">SimpleMessage</a>(message), t);
<a class="jxr_linenumber" name="807" href="#807">807</a>         }
<a class="jxr_linenumber" name="808" href="#808">808</a>     }
<a class="jxr_linenumber" name="809" href="#809">809</a> 
<a class="jxr_linenumber" name="810" href="#810">810</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="811" href="#811">811</a> <em class="jxr_javadoccomment">     * Log a message object with the {@link org.apache.logging.log4j.Level#WARN WARN} level.</em>
<a class="jxr_linenumber" name="812" href="#812">812</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="813" href="#813">813</a> <em class="jxr_javadoccomment">     * @param marker the marker data specific to this log statement.</em>
<a class="jxr_linenumber" name="814" href="#814">814</a> <em class="jxr_javadoccomment">     * @param message the message object to log.</em>
<a class="jxr_linenumber" name="815" href="#815">815</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="816" href="#816">816</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> warn(<a href="../../../../../org/apache/logging/log4j/Marker.html">Marker</a> marker, Object message) {
<a class="jxr_linenumber" name="817" href="#817">817</a>         <strong class="jxr_keyword">if</strong> (isEnabled(Level.WARN, marker, message, <strong class="jxr_keyword">null</strong>)) {
<a class="jxr_linenumber" name="818" href="#818">818</a>             log(marker, FQCN, Level.WARN, <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/logging/log4j/message/ObjectMessage.html">ObjectMessage</a>(message), <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="819" href="#819">819</a>         }
<a class="jxr_linenumber" name="820" href="#820">820</a>     }
<a class="jxr_linenumber" name="821" href="#821">821</a> 
<a class="jxr_linenumber" name="822" href="#822">822</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="823" href="#823">823</a> <em class="jxr_javadoccomment">     * Log a message object with the {@link org.apache.logging.log4j.Level#WARN WARN} level.</em>
<a class="jxr_linenumber" name="824" href="#824">824</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="825" href="#825">825</a> <em class="jxr_javadoccomment">     * @param message the message object to log.</em>
<a class="jxr_linenumber" name="826" href="#826">826</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="827" href="#827">827</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> warn(Object message) {
<a class="jxr_linenumber" name="828" href="#828">828</a>         <strong class="jxr_keyword">if</strong> (isEnabled(Level.WARN, <strong class="jxr_keyword">null</strong>, message, <strong class="jxr_keyword">null</strong>)) {
<a class="jxr_linenumber" name="829" href="#829">829</a>             log(<strong class="jxr_keyword">null</strong>, FQCN, Level.WARN, <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/logging/log4j/message/ObjectMessage.html">ObjectMessage</a>(message), <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="830" href="#830">830</a>         }
<a class="jxr_linenumber" name="831" href="#831">831</a>     }
<a class="jxr_linenumber" name="832" href="#832">832</a> 
<a class="jxr_linenumber" name="833" href="#833">833</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="834" href="#834">834</a> <em class="jxr_javadoccomment">     * Log a message at the &lt;code&gt;WARN&lt;/code&gt; level including the</em>
<a class="jxr_linenumber" name="835" href="#835">835</a> <em class="jxr_javadoccomment">     * stack trace of the {@link Throwable}&lt;code&gt;t&lt;/code&gt; passed as parameter.</em>
<a class="jxr_linenumber" name="836" href="#836">836</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="837" href="#837">837</a> <em class="jxr_javadoccomment">     * @param message the message object to log.</em>
<a class="jxr_linenumber" name="838" href="#838">838</a> <em class="jxr_javadoccomment">     * @param t       the exception to log, including its stack trace.</em>
<a class="jxr_linenumber" name="839" href="#839">839</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="840" href="#840">840</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> warn(Object message, Throwable t) {
<a class="jxr_linenumber" name="841" href="#841">841</a>         <strong class="jxr_keyword">if</strong> (isEnabled(Level.WARN, <strong class="jxr_keyword">null</strong>, message, t)) {
<a class="jxr_linenumber" name="842" href="#842">842</a>             log(<strong class="jxr_keyword">null</strong>, FQCN, Level.DEBUG, <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/logging/log4j/message/ObjectMessage.html">ObjectMessage</a>(message), t);
<a class="jxr_linenumber" name="843" href="#843">843</a>         }
<a class="jxr_linenumber" name="844" href="#844">844</a>     }
<a class="jxr_linenumber" name="845" href="#845">845</a> 
<a class="jxr_linenumber" name="846" href="#846">846</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="847" href="#847">847</a> <em class="jxr_javadoccomment">     * Log a message at the &lt;code&gt;WARN&lt;/code&gt; level including the</em>
<a class="jxr_linenumber" name="848" href="#848">848</a> <em class="jxr_javadoccomment">     * stack trace of the {@link Throwable}&lt;code&gt;t&lt;/code&gt; passed as parameter.</em>
<a class="jxr_linenumber" name="849" href="#849">849</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="850" href="#850">850</a> <em class="jxr_javadoccomment">     * @param marker the marker data specific to this log statement.</em>
<a class="jxr_linenumber" name="851" href="#851">851</a> <em class="jxr_javadoccomment">     * @param message the message object to log.</em>
<a class="jxr_linenumber" name="852" href="#852">852</a> <em class="jxr_javadoccomment">     * @param t       the exception to log, including its stack trace.</em>
<a class="jxr_linenumber" name="853" href="#853">853</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="854" href="#854">854</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> warn(<a href="../../../../../org/apache/logging/log4j/Marker.html">Marker</a> marker, Object message, Throwable t) {
<a class="jxr_linenumber" name="855" href="#855">855</a>         <strong class="jxr_keyword">if</strong> (isEnabled(Level.WARN, marker, message, t)) {
<a class="jxr_linenumber" name="856" href="#856">856</a>             log(marker, FQCN, Level.DEBUG, <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/logging/log4j/message/ObjectMessage.html">ObjectMessage</a>(message), t);
<a class="jxr_linenumber" name="857" href="#857">857</a>         }
<a class="jxr_linenumber" name="858" href="#858">858</a>     }
<a class="jxr_linenumber" name="859" href="#859">859</a> 
<a class="jxr_linenumber" name="860" href="#860">860</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="861" href="#861">861</a> <em class="jxr_javadoccomment">     * Log a message with parameters at the &lt;code&gt;WARN&lt;/code&gt; level.</em>
<a class="jxr_linenumber" name="862" href="#862">862</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="863" href="#863">863</a> <em class="jxr_javadoccomment">     * @param message the message to log.</em>
<a class="jxr_linenumber" name="864" href="#864">864</a> <em class="jxr_javadoccomment">     * @param params  parameters to the message.</em>
<a class="jxr_linenumber" name="865" href="#865">865</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="866" href="#866">866</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> warn(String message, Object... params) {
<a class="jxr_linenumber" name="867" href="#867">867</a>         <strong class="jxr_keyword">if</strong> (isEnabled(Level.WARN, <strong class="jxr_keyword">null</strong>, message, params)) {
<a class="jxr_linenumber" name="868" href="#868">868</a>             <a href="../../../../../org/apache/logging/log4j/message/ParameterizedMessage.html">ParameterizedMessage</a> msg = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/logging/log4j/message/ParameterizedMessage.html">ParameterizedMessage</a>(message, params);
<a class="jxr_linenumber" name="869" href="#869">869</a>             log(<strong class="jxr_keyword">null</strong>, FQCN, Level.WARN, msg, msg.getThrowable());
<a class="jxr_linenumber" name="870" href="#870">870</a>         }
<a class="jxr_linenumber" name="871" href="#871">871</a>     }
<a class="jxr_linenumber" name="872" href="#872">872</a> 
<a class="jxr_linenumber" name="873" href="#873">873</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="874" href="#874">874</a> <em class="jxr_javadoccomment">     * Log a message with parameters at the &lt;code&gt;WARN&lt;/code&gt; level.</em>
<a class="jxr_linenumber" name="875" href="#875">875</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="876" href="#876">876</a> <em class="jxr_javadoccomment">     * @param marker the marker data specific to this log statement.</em>
<a class="jxr_linenumber" name="877" href="#877">877</a> <em class="jxr_javadoccomment">     * @param message the message to log.</em>
<a class="jxr_linenumber" name="878" href="#878">878</a> <em class="jxr_javadoccomment">     * @param params  parameters to the message.</em>
<a class="jxr_linenumber" name="879" href="#879">879</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="880" href="#880">880</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> warn(<a href="../../../../../org/apache/logging/log4j/Marker.html">Marker</a> marker, String message, Object... params) {
<a class="jxr_linenumber" name="881" href="#881">881</a>         <strong class="jxr_keyword">if</strong> (isEnabled(Level.WARN, marker, message, params)) {
<a class="jxr_linenumber" name="882" href="#882">882</a>             <a href="../../../../../org/apache/logging/log4j/message/ParameterizedMessage.html">ParameterizedMessage</a> msg = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/logging/log4j/message/ParameterizedMessage.html">ParameterizedMessage</a>(message, params);
<a class="jxr_linenumber" name="883" href="#883">883</a>             log(marker, FQCN, Level.WARN, msg, msg.getThrowable());
<a class="jxr_linenumber" name="884" href="#884">884</a>         }
<a class="jxr_linenumber" name="885" href="#885">885</a>     }
<a class="jxr_linenumber" name="886" href="#886">886</a> 
<a class="jxr_linenumber" name="887" href="#887">887</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="888" href="#888">888</a> <em class="jxr_javadoccomment">     * Check whether this Logger is enabled for the WARN Level.</em>
<a class="jxr_linenumber" name="889" href="#889">889</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="890" href="#890">890</a> <em class="jxr_javadoccomment">     * @return boolean - &lt;code&gt;true&lt;/code&gt; if this Logger is enabled for level</em>
<a class="jxr_linenumber" name="891" href="#891">891</a> <em class="jxr_javadoccomment">     *         WARN, &lt;code&gt;false&lt;/code&gt; otherwise.</em>
<a class="jxr_linenumber" name="892" href="#892">892</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="893" href="#893">893</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> isWarnEnabled() {
<a class="jxr_linenumber" name="894" href="#894">894</a>         <strong class="jxr_keyword">return</strong> isEnabled(Level.WARN, <strong class="jxr_keyword">null</strong>, (Object) <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="895" href="#895">895</a>     }
<a class="jxr_linenumber" name="896" href="#896">896</a> 
<a class="jxr_linenumber" name="897" href="#897">897</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="898" href="#898">898</a> <em class="jxr_javadoccomment">     * Check whether this Logger is enabled for the WARN Level.</em>
<a class="jxr_linenumber" name="899" href="#899">899</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="900" href="#900">900</a> <em class="jxr_javadoccomment">     * @param marker The marker data.</em>
<a class="jxr_linenumber" name="901" href="#901">901</a> <em class="jxr_javadoccomment">     * @return boolean - &lt;code&gt;true&lt;/code&gt; if this Logger is enabled for level</em>
<a class="jxr_linenumber" name="902" href="#902">902</a> <em class="jxr_javadoccomment">     *         WARN, &lt;code&gt;false&lt;/code&gt; otherwise.</em>
<a class="jxr_linenumber" name="903" href="#903">903</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="904" href="#904">904</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> isWarnEnabled(<a href="../../../../../org/apache/logging/log4j/Marker.html">Marker</a> marker) {
<a class="jxr_linenumber" name="905" href="#905">905</a>         <strong class="jxr_keyword">return</strong> isEnabled(Level.WARN, marker, (Object) <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="906" href="#906">906</a>     }
<a class="jxr_linenumber" name="907" href="#907">907</a> 
<a class="jxr_linenumber" name="908" href="#908">908</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="909" href="#909">909</a> <em class="jxr_javadoccomment">     * Log a message with the specific Marker at the WARN level.</em>
<a class="jxr_linenumber" name="910" href="#910">910</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="911" href="#911">911</a> <em class="jxr_javadoccomment">     * @param msg the message string to be logged</em>
<a class="jxr_linenumber" name="912" href="#912">912</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="913" href="#913">913</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> warn(<a href="../../../../../org/apache/logging/log4j/message/Message.html">Message</a> msg) {
<a class="jxr_linenumber" name="914" href="#914">914</a>         <strong class="jxr_keyword">if</strong> (isEnabled(Level.WARN, <strong class="jxr_keyword">null</strong>, msg, <strong class="jxr_keyword">null</strong>)) {
<a class="jxr_linenumber" name="915" href="#915">915</a>             log(<strong class="jxr_keyword">null</strong>, FQCN, Level.WARN, msg, <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="916" href="#916">916</a>         }
<a class="jxr_linenumber" name="917" href="#917">917</a>     }
<a class="jxr_linenumber" name="918" href="#918">918</a> 
<a class="jxr_linenumber" name="919" href="#919">919</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="920" href="#920">920</a> <em class="jxr_javadoccomment">     * Log a message with the specific Marker at the WARN level.</em>
<a class="jxr_linenumber" name="921" href="#921">921</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="922" href="#922">922</a> <em class="jxr_javadoccomment">     * @param msg the message string to be logged</em>
<a class="jxr_linenumber" name="923" href="#923">923</a> <em class="jxr_javadoccomment">     * @param t   A Throwable or null.</em>
<a class="jxr_linenumber" name="924" href="#924">924</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="925" href="#925">925</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> warn(<a href="../../../../../org/apache/logging/log4j/message/Message.html">Message</a> msg, Throwable t) {
<a class="jxr_linenumber" name="926" href="#926">926</a>         <strong class="jxr_keyword">if</strong> (isEnabled(Level.WARN, <strong class="jxr_keyword">null</strong>, msg, t)) {
<a class="jxr_linenumber" name="927" href="#927">927</a>             log(<strong class="jxr_keyword">null</strong>, FQCN, Level.WARN, msg, t);
<a class="jxr_linenumber" name="928" href="#928">928</a>         }
<a class="jxr_linenumber" name="929" href="#929">929</a>     }
<a class="jxr_linenumber" name="930" href="#930">930</a> 
<a class="jxr_linenumber" name="931" href="#931">931</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="932" href="#932">932</a> <em class="jxr_javadoccomment">     * Log a message with the specific Marker at the WARN level.</em>
<a class="jxr_linenumber" name="933" href="#933">933</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="934" href="#934">934</a> <em class="jxr_javadoccomment">     * @param marker the marker data specific to this log statement</em>
<a class="jxr_linenumber" name="935" href="#935">935</a> <em class="jxr_javadoccomment">     * @param msg    the message string to be logged</em>
<a class="jxr_linenumber" name="936" href="#936">936</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="937" href="#937">937</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> warn(<a href="../../../../../org/apache/logging/log4j/Marker.html">Marker</a> marker, <a href="../../../../../org/apache/logging/log4j/message/Message.html">Message</a> msg) {
<a class="jxr_linenumber" name="938" href="#938">938</a>         <strong class="jxr_keyword">if</strong> (isEnabled(Level.WARN, <strong class="jxr_keyword">null</strong>, msg, <strong class="jxr_keyword">null</strong>)) {
<a class="jxr_linenumber" name="939" href="#939">939</a>             log(marker, FQCN, Level.WARN, msg, <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="940" href="#940">940</a>         }
<a class="jxr_linenumber" name="941" href="#941">941</a>     }
<a class="jxr_linenumber" name="942" href="#942">942</a> 
<a class="jxr_linenumber" name="943" href="#943">943</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="944" href="#944">944</a> <em class="jxr_javadoccomment">     * Log a message with the specific Marker at the WARN level.</em>
<a class="jxr_linenumber" name="945" href="#945">945</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="946" href="#946">946</a> <em class="jxr_javadoccomment">     * @param marker the marker data specific to this log statement</em>
<a class="jxr_linenumber" name="947" href="#947">947</a> <em class="jxr_javadoccomment">     * @param msg    the message string to be logged</em>
<a class="jxr_linenumber" name="948" href="#948">948</a> <em class="jxr_javadoccomment">     * @param t      A Throwable or null.</em>
<a class="jxr_linenumber" name="949" href="#949">949</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="950" href="#950">950</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> warn(<a href="../../../../../org/apache/logging/log4j/Marker.html">Marker</a> marker, <a href="../../../../../org/apache/logging/log4j/message/Message.html">Message</a> msg, Throwable t) {
<a class="jxr_linenumber" name="951" href="#951">951</a>         <strong class="jxr_keyword">if</strong> (isEnabled(Level.WARN, marker, msg, t)) {
<a class="jxr_linenumber" name="952" href="#952">952</a>             log(marker, FQCN, Level.WARN, msg, t);
<a class="jxr_linenumber" name="953" href="#953">953</a>         }
<a class="jxr_linenumber" name="954" href="#954">954</a>     }
<a class="jxr_linenumber" name="955" href="#955">955</a> 
<a class="jxr_linenumber" name="956" href="#956">956</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="957" href="#957">957</a> <em class="jxr_javadoccomment">     * Log a message object with the {@link org.apache.logging.log4j.Level#ERROR ERROR} level.</em>
<a class="jxr_linenumber" name="958" href="#958">958</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="959" href="#959">959</a> <em class="jxr_javadoccomment">     * @param message the message object to log.</em>
<a class="jxr_linenumber" name="960" href="#960">960</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="961" href="#961">961</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> error(String message) {
<a class="jxr_linenumber" name="962" href="#962">962</a>         <strong class="jxr_keyword">if</strong> (isEnabled(Level.ERROR, <strong class="jxr_keyword">null</strong>, message)) {
<a class="jxr_linenumber" name="963" href="#963">963</a>             log(<strong class="jxr_keyword">null</strong>, FQCN, Level.ERROR, <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/logging/log4j/message/SimpleMessage.html">SimpleMessage</a>(message), <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="964" href="#964">964</a>         }
<a class="jxr_linenumber" name="965" href="#965">965</a>     }
<a class="jxr_linenumber" name="966" href="#966">966</a> 
<a class="jxr_linenumber" name="967" href="#967">967</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="968" href="#968">968</a> <em class="jxr_javadoccomment">     * Log a message object with the {@link org.apache.logging.log4j.Level#ERROR ERROR} level.</em>
<a class="jxr_linenumber" name="969" href="#969">969</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="970" href="#970">970</a> <em class="jxr_javadoccomment">     * @param marker the marker data specific to this log statement.</em>
<a class="jxr_linenumber" name="971" href="#971">971</a> <em class="jxr_javadoccomment">     * @param message the message object to log.</em>
<a class="jxr_linenumber" name="972" href="#972">972</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="973" href="#973">973</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> error(<a href="../../../../../org/apache/logging/log4j/Marker.html">Marker</a> marker, String message) {
<a class="jxr_linenumber" name="974" href="#974">974</a>         <strong class="jxr_keyword">if</strong> (isEnabled(Level.ERROR, marker, message)) {
<a class="jxr_linenumber" name="975" href="#975">975</a>             log(marker, FQCN, Level.ERROR, <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/logging/log4j/message/SimpleMessage.html">SimpleMessage</a>(message), <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="976" href="#976">976</a>         }
<a class="jxr_linenumber" name="977" href="#977">977</a>     }
<a class="jxr_linenumber" name="978" href="#978">978</a> 
<a class="jxr_linenumber" name="979" href="#979">979</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="980" href="#980">980</a> <em class="jxr_javadoccomment">     * Log a message at the &lt;code&gt;ERROR&lt;/code&gt; level including the</em>
<a class="jxr_linenumber" name="981" href="#981">981</a> <em class="jxr_javadoccomment">     * stack trace of the {@link Throwable}&lt;code&gt;t&lt;/code&gt; passed as parameter.</em>
<a class="jxr_linenumber" name="982" href="#982">982</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="983" href="#983">983</a> <em class="jxr_javadoccomment">     * @param message the message object to log.</em>
<a class="jxr_linenumber" name="984" href="#984">984</a> <em class="jxr_javadoccomment">     * @param t       the exception to log, including its stack trace.</em>
<a class="jxr_linenumber" name="985" href="#985">985</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="986" href="#986">986</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> error(String message, Throwable t) {
<a class="jxr_linenumber" name="987" href="#987">987</a>         <strong class="jxr_keyword">if</strong> (isEnabled(Level.ERROR, <strong class="jxr_keyword">null</strong>, message, t)) {
<a class="jxr_linenumber" name="988" href="#988">988</a>             log(<strong class="jxr_keyword">null</strong>, FQCN, Level.ERROR, <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/logging/log4j/message/SimpleMessage.html">SimpleMessage</a>(message), t);
<a class="jxr_linenumber" name="989" href="#989">989</a>         }
<a class="jxr_linenumber" name="990" href="#990">990</a>     }
<a class="jxr_linenumber" name="991" href="#991">991</a> 
<a class="jxr_linenumber" name="992" href="#992">992</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="993" href="#993">993</a> <em class="jxr_javadoccomment">     * Log a message at the &lt;code&gt;ERROR&lt;/code&gt; level including the</em>
<a class="jxr_linenumber" name="994" href="#994">994</a> <em class="jxr_javadoccomment">     * stack trace of the {@link Throwable}&lt;code&gt;t&lt;/code&gt; passed as parameter.</em>
<a class="jxr_linenumber" name="995" href="#995">995</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="996" href="#996">996</a> <em class="jxr_javadoccomment">     * @param marker the marker data specific to this log statement.</em>
<a class="jxr_linenumber" name="997" href="#997">997</a> <em class="jxr_javadoccomment">     * @param message the message object to log.</em>
<a class="jxr_linenumber" name="998" href="#998">998</a> <em class="jxr_javadoccomment">     * @param t       the exception to log, including its stack trace.</em>
<a class="jxr_linenumber" name="999" href="#999">999</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="1000" href="#1000">1000</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> error(<a href="../../../../../org/apache/logging/log4j/Marker.html">Marker</a> marker, String message, Throwable t) {
<a class="jxr_linenumber" name="1001" href="#1001">1001</a>         <strong class="jxr_keyword">if</strong> (isEnabled(Level.ERROR, marker, message, t)) {
<a class="jxr_linenumber" name="1002" href="#1002">1002</a>             log(marker, FQCN, Level.ERROR, <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/logging/log4j/message/SimpleMessage.html">SimpleMessage</a>(message), t);
<a class="jxr_linenumber" name="1003" href="#1003">1003</a>         }
<a class="jxr_linenumber" name="1004" href="#1004">1004</a>     }
<a class="jxr_linenumber" name="1005" href="#1005">1005</a> 
<a class="jxr_linenumber" name="1006" href="#1006">1006</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1007" href="#1007">1007</a> <em class="jxr_javadoccomment">     * Log a message object with the {@link org.apache.logging.log4j.Level#ERROR ERROR} level.</em>
<a class="jxr_linenumber" name="1008" href="#1008">1008</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="1009" href="#1009">1009</a> <em class="jxr_javadoccomment">     * @param message the message object to log.</em>
<a class="jxr_linenumber" name="1010" href="#1010">1010</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="1011" href="#1011">1011</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> error(Object message) {
<a class="jxr_linenumber" name="1012" href="#1012">1012</a>         <strong class="jxr_keyword">if</strong> (isEnabled(Level.ERROR, <strong class="jxr_keyword">null</strong>, message, <strong class="jxr_keyword">null</strong>)) {
<a class="jxr_linenumber" name="1013" href="#1013">1013</a>             log(<strong class="jxr_keyword">null</strong>, FQCN, Level.ERROR, <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/logging/log4j/message/ObjectMessage.html">ObjectMessage</a>(message), <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="1014" href="#1014">1014</a>         }
<a class="jxr_linenumber" name="1015" href="#1015">1015</a>     }
<a class="jxr_linenumber" name="1016" href="#1016">1016</a> 
<a class="jxr_linenumber" name="1017" href="#1017">1017</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1018" href="#1018">1018</a> <em class="jxr_javadoccomment">     * Log a message object with the {@link org.apache.logging.log4j.Level#ERROR ERROR} level.</em>
<a class="jxr_linenumber" name="1019" href="#1019">1019</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="1020" href="#1020">1020</a> <em class="jxr_javadoccomment">     * @param marker the marker data specific to this log statement.</em>
<a class="jxr_linenumber" name="1021" href="#1021">1021</a> <em class="jxr_javadoccomment">     * @param message the message object to log.</em>
<a class="jxr_linenumber" name="1022" href="#1022">1022</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="1023" href="#1023">1023</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> error(<a href="../../../../../org/apache/logging/log4j/Marker.html">Marker</a> marker, Object message) {
<a class="jxr_linenumber" name="1024" href="#1024">1024</a>         <strong class="jxr_keyword">if</strong> (isEnabled(Level.ERROR, marker, message, <strong class="jxr_keyword">null</strong>)) {
<a class="jxr_linenumber" name="1025" href="#1025">1025</a>             log(marker, FQCN, Level.ERROR, <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/logging/log4j/message/ObjectMessage.html">ObjectMessage</a>(message), <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="1026" href="#1026">1026</a>         }
<a class="jxr_linenumber" name="1027" href="#1027">1027</a>     }
<a class="jxr_linenumber" name="1028" href="#1028">1028</a> 
<a class="jxr_linenumber" name="1029" href="#1029">1029</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1030" href="#1030">1030</a> <em class="jxr_javadoccomment">     * Log a message at the &lt;code&gt;ERROR&lt;/code&gt; level including the</em>
<a class="jxr_linenumber" name="1031" href="#1031">1031</a> <em class="jxr_javadoccomment">     * stack trace of the {@link Throwable}&lt;code&gt;t&lt;/code&gt; passed as parameter.</em>
<a class="jxr_linenumber" name="1032" href="#1032">1032</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="1033" href="#1033">1033</a> <em class="jxr_javadoccomment">     * @param message the message object to log.</em>
<a class="jxr_linenumber" name="1034" href="#1034">1034</a> <em class="jxr_javadoccomment">     * @param t       the exception to log, including its stack trace.</em>
<a class="jxr_linenumber" name="1035" href="#1035">1035</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="1036" href="#1036">1036</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> error(Object message, Throwable t) {
<a class="jxr_linenumber" name="1037" href="#1037">1037</a>         <strong class="jxr_keyword">if</strong> (isEnabled(Level.ERROR, <strong class="jxr_keyword">null</strong>, message, t)) {
<a class="jxr_linenumber" name="1038" href="#1038">1038</a>             log(<strong class="jxr_keyword">null</strong>, FQCN, Level.ERROR, <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/logging/log4j/message/ObjectMessage.html">ObjectMessage</a>(message), t);
<a class="jxr_linenumber" name="1039" href="#1039">1039</a>         }
<a class="jxr_linenumber" name="1040" href="#1040">1040</a>     }
<a class="jxr_linenumber" name="1041" href="#1041">1041</a> 
<a class="jxr_linenumber" name="1042" href="#1042">1042</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1043" href="#1043">1043</a> <em class="jxr_javadoccomment">     * Log a message at the &lt;code&gt;ERROR&lt;/code&gt; level including the</em>
<a class="jxr_linenumber" name="1044" href="#1044">1044</a> <em class="jxr_javadoccomment">     * stack trace of the {@link Throwable}&lt;code&gt;t&lt;/code&gt; passed as parameter.</em>
<a class="jxr_linenumber" name="1045" href="#1045">1045</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="1046" href="#1046">1046</a> <em class="jxr_javadoccomment">     * @param marker the marker data specific to this log statement.</em>
<a class="jxr_linenumber" name="1047" href="#1047">1047</a> <em class="jxr_javadoccomment">     * @param message the message object to log.</em>
<a class="jxr_linenumber" name="1048" href="#1048">1048</a> <em class="jxr_javadoccomment">     * @param t       the exception to log, including its stack trace.</em>
<a class="jxr_linenumber" name="1049" href="#1049">1049</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="1050" href="#1050">1050</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> error(<a href="../../../../../org/apache/logging/log4j/Marker.html">Marker</a> marker, Object message, Throwable t) {
<a class="jxr_linenumber" name="1051" href="#1051">1051</a>         <strong class="jxr_keyword">if</strong> (isEnabled(Level.ERROR, marker, message, t)) {
<a class="jxr_linenumber" name="1052" href="#1052">1052</a>             log(marker, FQCN, Level.ERROR, <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/logging/log4j/message/ObjectMessage.html">ObjectMessage</a>(message), t);
<a class="jxr_linenumber" name="1053" href="#1053">1053</a>         }
<a class="jxr_linenumber" name="1054" href="#1054">1054</a>     }
<a class="jxr_linenumber" name="1055" href="#1055">1055</a> 
<a class="jxr_linenumber" name="1056" href="#1056">1056</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1057" href="#1057">1057</a> <em class="jxr_javadoccomment">     * Log a message with parameters at the &lt;code&gt;ERROR&lt;/code&gt; level.</em>
<a class="jxr_linenumber" name="1058" href="#1058">1058</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="1059" href="#1059">1059</a> <em class="jxr_javadoccomment">     * @param message the message to log.</em>
<a class="jxr_linenumber" name="1060" href="#1060">1060</a> <em class="jxr_javadoccomment">     * @param params  parameters to the message.</em>
<a class="jxr_linenumber" name="1061" href="#1061">1061</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="1062" href="#1062">1062</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> error(String message, Object... params) {
<a class="jxr_linenumber" name="1063" href="#1063">1063</a>         <strong class="jxr_keyword">if</strong> (isEnabled(Level.ERROR, <strong class="jxr_keyword">null</strong>, message, params)) {
<a class="jxr_linenumber" name="1064" href="#1064">1064</a>             <a href="../../../../../org/apache/logging/log4j/message/ParameterizedMessage.html">ParameterizedMessage</a> msg = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/logging/log4j/message/ParameterizedMessage.html">ParameterizedMessage</a>(message, params);
<a class="jxr_linenumber" name="1065" href="#1065">1065</a>             log(<strong class="jxr_keyword">null</strong>, FQCN, Level.ERROR, msg, msg.getThrowable());
<a class="jxr_linenumber" name="1066" href="#1066">1066</a>         }
<a class="jxr_linenumber" name="1067" href="#1067">1067</a>     }
<a class="jxr_linenumber" name="1068" href="#1068">1068</a> 
<a class="jxr_linenumber" name="1069" href="#1069">1069</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1070" href="#1070">1070</a> <em class="jxr_javadoccomment">     * Log a message with parameters at the &lt;code&gt;ERROR&lt;/code&gt; level.</em>
<a class="jxr_linenumber" name="1071" href="#1071">1071</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="1072" href="#1072">1072</a> <em class="jxr_javadoccomment">     * @param marker the marker data specific to this log statement.</em>
<a class="jxr_linenumber" name="1073" href="#1073">1073</a> <em class="jxr_javadoccomment">     * @param message the message to log.</em>
<a class="jxr_linenumber" name="1074" href="#1074">1074</a> <em class="jxr_javadoccomment">     * @param params  parameters to the message.</em>
<a class="jxr_linenumber" name="1075" href="#1075">1075</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="1076" href="#1076">1076</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> error(<a href="../../../../../org/apache/logging/log4j/Marker.html">Marker</a> marker, String message, Object... params) {
<a class="jxr_linenumber" name="1077" href="#1077">1077</a>         <strong class="jxr_keyword">if</strong> (isEnabled(Level.ERROR, marker, message, params)) {
<a class="jxr_linenumber" name="1078" href="#1078">1078</a>             <a href="../../../../../org/apache/logging/log4j/message/ParameterizedMessage.html">ParameterizedMessage</a> msg = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/logging/log4j/message/ParameterizedMessage.html">ParameterizedMessage</a>(message, params);
<a class="jxr_linenumber" name="1079" href="#1079">1079</a>             log(marker, FQCN, Level.ERROR, msg, msg.getThrowable());
<a class="jxr_linenumber" name="1080" href="#1080">1080</a>         }
<a class="jxr_linenumber" name="1081" href="#1081">1081</a>     }
<a class="jxr_linenumber" name="1082" href="#1082">1082</a> 
<a class="jxr_linenumber" name="1083" href="#1083">1083</a> 
<a class="jxr_linenumber" name="1084" href="#1084">1084</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1085" href="#1085">1085</a> <em class="jxr_javadoccomment">     * Check whether this Logger is enabled for the ERROR Level.</em>
<a class="jxr_linenumber" name="1086" href="#1086">1086</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="1087" href="#1087">1087</a> <em class="jxr_javadoccomment">     * @return boolean - &lt;code&gt;true&lt;/code&gt; if this Logger is enabled for level</em>
<a class="jxr_linenumber" name="1088" href="#1088">1088</a> <em class="jxr_javadoccomment">     *         ERROR, &lt;code&gt;false&lt;/code&gt; otherwise.</em>
<a class="jxr_linenumber" name="1089" href="#1089">1089</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="1090" href="#1090">1090</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> isErrorEnabled() {
<a class="jxr_linenumber" name="1091" href="#1091">1091</a>         <strong class="jxr_keyword">return</strong> isEnabled(Level.ERROR, <strong class="jxr_keyword">null</strong>, (Object) <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="1092" href="#1092">1092</a>     }
<a class="jxr_linenumber" name="1093" href="#1093">1093</a> 
<a class="jxr_linenumber" name="1094" href="#1094">1094</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1095" href="#1095">1095</a> <em class="jxr_javadoccomment">     * Check whether this Logger is enabled for the ERROR Level.</em>
<a class="jxr_linenumber" name="1096" href="#1096">1096</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="1097" href="#1097">1097</a> <em class="jxr_javadoccomment">     * @param marker The marker data.</em>
<a class="jxr_linenumber" name="1098" href="#1098">1098</a> <em class="jxr_javadoccomment">     * @return boolean - &lt;code&gt;true&lt;/code&gt; if this Logger is enabled for level</em>
<a class="jxr_linenumber" name="1099" href="#1099">1099</a> <em class="jxr_javadoccomment">     *         ERROR, &lt;code&gt;false&lt;/code&gt; otherwise.</em>
<a class="jxr_linenumber" name="1100" href="#1100">1100</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="1101" href="#1101">1101</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> isErrorEnabled(<a href="../../../../../org/apache/logging/log4j/Marker.html">Marker</a> marker) {
<a class="jxr_linenumber" name="1102" href="#1102">1102</a>         <strong class="jxr_keyword">return</strong> isEnabled(Level.ERROR, marker, (Object) <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="1103" href="#1103">1103</a>     }
<a class="jxr_linenumber" name="1104" href="#1104">1104</a> 
<a class="jxr_linenumber" name="1105" href="#1105">1105</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1106" href="#1106">1106</a> <em class="jxr_javadoccomment">     * Log a message with the specific Marker at the ERROR level.</em>
<a class="jxr_linenumber" name="1107" href="#1107">1107</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="1108" href="#1108">1108</a> <em class="jxr_javadoccomment">     * @param msg the message string to be logged</em>
<a class="jxr_linenumber" name="1109" href="#1109">1109</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="1110" href="#1110">1110</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> error(<a href="../../../../../org/apache/logging/log4j/message/Message.html">Message</a> msg) {
<a class="jxr_linenumber" name="1111" href="#1111">1111</a>         <strong class="jxr_keyword">if</strong> (isEnabled(Level.ERROR, <strong class="jxr_keyword">null</strong>, msg, <strong class="jxr_keyword">null</strong>)) {
<a class="jxr_linenumber" name="1112" href="#1112">1112</a>             log(<strong class="jxr_keyword">null</strong>, FQCN, Level.ERROR, msg, <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="1113" href="#1113">1113</a>         }
<a class="jxr_linenumber" name="1114" href="#1114">1114</a>     }
<a class="jxr_linenumber" name="1115" href="#1115">1115</a> 
<a class="jxr_linenumber" name="1116" href="#1116">1116</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1117" href="#1117">1117</a> <em class="jxr_javadoccomment">     * Log a message with the specific Marker at the ERROR level.</em>
<a class="jxr_linenumber" name="1118" href="#1118">1118</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="1119" href="#1119">1119</a> <em class="jxr_javadoccomment">     * @param msg the message string to be logged</em>
<a class="jxr_linenumber" name="1120" href="#1120">1120</a> <em class="jxr_javadoccomment">     * @param t   A Throwable or null.</em>
<a class="jxr_linenumber" name="1121" href="#1121">1121</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="1122" href="#1122">1122</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> error(<a href="../../../../../org/apache/logging/log4j/message/Message.html">Message</a> msg, Throwable t) {
<a class="jxr_linenumber" name="1123" href="#1123">1123</a>         <strong class="jxr_keyword">if</strong> (isEnabled(Level.ERROR, <strong class="jxr_keyword">null</strong>, msg, t)) {
<a class="jxr_linenumber" name="1124" href="#1124">1124</a>             log(<strong class="jxr_keyword">null</strong>, FQCN, Level.ERROR, msg, t);
<a class="jxr_linenumber" name="1125" href="#1125">1125</a>         }
<a class="jxr_linenumber" name="1126" href="#1126">1126</a>     }
<a class="jxr_linenumber" name="1127" href="#1127">1127</a> 
<a class="jxr_linenumber" name="1128" href="#1128">1128</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1129" href="#1129">1129</a> <em class="jxr_javadoccomment">     * Log a message with the specific Marker at the ERROR level.</em>
<a class="jxr_linenumber" name="1130" href="#1130">1130</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="1131" href="#1131">1131</a> <em class="jxr_javadoccomment">     * @param marker the marker data specific to this log statement</em>
<a class="jxr_linenumber" name="1132" href="#1132">1132</a> <em class="jxr_javadoccomment">     * @param msg    the message string to be logged</em>
<a class="jxr_linenumber" name="1133" href="#1133">1133</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="1134" href="#1134">1134</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> error(<a href="../../../../../org/apache/logging/log4j/Marker.html">Marker</a> marker, <a href="../../../../../org/apache/logging/log4j/message/Message.html">Message</a> msg) {
<a class="jxr_linenumber" name="1135" href="#1135">1135</a>         <strong class="jxr_keyword">if</strong> (isEnabled(Level.ERROR, <strong class="jxr_keyword">null</strong>, msg, <strong class="jxr_keyword">null</strong>)) {
<a class="jxr_linenumber" name="1136" href="#1136">1136</a>             log(<strong class="jxr_keyword">null</strong>, FQCN, Level.ERROR, msg, <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="1137" href="#1137">1137</a>         }
<a class="jxr_linenumber" name="1138" href="#1138">1138</a>     }
<a class="jxr_linenumber" name="1139" href="#1139">1139</a> 
<a class="jxr_linenumber" name="1140" href="#1140">1140</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1141" href="#1141">1141</a> <em class="jxr_javadoccomment">     * Log a message with the specific Marker at the ERROR level.</em>
<a class="jxr_linenumber" name="1142" href="#1142">1142</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="1143" href="#1143">1143</a> <em class="jxr_javadoccomment">     * @param marker the marker data specific to this log statement</em>
<a class="jxr_linenumber" name="1144" href="#1144">1144</a> <em class="jxr_javadoccomment">     * @param msg    the message string to be logged</em>
<a class="jxr_linenumber" name="1145" href="#1145">1145</a> <em class="jxr_javadoccomment">     * @param t      A Throwable or null.</em>
<a class="jxr_linenumber" name="1146" href="#1146">1146</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="1147" href="#1147">1147</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> error(<a href="../../../../../org/apache/logging/log4j/Marker.html">Marker</a> marker, <a href="../../../../../org/apache/logging/log4j/message/Message.html">Message</a> msg, Throwable t) {
<a class="jxr_linenumber" name="1148" href="#1148">1148</a>         <strong class="jxr_keyword">if</strong> (isEnabled(Level.TRACE, marker, msg, t)) {
<a class="jxr_linenumber" name="1149" href="#1149">1149</a>             log(marker, FQCN, Level.TRACE, msg, t);
<a class="jxr_linenumber" name="1150" href="#1150">1150</a>         }
<a class="jxr_linenumber" name="1151" href="#1151">1151</a>     }
<a class="jxr_linenumber" name="1152" href="#1152">1152</a> 
<a class="jxr_linenumber" name="1153" href="#1153">1153</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1154" href="#1154">1154</a> <em class="jxr_javadoccomment">     * Log a message object with the {@link org.apache.logging.log4j.Level#FATAL FATAL} level.</em>
<a class="jxr_linenumber" name="1155" href="#1155">1155</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="1156" href="#1156">1156</a> <em class="jxr_javadoccomment">     * @param message the message object to log.</em>
<a class="jxr_linenumber" name="1157" href="#1157">1157</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="1158" href="#1158">1158</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> fatal(String message) {
<a class="jxr_linenumber" name="1159" href="#1159">1159</a>         <strong class="jxr_keyword">if</strong> (isEnabled(Level.FATAL, <strong class="jxr_keyword">null</strong>, message)) {
<a class="jxr_linenumber" name="1160" href="#1160">1160</a>             log(<strong class="jxr_keyword">null</strong>, FQCN, Level.FATAL, <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/logging/log4j/message/SimpleMessage.html">SimpleMessage</a>(message), <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="1161" href="#1161">1161</a>         }
<a class="jxr_linenumber" name="1162" href="#1162">1162</a>     }
<a class="jxr_linenumber" name="1163" href="#1163">1163</a> 
<a class="jxr_linenumber" name="1164" href="#1164">1164</a> 
<a class="jxr_linenumber" name="1165" href="#1165">1165</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1166" href="#1166">1166</a> <em class="jxr_javadoccomment">     * Log a message object with the {@link org.apache.logging.log4j.Level#FATAL FATAL} level.</em>
<a class="jxr_linenumber" name="1167" href="#1167">1167</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="1168" href="#1168">1168</a> <em class="jxr_javadoccomment">     * @param marker the marker data specific to this log statement.</em>
<a class="jxr_linenumber" name="1169" href="#1169">1169</a> <em class="jxr_javadoccomment">     * @param message the message object to log.</em>
<a class="jxr_linenumber" name="1170" href="#1170">1170</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="1171" href="#1171">1171</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> fatal(<a href="../../../../../org/apache/logging/log4j/Marker.html">Marker</a> marker, String message) {
<a class="jxr_linenumber" name="1172" href="#1172">1172</a>         <strong class="jxr_keyword">if</strong> (isEnabled(Level.FATAL, marker, message)) {
<a class="jxr_linenumber" name="1173" href="#1173">1173</a>             log(marker, FQCN, Level.FATAL, <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/logging/log4j/message/SimpleMessage.html">SimpleMessage</a>(message), <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="1174" href="#1174">1174</a>         }
<a class="jxr_linenumber" name="1175" href="#1175">1175</a>     }
<a class="jxr_linenumber" name="1176" href="#1176">1176</a> 
<a class="jxr_linenumber" name="1177" href="#1177">1177</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1178" href="#1178">1178</a> <em class="jxr_javadoccomment">     * Log a message at the &lt;code&gt;FATAL&lt;/code&gt; level including the</em>
<a class="jxr_linenumber" name="1179" href="#1179">1179</a> <em class="jxr_javadoccomment">     * stack trace of the {@link Throwable}&lt;code&gt;t&lt;/code&gt; passed as parameter.</em>
<a class="jxr_linenumber" name="1180" href="#1180">1180</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="1181" href="#1181">1181</a> <em class="jxr_javadoccomment">     * @param message the message object to log.</em>
<a class="jxr_linenumber" name="1182" href="#1182">1182</a> <em class="jxr_javadoccomment">     * @param t       the exception to log, including its stack trace.</em>
<a class="jxr_linenumber" name="1183" href="#1183">1183</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="1184" href="#1184">1184</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> fatal(String message, Throwable t) {
<a class="jxr_linenumber" name="1185" href="#1185">1185</a>         <strong class="jxr_keyword">if</strong> (isEnabled(Level.FATAL, <strong class="jxr_keyword">null</strong>, message, t)) {
<a class="jxr_linenumber" name="1186" href="#1186">1186</a>             log(<strong class="jxr_keyword">null</strong>, FQCN, Level.FATAL, <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/logging/log4j/message/SimpleMessage.html">SimpleMessage</a>(message), t);
<a class="jxr_linenumber" name="1187" href="#1187">1187</a>         }
<a class="jxr_linenumber" name="1188" href="#1188">1188</a>     }
<a class="jxr_linenumber" name="1189" href="#1189">1189</a> 
<a class="jxr_linenumber" name="1190" href="#1190">1190</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1191" href="#1191">1191</a> <em class="jxr_javadoccomment">     * Log a message at the &lt;code&gt;FATAL&lt;/code&gt; level including the</em>
<a class="jxr_linenumber" name="1192" href="#1192">1192</a> <em class="jxr_javadoccomment">     * stack trace of the {@link Throwable}&lt;code&gt;t&lt;/code&gt; passed as parameter.</em>
<a class="jxr_linenumber" name="1193" href="#1193">1193</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="1194" href="#1194">1194</a> <em class="jxr_javadoccomment">     * @param marker the marker data specific to this log statement.</em>
<a class="jxr_linenumber" name="1195" href="#1195">1195</a> <em class="jxr_javadoccomment">     * @param message the message object to log.</em>
<a class="jxr_linenumber" name="1196" href="#1196">1196</a> <em class="jxr_javadoccomment">     * @param t       the exception to log, including its stack trace.</em>
<a class="jxr_linenumber" name="1197" href="#1197">1197</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="1198" href="#1198">1198</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> fatal(<a href="../../../../../org/apache/logging/log4j/Marker.html">Marker</a> marker, String message, Throwable t) {
<a class="jxr_linenumber" name="1199" href="#1199">1199</a>         <strong class="jxr_keyword">if</strong> (isEnabled(Level.FATAL, marker, message, t)) {
<a class="jxr_linenumber" name="1200" href="#1200">1200</a>             log(marker, FQCN, Level.FATAL, <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/logging/log4j/message/SimpleMessage.html">SimpleMessage</a>(message), t);
<a class="jxr_linenumber" name="1201" href="#1201">1201</a>         }
<a class="jxr_linenumber" name="1202" href="#1202">1202</a>     }
<a class="jxr_linenumber" name="1203" href="#1203">1203</a> 
<a class="jxr_linenumber" name="1204" href="#1204">1204</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1205" href="#1205">1205</a> <em class="jxr_javadoccomment">     * Log a message object with the {@link org.apache.logging.log4j.Level#FATAL FATAL} level.</em>
<a class="jxr_linenumber" name="1206" href="#1206">1206</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="1207" href="#1207">1207</a> <em class="jxr_javadoccomment">     * @param message the message object to log.</em>
<a class="jxr_linenumber" name="1208" href="#1208">1208</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="1209" href="#1209">1209</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> fatal(Object message) {
<a class="jxr_linenumber" name="1210" href="#1210">1210</a>         <strong class="jxr_keyword">if</strong> (isEnabled(Level.FATAL, <strong class="jxr_keyword">null</strong>, message, <strong class="jxr_keyword">null</strong>)) {
<a class="jxr_linenumber" name="1211" href="#1211">1211</a>             log(<strong class="jxr_keyword">null</strong>, FQCN, Level.FATAL, <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/logging/log4j/message/ObjectMessage.html">ObjectMessage</a>(message), <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="1212" href="#1212">1212</a>         }
<a class="jxr_linenumber" name="1213" href="#1213">1213</a>     }
<a class="jxr_linenumber" name="1214" href="#1214">1214</a> 
<a class="jxr_linenumber" name="1215" href="#1215">1215</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1216" href="#1216">1216</a> <em class="jxr_javadoccomment">     * Log a message object with the {@link org.apache.logging.log4j.Level#FATAL FATAL} level.</em>
<a class="jxr_linenumber" name="1217" href="#1217">1217</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="1218" href="#1218">1218</a> <em class="jxr_javadoccomment">     * @param marker the marker data specific to this log statement.</em>
<a class="jxr_linenumber" name="1219" href="#1219">1219</a> <em class="jxr_javadoccomment">     * @param message the message object to log.</em>
<a class="jxr_linenumber" name="1220" href="#1220">1220</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="1221" href="#1221">1221</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> fatal(<a href="../../../../../org/apache/logging/log4j/Marker.html">Marker</a> marker, Object message) {
<a class="jxr_linenumber" name="1222" href="#1222">1222</a>         <strong class="jxr_keyword">if</strong> (isEnabled(Level.FATAL, marker, message, <strong class="jxr_keyword">null</strong>)) {
<a class="jxr_linenumber" name="1223" href="#1223">1223</a>             log(marker, FQCN, Level.FATAL, <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/logging/log4j/message/ObjectMessage.html">ObjectMessage</a>(message), <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="1224" href="#1224">1224</a>         }
<a class="jxr_linenumber" name="1225" href="#1225">1225</a>     }
<a class="jxr_linenumber" name="1226" href="#1226">1226</a> 
<a class="jxr_linenumber" name="1227" href="#1227">1227</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1228" href="#1228">1228</a> <em class="jxr_javadoccomment">     * Log a message at the &lt;code&gt;FATAL&lt;/code&gt; level including the</em>
<a class="jxr_linenumber" name="1229" href="#1229">1229</a> <em class="jxr_javadoccomment">     * stack trace of the {@link Throwable}&lt;code&gt;t&lt;/code&gt; passed as parameter.</em>
<a class="jxr_linenumber" name="1230" href="#1230">1230</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="1231" href="#1231">1231</a> <em class="jxr_javadoccomment">     * @param message the message object to log.</em>
<a class="jxr_linenumber" name="1232" href="#1232">1232</a> <em class="jxr_javadoccomment">     * @param t       the exception to log, including its stack trace.</em>
<a class="jxr_linenumber" name="1233" href="#1233">1233</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="1234" href="#1234">1234</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> fatal(Object message, Throwable t) {
<a class="jxr_linenumber" name="1235" href="#1235">1235</a>         <strong class="jxr_keyword">if</strong> (isEnabled(Level.FATAL, <strong class="jxr_keyword">null</strong>, message, t)) {
<a class="jxr_linenumber" name="1236" href="#1236">1236</a>             log(<strong class="jxr_keyword">null</strong>, FQCN, Level.FATAL, <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/logging/log4j/message/ObjectMessage.html">ObjectMessage</a>(message), t);
<a class="jxr_linenumber" name="1237" href="#1237">1237</a>         }
<a class="jxr_linenumber" name="1238" href="#1238">1238</a>     }
<a class="jxr_linenumber" name="1239" href="#1239">1239</a> 
<a class="jxr_linenumber" name="1240" href="#1240">1240</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1241" href="#1241">1241</a> <em class="jxr_javadoccomment">     * Log a message at the &lt;code&gt;FATAL&lt;/code&gt; level including the</em>
<a class="jxr_linenumber" name="1242" href="#1242">1242</a> <em class="jxr_javadoccomment">     * stack trace of the {@link Throwable}&lt;code&gt;t&lt;/code&gt; passed as parameter.</em>
<a class="jxr_linenumber" name="1243" href="#1243">1243</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="1244" href="#1244">1244</a> <em class="jxr_javadoccomment">     * @param marker the marker data specific to this log statement.</em>
<a class="jxr_linenumber" name="1245" href="#1245">1245</a> <em class="jxr_javadoccomment">     * @param message the message object to log.</em>
<a class="jxr_linenumber" name="1246" href="#1246">1246</a> <em class="jxr_javadoccomment">     * @param t       the exception to log, including its stack trace.</em>
<a class="jxr_linenumber" name="1247" href="#1247">1247</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="1248" href="#1248">1248</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> fatal(<a href="../../../../../org/apache/logging/log4j/Marker.html">Marker</a> marker, Object message, Throwable t) {
<a class="jxr_linenumber" name="1249" href="#1249">1249</a>         <strong class="jxr_keyword">if</strong> (isEnabled(Level.FATAL, marker, message, t)) {
<a class="jxr_linenumber" name="1250" href="#1250">1250</a>             log(marker, FQCN, Level.FATAL, <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/logging/log4j/message/ObjectMessage.html">ObjectMessage</a>(message), t);
<a class="jxr_linenumber" name="1251" href="#1251">1251</a>         }
<a class="jxr_linenumber" name="1252" href="#1252">1252</a>     }
<a class="jxr_linenumber" name="1253" href="#1253">1253</a> 
<a class="jxr_linenumber" name="1254" href="#1254">1254</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1255" href="#1255">1255</a> <em class="jxr_javadoccomment">     * Log a message with parameters at the &lt;code&gt;FATAL&lt;/code&gt; level.</em>
<a class="jxr_linenumber" name="1256" href="#1256">1256</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="1257" href="#1257">1257</a> <em class="jxr_javadoccomment">     * @param message the message to log.</em>
<a class="jxr_linenumber" name="1258" href="#1258">1258</a> <em class="jxr_javadoccomment">     * @param params  parameters to the message.</em>
<a class="jxr_linenumber" name="1259" href="#1259">1259</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="1260" href="#1260">1260</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> fatal(String message, Object... params) {
<a class="jxr_linenumber" name="1261" href="#1261">1261</a>         <strong class="jxr_keyword">if</strong> (isEnabled(Level.FATAL, <strong class="jxr_keyword">null</strong>, message, params)) {
<a class="jxr_linenumber" name="1262" href="#1262">1262</a>             <a href="../../../../../org/apache/logging/log4j/message/ParameterizedMessage.html">ParameterizedMessage</a> msg = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/logging/log4j/message/ParameterizedMessage.html">ParameterizedMessage</a>(message, params);
<a class="jxr_linenumber" name="1263" href="#1263">1263</a>             log(<strong class="jxr_keyword">null</strong>, FQCN, Level.FATAL, msg, msg.getThrowable());
<a class="jxr_linenumber" name="1264" href="#1264">1264</a>         }
<a class="jxr_linenumber" name="1265" href="#1265">1265</a>     }
<a class="jxr_linenumber" name="1266" href="#1266">1266</a> 
<a class="jxr_linenumber" name="1267" href="#1267">1267</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1268" href="#1268">1268</a> <em class="jxr_javadoccomment">     * Log a message with parameters at the &lt;code&gt;FATAL&lt;/code&gt; level.</em>
<a class="jxr_linenumber" name="1269" href="#1269">1269</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="1270" href="#1270">1270</a> <em class="jxr_javadoccomment">     * @param marker the marker data specific to this log statement.</em>
<a class="jxr_linenumber" name="1271" href="#1271">1271</a> <em class="jxr_javadoccomment">     * @param message the message to log.</em>
<a class="jxr_linenumber" name="1272" href="#1272">1272</a> <em class="jxr_javadoccomment">     * @param params  parameters to the message.</em>
<a class="jxr_linenumber" name="1273" href="#1273">1273</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="1274" href="#1274">1274</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> fatal(<a href="../../../../../org/apache/logging/log4j/Marker.html">Marker</a> marker, String message, Object... params) {
<a class="jxr_linenumber" name="1275" href="#1275">1275</a>         <strong class="jxr_keyword">if</strong> (isEnabled(Level.FATAL, marker, message, params)) {
<a class="jxr_linenumber" name="1276" href="#1276">1276</a>             <a href="../../../../../org/apache/logging/log4j/message/ParameterizedMessage.html">ParameterizedMessage</a> msg = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/logging/log4j/message/ParameterizedMessage.html">ParameterizedMessage</a>(message, params);
<a class="jxr_linenumber" name="1277" href="#1277">1277</a>             log(marker, FQCN, Level.FATAL, msg, msg.getThrowable());
<a class="jxr_linenumber" name="1278" href="#1278">1278</a>         }
<a class="jxr_linenumber" name="1279" href="#1279">1279</a>     }
<a class="jxr_linenumber" name="1280" href="#1280">1280</a> 
<a class="jxr_linenumber" name="1281" href="#1281">1281</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1282" href="#1282">1282</a> <em class="jxr_javadoccomment">     * Check whether this Logger is enabled for the FATAL Level.</em>
<a class="jxr_linenumber" name="1283" href="#1283">1283</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="1284" href="#1284">1284</a> <em class="jxr_javadoccomment">     * @return boolean - &lt;code&gt;true&lt;/code&gt; if this Logger is enabled for level</em>
<a class="jxr_linenumber" name="1285" href="#1285">1285</a> <em class="jxr_javadoccomment">     *         FATAL, &lt;code&gt;false&lt;/code&gt; otherwise.</em>
<a class="jxr_linenumber" name="1286" href="#1286">1286</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="1287" href="#1287">1287</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> isFatalEnabled() {
<a class="jxr_linenumber" name="1288" href="#1288">1288</a>         <strong class="jxr_keyword">return</strong> isEnabled(Level.ERROR, <strong class="jxr_keyword">null</strong>, (Object) <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="1289" href="#1289">1289</a>     }
<a class="jxr_linenumber" name="1290" href="#1290">1290</a> 
<a class="jxr_linenumber" name="1291" href="#1291">1291</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1292" href="#1292">1292</a> <em class="jxr_javadoccomment">     * Check whether this Logger is enabled for the FATAL Level.</em>
<a class="jxr_linenumber" name="1293" href="#1293">1293</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="1294" href="#1294">1294</a> <em class="jxr_javadoccomment">     * @param marker The marker data.</em>
<a class="jxr_linenumber" name="1295" href="#1295">1295</a> <em class="jxr_javadoccomment">     * @return boolean - &lt;code&gt;true&lt;/code&gt; if this Logger is enabled for level</em>
<a class="jxr_linenumber" name="1296" href="#1296">1296</a> <em class="jxr_javadoccomment">     *         FATAL, &lt;code&gt;false&lt;/code&gt; otherwise.</em>
<a class="jxr_linenumber" name="1297" href="#1297">1297</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="1298" href="#1298">1298</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> isFatalEnabled(<a href="../../../../../org/apache/logging/log4j/Marker.html">Marker</a> marker) {
<a class="jxr_linenumber" name="1299" href="#1299">1299</a>         <strong class="jxr_keyword">return</strong> isEnabled(Level.FATAL, marker, (Object) <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="1300" href="#1300">1300</a>     }
<a class="jxr_linenumber" name="1301" href="#1301">1301</a> 
<a class="jxr_linenumber" name="1302" href="#1302">1302</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1303" href="#1303">1303</a> <em class="jxr_javadoccomment">     * Log a message with the specific Marker at the FATAL level.</em>
<a class="jxr_linenumber" name="1304" href="#1304">1304</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="1305" href="#1305">1305</a> <em class="jxr_javadoccomment">     * @param msg the message string to be logged</em>
<a class="jxr_linenumber" name="1306" href="#1306">1306</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="1307" href="#1307">1307</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> fatal(<a href="../../../../../org/apache/logging/log4j/message/Message.html">Message</a> msg) {
<a class="jxr_linenumber" name="1308" href="#1308">1308</a>         <strong class="jxr_keyword">if</strong> (isEnabled(Level.FATAL, <strong class="jxr_keyword">null</strong>, msg, <strong class="jxr_keyword">null</strong>)) {
<a class="jxr_linenumber" name="1309" href="#1309">1309</a>             log(<strong class="jxr_keyword">null</strong>, FQCN, Level.FATAL, msg, <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="1310" href="#1310">1310</a>         }
<a class="jxr_linenumber" name="1311" href="#1311">1311</a>     }
<a class="jxr_linenumber" name="1312" href="#1312">1312</a> 
<a class="jxr_linenumber" name="1313" href="#1313">1313</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1314" href="#1314">1314</a> <em class="jxr_javadoccomment">     * Log a message with the specific Marker at the FATAL level.</em>
<a class="jxr_linenumber" name="1315" href="#1315">1315</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="1316" href="#1316">1316</a> <em class="jxr_javadoccomment">     * @param msg the message string to be logged</em>
<a class="jxr_linenumber" name="1317" href="#1317">1317</a> <em class="jxr_javadoccomment">     * @param t   A Throwable or null.</em>
<a class="jxr_linenumber" name="1318" href="#1318">1318</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="1319" href="#1319">1319</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> fatal(<a href="../../../../../org/apache/logging/log4j/message/Message.html">Message</a> msg, Throwable t) {
<a class="jxr_linenumber" name="1320" href="#1320">1320</a>         <strong class="jxr_keyword">if</strong> (isEnabled(Level.FATAL, <strong class="jxr_keyword">null</strong>, msg, t)) {
<a class="jxr_linenumber" name="1321" href="#1321">1321</a>             log(<strong class="jxr_keyword">null</strong>, FQCN, Level.FATAL, msg, t);
<a class="jxr_linenumber" name="1322" href="#1322">1322</a>         }
<a class="jxr_linenumber" name="1323" href="#1323">1323</a>     }
<a class="jxr_linenumber" name="1324" href="#1324">1324</a> 
<a class="jxr_linenumber" name="1325" href="#1325">1325</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1326" href="#1326">1326</a> <em class="jxr_javadoccomment">     * Log a message with the specific Marker at the FATAL level.</em>
<a class="jxr_linenumber" name="1327" href="#1327">1327</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="1328" href="#1328">1328</a> <em class="jxr_javadoccomment">     * @param marker the marker data specific to this log statement</em>
<a class="jxr_linenumber" name="1329" href="#1329">1329</a> <em class="jxr_javadoccomment">     * @param msg    the message string to be logged</em>
<a class="jxr_linenumber" name="1330" href="#1330">1330</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="1331" href="#1331">1331</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> fatal(<a href="../../../../../org/apache/logging/log4j/Marker.html">Marker</a> marker, <a href="../../../../../org/apache/logging/log4j/message/Message.html">Message</a> msg) {
<a class="jxr_linenumber" name="1332" href="#1332">1332</a>         <strong class="jxr_keyword">if</strong> (isEnabled(Level.FATAL, <strong class="jxr_keyword">null</strong>, msg, <strong class="jxr_keyword">null</strong>)) {
<a class="jxr_linenumber" name="1333" href="#1333">1333</a>             log(<strong class="jxr_keyword">null</strong>, FQCN, Level.FATAL, msg, <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="1334" href="#1334">1334</a>         }
<a class="jxr_linenumber" name="1335" href="#1335">1335</a>     }
<a class="jxr_linenumber" name="1336" href="#1336">1336</a> 
<a class="jxr_linenumber" name="1337" href="#1337">1337</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1338" href="#1338">1338</a> <em class="jxr_javadoccomment">     * Log a message with the specific Marker at the FATAL level.</em>
<a class="jxr_linenumber" name="1339" href="#1339">1339</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="1340" href="#1340">1340</a> <em class="jxr_javadoccomment">     * @param marker the marker data specific to this log statement</em>
<a class="jxr_linenumber" name="1341" href="#1341">1341</a> <em class="jxr_javadoccomment">     * @param msg    the message string to be logged</em>
<a class="jxr_linenumber" name="1342" href="#1342">1342</a> <em class="jxr_javadoccomment">     * @param t      A Throwable or null.</em>
<a class="jxr_linenumber" name="1343" href="#1343">1343</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="1344" href="#1344">1344</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> fatal(<a href="../../../../../org/apache/logging/log4j/Marker.html">Marker</a> marker, <a href="../../../../../org/apache/logging/log4j/message/Message.html">Message</a> msg, Throwable t) {
<a class="jxr_linenumber" name="1345" href="#1345">1345</a>         <strong class="jxr_keyword">if</strong> (isEnabled(Level.FATAL, marker, msg, t)) {
<a class="jxr_linenumber" name="1346" href="#1346">1346</a>             log(marker, FQCN, Level.FATAL, msg, t);
<a class="jxr_linenumber" name="1347" href="#1347">1347</a>         }
<a class="jxr_linenumber" name="1348" href="#1348">1348</a>     }
<a class="jxr_linenumber" name="1349" href="#1349">1349</a> 
<a class="jxr_linenumber" name="1350" href="#1350">1350</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1351" href="#1351">1351</a> <em class="jxr_javadoccomment">     * Log a message with location information.</em>
<a class="jxr_linenumber" name="1352" href="#1352">1352</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="1353" href="#1353">1353</a> <em class="jxr_javadoccomment">     * @param marker The Marker</em>
<a class="jxr_linenumber" name="1354" href="#1354">1354</a> <em class="jxr_javadoccomment">     * @param fqcn   The fully qualified class name of the &lt;b&gt;caller&lt;/b&gt;</em>
<a class="jxr_linenumber" name="1355" href="#1355">1355</a> <em class="jxr_javadoccomment">     * @param level  The logging level</em>
<a class="jxr_linenumber" name="1356" href="#1356">1356</a> <em class="jxr_javadoccomment">     * @param data   The Message.</em>
<a class="jxr_linenumber" name="1357" href="#1357">1357</a> <em class="jxr_javadoccomment">     * @param t      A Throwable or null.</em>
<a class="jxr_linenumber" name="1358" href="#1358">1358</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="1359" href="#1359">1359</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">abstract</strong> <strong class="jxr_keyword">void</strong> log(<a href="../../../../../org/apache/logging/log4j/Marker.html">Marker</a> marker, String fqcn, <a href="../../../../../org/apache/logging/log4j/Level.html">Level</a> level, <a href="../../../../../org/apache/logging/log4j/message/Message.html">Message</a> data, Throwable t);
<a class="jxr_linenumber" name="1360" href="#1360">1360</a> 
<a class="jxr_linenumber" name="1361" href="#1361">1361</a>     <em class="jxr_comment">/*</em>
<a class="jxr_linenumber" name="1362" href="#1362">1362</a> <em class="jxr_comment">     * Instead of one single method with Object... declared the following methods explicitly specify</em>
<a class="jxr_linenumber" name="1363" href="#1363">1363</a> <em class="jxr_comment">     * parameters because they perform dramatically better than having the JVM convert them to an</em>
<a class="jxr_linenumber" name="1364" href="#1364">1364</a> <em class="jxr_comment">     * array.</em>
<a class="jxr_linenumber" name="1365" href="#1365">1365</a> <em class="jxr_comment">     */</em>
<a class="jxr_linenumber" name="1366" href="#1366">1366</a> 
<a class="jxr_linenumber" name="1367" href="#1367">1367</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1368" href="#1368">1368</a> <em class="jxr_javadoccomment">     * Determine if logging is enabled.</em>
<a class="jxr_linenumber" name="1369" href="#1369">1369</a> <em class="jxr_javadoccomment">     * @param level The logging Level to check.</em>
<a class="jxr_linenumber" name="1370" href="#1370">1370</a> <em class="jxr_javadoccomment">     * @param marker A Marker or null.</em>
<a class="jxr_linenumber" name="1371" href="#1371">1371</a> <em class="jxr_javadoccomment">     * @param data The message.</em>
<a class="jxr_linenumber" name="1372" href="#1372">1372</a> <em class="jxr_javadoccomment">     * @return True if logging is enabled, false otherwise.</em>
<a class="jxr_linenumber" name="1373" href="#1373">1373</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="1374" href="#1374">1374</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">abstract</strong> <strong class="jxr_keyword">boolean</strong> isEnabled(<a href="../../../../../org/apache/logging/log4j/Level.html">Level</a> level, <a href="../../../../../org/apache/logging/log4j/Marker.html">Marker</a> marker, String data);
<a class="jxr_linenumber" name="1375" href="#1375">1375</a> 
<a class="jxr_linenumber" name="1376" href="#1376">1376</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1377" href="#1377">1377</a> <em class="jxr_javadoccomment">     * Determine if logging is enabled.</em>
<a class="jxr_linenumber" name="1378" href="#1378">1378</a> <em class="jxr_javadoccomment">     * @param level The logging Level to check.</em>
<a class="jxr_linenumber" name="1379" href="#1379">1379</a> <em class="jxr_javadoccomment">     * @param marker A Marker or null.</em>
<a class="jxr_linenumber" name="1380" href="#1380">1380</a> <em class="jxr_javadoccomment">     * @param data The message.</em>
<a class="jxr_linenumber" name="1381" href="#1381">1381</a> <em class="jxr_javadoccomment">     * @param t A Throwable.</em>
<a class="jxr_linenumber" name="1382" href="#1382">1382</a> <em class="jxr_javadoccomment">     * @return True if logging is enabled, false otherwise.</em>
<a class="jxr_linenumber" name="1383" href="#1383">1383</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="1384" href="#1384">1384</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">abstract</strong> <strong class="jxr_keyword">boolean</strong> isEnabled(<a href="../../../../../org/apache/logging/log4j/Level.html">Level</a> level, <a href="../../../../../org/apache/logging/log4j/Marker.html">Marker</a> marker, String data, Throwable t);
<a class="jxr_linenumber" name="1385" href="#1385">1385</a> 
<a class="jxr_linenumber" name="1386" href="#1386">1386</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1387" href="#1387">1387</a> <em class="jxr_javadoccomment">     * Determine if logging is enabled.</em>
<a class="jxr_linenumber" name="1388" href="#1388">1388</a> <em class="jxr_javadoccomment">     * @param level The logging Level to check.</em>
<a class="jxr_linenumber" name="1389" href="#1389">1389</a> <em class="jxr_javadoccomment">     * @param marker A Marker or null.</em>
<a class="jxr_linenumber" name="1390" href="#1390">1390</a> <em class="jxr_javadoccomment">     * @param data The message.</em>
<a class="jxr_linenumber" name="1391" href="#1391">1391</a> <em class="jxr_javadoccomment">     * @param p1 The first parameter.</em>
<a class="jxr_linenumber" name="1392" href="#1392">1392</a> <em class="jxr_javadoccomment">     * @return True if logging is enabled, false otherwise.</em>
<a class="jxr_linenumber" name="1393" href="#1393">1393</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="1394" href="#1394">1394</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">abstract</strong> <strong class="jxr_keyword">boolean</strong> isEnabled(<a href="../../../../../org/apache/logging/log4j/Level.html">Level</a> level, <a href="../../../../../org/apache/logging/log4j/Marker.html">Marker</a> marker, String data, Object p1);
<a class="jxr_linenumber" name="1395" href="#1395">1395</a> 
<a class="jxr_linenumber" name="1396" href="#1396">1396</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1397" href="#1397">1397</a> <em class="jxr_javadoccomment">     * Determine if logging is enabled.</em>
<a class="jxr_linenumber" name="1398" href="#1398">1398</a> <em class="jxr_javadoccomment">     * @param level The logging Level to check.</em>
<a class="jxr_linenumber" name="1399" href="#1399">1399</a> <em class="jxr_javadoccomment">     * @param marker A Marker or null.</em>
<a class="jxr_linenumber" name="1400" href="#1400">1400</a> <em class="jxr_javadoccomment">     * @param data The message.</em>
<a class="jxr_linenumber" name="1401" href="#1401">1401</a> <em class="jxr_javadoccomment">     * @param p1 The first parameter.</em>
<a class="jxr_linenumber" name="1402" href="#1402">1402</a> <em class="jxr_javadoccomment">     * @param p2 The second parameter.</em>
<a class="jxr_linenumber" name="1403" href="#1403">1403</a> <em class="jxr_javadoccomment">     * @return True if logging is enabled, false otherwise.</em>
<a class="jxr_linenumber" name="1404" href="#1404">1404</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="1405" href="#1405">1405</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">abstract</strong> <strong class="jxr_keyword">boolean</strong> isEnabled(<a href="../../../../../org/apache/logging/log4j/Level.html">Level</a> level, <a href="../../../../../org/apache/logging/log4j/Marker.html">Marker</a> marker, String data, Object p1, Object p2);
<a class="jxr_linenumber" name="1406" href="#1406">1406</a> 
<a class="jxr_linenumber" name="1407" href="#1407">1407</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1408" href="#1408">1408</a> <em class="jxr_javadoccomment">     * Determine if logging is enabled.</em>
<a class="jxr_linenumber" name="1409" href="#1409">1409</a> <em class="jxr_javadoccomment">     * @param level The logging Level to check.</em>
<a class="jxr_linenumber" name="1410" href="#1410">1410</a> <em class="jxr_javadoccomment">     * @param marker A Marker or null.</em>
<a class="jxr_linenumber" name="1411" href="#1411">1411</a> <em class="jxr_javadoccomment">     * @param data The message.</em>
<a class="jxr_linenumber" name="1412" href="#1412">1412</a> <em class="jxr_javadoccomment">     * @param p1 The first parameter.</em>
<a class="jxr_linenumber" name="1413" href="#1413">1413</a> <em class="jxr_javadoccomment">     * @param p2 The second parameter.</em>
<a class="jxr_linenumber" name="1414" href="#1414">1414</a> <em class="jxr_javadoccomment">     * @param p3 The third parameter.</em>
<a class="jxr_linenumber" name="1415" href="#1415">1415</a> <em class="jxr_javadoccomment">     * @return True if logging is enabled, false otherwise.</em>
<a class="jxr_linenumber" name="1416" href="#1416">1416</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="1417" href="#1417">1417</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">abstract</strong> <strong class="jxr_keyword">boolean</strong> isEnabled(<a href="../../../../../org/apache/logging/log4j/Level.html">Level</a> level, <a href="../../../../../org/apache/logging/log4j/Marker.html">Marker</a> marker, String data, Object p1, Object p2, Object p3);
<a class="jxr_linenumber" name="1418" href="#1418">1418</a> 
<a class="jxr_linenumber" name="1419" href="#1419">1419</a> 
<a class="jxr_linenumber" name="1420" href="#1420">1420</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1421" href="#1421">1421</a> <em class="jxr_javadoccomment">     * Determine if logging is enabled.</em>
<a class="jxr_linenumber" name="1422" href="#1422">1422</a> <em class="jxr_javadoccomment">     * @param level The logging Level to check.</em>
<a class="jxr_linenumber" name="1423" href="#1423">1423</a> <em class="jxr_javadoccomment">     * @param marker A Marker or null.</em>
<a class="jxr_linenumber" name="1424" href="#1424">1424</a> <em class="jxr_javadoccomment">     * @param data The message.</em>
<a class="jxr_linenumber" name="1425" href="#1425">1425</a> <em class="jxr_javadoccomment">     * @param p1 The first parameter.</em>
<a class="jxr_linenumber" name="1426" href="#1426">1426</a> <em class="jxr_javadoccomment">     * @param p2 The second parameter.</em>
<a class="jxr_linenumber" name="1427" href="#1427">1427</a> <em class="jxr_javadoccomment">     * @param p3 The third parameter.</em>
<a class="jxr_linenumber" name="1428" href="#1428">1428</a> <em class="jxr_javadoccomment">     * @param params More message parameters.</em>
<a class="jxr_linenumber" name="1429" href="#1429">1429</a> <em class="jxr_javadoccomment">     * @return True if logging is enabled, false otherwise.</em>
<a class="jxr_linenumber" name="1430" href="#1430">1430</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="1431" href="#1431">1431</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">abstract</strong> <strong class="jxr_keyword">boolean</strong> isEnabled(<a href="../../../../../org/apache/logging/log4j/Level.html">Level</a> level, <a href="../../../../../org/apache/logging/log4j/Marker.html">Marker</a> marker, String data, Object p1, Object p2,
<a class="jxr_linenumber" name="1432" href="#1432">1432</a>                                          Object p3, Object... params);
<a class="jxr_linenumber" name="1433" href="#1433">1433</a> 
<a class="jxr_linenumber" name="1434" href="#1434">1434</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1435" href="#1435">1435</a> <em class="jxr_javadoccomment">     * Determine if logging is enabled.</em>
<a class="jxr_linenumber" name="1436" href="#1436">1436</a> <em class="jxr_javadoccomment">     * @param level The logging Level to check.</em>
<a class="jxr_linenumber" name="1437" href="#1437">1437</a> <em class="jxr_javadoccomment">     * @param marker A Marker or null.</em>
<a class="jxr_linenumber" name="1438" href="#1438">1438</a> <em class="jxr_javadoccomment">     * @param data The message.</em>
<a class="jxr_linenumber" name="1439" href="#1439">1439</a> <em class="jxr_javadoccomment">     * @param t A Throwable.</em>
<a class="jxr_linenumber" name="1440" href="#1440">1440</a> <em class="jxr_javadoccomment">     * @return True if logging is enabled, false otherwise.</em>
<a class="jxr_linenumber" name="1441" href="#1441">1441</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="1442" href="#1442">1442</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">abstract</strong> <strong class="jxr_keyword">boolean</strong> isEnabled(<a href="../../../../../org/apache/logging/log4j/Level.html">Level</a> level, <a href="../../../../../org/apache/logging/log4j/Marker.html">Marker</a> marker, Object data, Throwable t);
<a class="jxr_linenumber" name="1443" href="#1443">1443</a> 
<a class="jxr_linenumber" name="1444" href="#1444">1444</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1445" href="#1445">1445</a> <em class="jxr_javadoccomment">     * Determine if logging is enabled.</em>
<a class="jxr_linenumber" name="1446" href="#1446">1446</a> <em class="jxr_javadoccomment">     * @param level The logging Level to check.</em>
<a class="jxr_linenumber" name="1447" href="#1447">1447</a> <em class="jxr_javadoccomment">     * @param marker A Marker or null.</em>
<a class="jxr_linenumber" name="1448" href="#1448">1448</a> <em class="jxr_javadoccomment">     * @param data The Message.</em>
<a class="jxr_linenumber" name="1449" href="#1449">1449</a> <em class="jxr_javadoccomment">     * @param t A Throwable.</em>
<a class="jxr_linenumber" name="1450" href="#1450">1450</a> <em class="jxr_javadoccomment">     * @return True if logging is enabled, false otherwise.</em>
<a class="jxr_linenumber" name="1451" href="#1451">1451</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="1452" href="#1452">1452</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">abstract</strong> <strong class="jxr_keyword">boolean</strong> isEnabled(<a href="../../../../../org/apache/logging/log4j/Level.html">Level</a> level, <a href="../../../../../org/apache/logging/log4j/Marker.html">Marker</a> marker, <a href="../../../../../org/apache/logging/log4j/message/Message.html">Message</a> data, Throwable t);
<a class="jxr_linenumber" name="1453" href="#1453">1453</a> 
<a class="jxr_linenumber" name="1454" href="#1454">1454</a>     <strong class="jxr_keyword">private</strong> <a href="../../../../../org/apache/logging/log4j/message/Message.html">Message</a> entryMsg(<strong class="jxr_keyword">int</strong> count, Object... params) {
<a class="jxr_linenumber" name="1455" href="#1455">1455</a>         <strong class="jxr_keyword">if</strong> (count == 0) {
<a class="jxr_linenumber" name="1456" href="#1456">1456</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/logging/log4j/message/SimpleMessage.html">SimpleMessage</a>(<span class="jxr_string">" entry"</span>);
<a class="jxr_linenumber" name="1457" href="#1457">1457</a>         }
<a class="jxr_linenumber" name="1458" href="#1458">1458</a>         StringBuilder sb = <strong class="jxr_keyword">new</strong> StringBuilder(<span class="jxr_string">" entry parms("</span>);
<a class="jxr_linenumber" name="1459" href="#1459">1459</a>         <strong class="jxr_keyword">int</strong> i = 0;
<a class="jxr_linenumber" name="1460" href="#1460">1460</a>         <strong class="jxr_keyword">for</strong> (Object parm : params) {
<a class="jxr_linenumber" name="1461" href="#1461">1461</a>             <strong class="jxr_keyword">if</strong> (parm != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="1462" href="#1462">1462</a>                 sb.append(parm.toString());
<a class="jxr_linenumber" name="1463" href="#1463">1463</a>             } <strong class="jxr_keyword">else</strong> {
<a class="jxr_linenumber" name="1464" href="#1464">1464</a>                 sb.append(<span class="jxr_string">"null"</span>);
<a class="jxr_linenumber" name="1465" href="#1465">1465</a>             }
<a class="jxr_linenumber" name="1466" href="#1466">1466</a>             <strong class="jxr_keyword">if</strong> (++i &lt; params.length) {
<a class="jxr_linenumber" name="1467" href="#1467">1467</a>                 sb.append(<span class="jxr_string">", "</span>);
<a class="jxr_linenumber" name="1468" href="#1468">1468</a>             }
<a class="jxr_linenumber" name="1469" href="#1469">1469</a>         }
<a class="jxr_linenumber" name="1470" href="#1470">1470</a>         sb.append(<span class="jxr_string">")"</span>);
<a class="jxr_linenumber" name="1471" href="#1471">1471</a>         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/logging/log4j/message/SimpleMessage.html">SimpleMessage</a>(sb.toString());
<a class="jxr_linenumber" name="1472" href="#1472">1472</a>     }
<a class="jxr_linenumber" name="1473" href="#1473">1473</a> 
<a class="jxr_linenumber" name="1474" href="#1474">1474</a>     <strong class="jxr_keyword">private</strong> <a href="../../../../../org/apache/logging/log4j/message/Message.html">Message</a> exitMsg(Object result) {
<a class="jxr_linenumber" name="1475" href="#1475">1475</a>         <strong class="jxr_keyword">if</strong> (result == <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="1476" href="#1476">1476</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/logging/log4j/message/SimpleMessage.html">SimpleMessage</a>(<span class="jxr_string">" exit"</span>);
<a class="jxr_linenumber" name="1477" href="#1477">1477</a>         }
<a class="jxr_linenumber" name="1478" href="#1478">1478</a>         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/logging/log4j/message/SimpleMessage.html">SimpleMessage</a>(<span class="jxr_string">" exit with ("</span> + result + <span class="jxr_string">")"</span>);
<a class="jxr_linenumber" name="1479" href="#1479">1479</a>     }
<a class="jxr_linenumber" name="1480" href="#1480">1480</a> }
</pre>
<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
</html>

