<!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>Generate xref</title>
<link type="text/css" rel="stylesheet" href="../../../../../../stylesheet.css" />
</head>
<body>
<div id="overview"><a href="../../../../../../../apidocs/org/apache/logging/log4j/core/tools/Generate.html">View Javadoc</a></div><pre>
<a class="jxr_linenumber" name="L1" href="#L1">1</a>   <em class="jxr_comment">/*</em>
<a class="jxr_linenumber" name="L2" href="#L2">2</a>   <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em>
<a class="jxr_linenumber" name="L3" href="#L3">3</a>   <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em>
<a class="jxr_linenumber" name="L4" href="#L4">4</a>   <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em>
<a class="jxr_linenumber" name="L5" href="#L5">5</a>   <em class="jxr_comment"> * The ASF licenses this file to You under the Apache license, Version 2.0</em>
<a class="jxr_linenumber" name="L6" href="#L6">6</a>   <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em>
<a class="jxr_linenumber" name="L7" href="#L7">7</a>   <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em>
<a class="jxr_linenumber" name="L8" href="#L8">8</a>   <em class="jxr_comment"> *</em>
<a class="jxr_linenumber" name="L9" href="#L9">9</a>   <em class="jxr_comment"> *      <a href="http://www.apache.org/licenses/LICENSE-2." target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.</a>0</em>
<a class="jxr_linenumber" name="L10" href="#L10">10</a>  <em class="jxr_comment"> *</em>
<a class="jxr_linenumber" name="L11" href="#L11">11</a>  <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em>
<a class="jxr_linenumber" name="L12" href="#L12">12</a>  <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em>
<a class="jxr_linenumber" name="L13" href="#L13">13</a>  <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em>
<a class="jxr_linenumber" name="L14" href="#L14">14</a>  <em class="jxr_comment"> * See the license for the specific language governing permissions and</em>
<a class="jxr_linenumber" name="L15" href="#L15">15</a>  <em class="jxr_comment"> * limitations under the license.</em>
<a class="jxr_linenumber" name="L16" href="#L16">16</a>  <em class="jxr_comment"> */</em>
<a class="jxr_linenumber" name="L17" href="#L17">17</a>  
<a class="jxr_linenumber" name="L18" href="#L18">18</a>  <strong class="jxr_keyword">package</strong> org.apache.logging.log4j.core.tools;
<a class="jxr_linenumber" name="L19" href="#L19">19</a>  
<a class="jxr_linenumber" name="L20" href="#L20">20</a>  <strong class="jxr_keyword">import</strong> java.io.PrintStream;
<a class="jxr_linenumber" name="L21" href="#L21">21</a>  <strong class="jxr_keyword">import</strong> java.util.ArrayList;
<a class="jxr_linenumber" name="L22" href="#L22">22</a>  <strong class="jxr_keyword">import</strong> java.util.Arrays;
<a class="jxr_linenumber" name="L23" href="#L23">23</a>  <strong class="jxr_keyword">import</strong> java.util.List;
<a class="jxr_linenumber" name="L24" href="#L24">24</a>  
<a class="jxr_linenumber" name="L25" href="#L25">25</a>  <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L26" href="#L26">26</a>  <em class="jxr_javadoccomment"> * Generates source code for custom or extended logger wrappers.</em>
<a class="jxr_linenumber" name="L27" href="#L27">27</a>  <em class="jxr_javadoccomment"> * &lt;p&gt;</em>
<a class="jxr_linenumber" name="L28" href="#L28">28</a>  <em class="jxr_javadoccomment"> * Usage:</em>
<a class="jxr_linenumber" name="L29" href="#L29">29</a>  <em class="jxr_javadoccomment"> * &lt;p&gt;</em>
<a class="jxr_linenumber" name="L30" href="#L30">30</a>  <em class="jxr_javadoccomment"> * To generate source code for an extended logger that adds custom log levels to the existing ones: &lt;br&gt;</em>
<a class="jxr_linenumber" name="L31" href="#L31">31</a>  <em class="jxr_javadoccomment"> * {@code java org.apache.logging.log4j.core.tools.Generate$ExtendedLogger &lt;logger.class.name&gt; &lt;CUSTOMLEVEL&gt;=&lt;WEIGHT&gt;</em>
<a class="jxr_linenumber" name="L32" href="#L32">32</a>  <em class="jxr_javadoccomment"> * [CUSTOMLEVEL2=WEIGHT2 [CUSTOMLEVEL3=WEIGHT3] ...]}</em>
<a class="jxr_linenumber" name="L33" href="#L33">33</a>  <em class="jxr_javadoccomment"> * &lt;p&gt;</em>
<a class="jxr_linenumber" name="L34" href="#L34">34</a>  <em class="jxr_javadoccomment"> * Example of creating an extended logger:&lt;br&gt;</em>
<a class="jxr_linenumber" name="L35" href="#L35">35</a>  <em class="jxr_javadoccomment"> * {@code java org.apache.logging.log4j.core.tools.Generate$ExtendedLogger com.mycomp.ExtLogger DIAG=350 NOTICE=450</em>
<a class="jxr_linenumber" name="L36" href="#L36">36</a>  <em class="jxr_javadoccomment"> * VERBOSE=550}</em>
<a class="jxr_linenumber" name="L37" href="#L37">37</a>  <em class="jxr_javadoccomment"> * &lt;p&gt;</em>
<a class="jxr_linenumber" name="L38" href="#L38">38</a>  <em class="jxr_javadoccomment"> * To generate source code for a custom logger that replaces the existing log levels with custom ones: &lt;br&gt;</em>
<a class="jxr_linenumber" name="L39" href="#L39">39</a>  <em class="jxr_javadoccomment"> * {@code java org.apache.logging.log4j.core.tools.Generate$CustomLogger &lt;logger.class.name&gt; &lt;CUSTOMLEVEL&gt;=&lt;WEIGHT&gt;</em>
<a class="jxr_linenumber" name="L40" href="#L40">40</a>  <em class="jxr_javadoccomment"> * [CUSTOMLEVEL2=WEIGHT2 [CUSTOMLEVEL3=WEIGHT3] ...]}</em>
<a class="jxr_linenumber" name="L41" href="#L41">41</a>  <em class="jxr_javadoccomment"> * &lt;p&gt;</em>
<a class="jxr_linenumber" name="L42" href="#L42">42</a>  <em class="jxr_javadoccomment"> * Example of creating a custom logger:&lt;br&gt;</em>
<a class="jxr_linenumber" name="L43" href="#L43">43</a>  <em class="jxr_javadoccomment"> * {@code java org.apache.logging.log4j.core.tools.Generate$CustomLogger com.mycomp.MyLogger DEFCON1=350 DEFCON2=450</em>
<a class="jxr_linenumber" name="L44" href="#L44">44</a>  <em class="jxr_javadoccomment"> * DEFCON3=550}</em>
<a class="jxr_linenumber" name="L45" href="#L45">45</a>  <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="L46" href="#L46">46</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../../org/apache/logging/log4j/core/tools/Generate.html">Generate</a> {
<a class="jxr_linenumber" name="L47" href="#L47">47</a>      <em class="jxr_comment">// Implementation note:</em>
<a class="jxr_linenumber" name="L48" href="#L48">48</a>      <em class="jxr_comment">// The generated code is in the user's namespace which has its own versioning scheme, so</em>
<a class="jxr_linenumber" name="L49" href="#L49">49</a>      <em class="jxr_comment">// any @since tags in the generated code deliberately mention "Log4j-2.x" rather than just the log4j version number.</em>
<a class="jxr_linenumber" name="L50" href="#L50">50</a>  
<a class="jxr_linenumber" name="L51" href="#L51">51</a>      <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String PACKAGE_DECLARATION = <span class="jxr_string">"package %s;%n%n"</span>;
<a class="jxr_linenumber" name="L52" href="#L52">52</a>  
<a class="jxr_linenumber" name="L53" href="#L53">53</a>      <strong class="jxr_keyword">static</strong> enum <a href="../../../../../../org/apache/logging/log4j/core/tools/Generate.html">Type</a> {
<a class="jxr_linenumber" name="L54" href="#L54">54</a>          CUSTOM {
<a class="jxr_linenumber" name="L55" href="#L55">55</a>              @Override
<a class="jxr_linenumber" name="L56" href="#L56">56</a>              String imports() {
<a class="jxr_linenumber" name="L57" href="#L57">57</a>                  <em class="jxr_comment">//@formatter:off</em>
<a class="jxr_linenumber" name="L58" href="#L58">58</a>                  <strong class="jxr_keyword">return</strong> <span class="jxr_string">""</span>
<a class="jxr_linenumber" name="L59" href="#L59">59</a>                          + <span class="jxr_string">"import java.io.Serializable;%n"</span>
<a class="jxr_linenumber" name="L60" href="#L60">60</a>                          + <span class="jxr_string">"import org.apache.logging.log4j.Level;%n"</span>
<a class="jxr_linenumber" name="L61" href="#L61">61</a>                          + <span class="jxr_string">"import org.apache.logging.log4j.LogManager;%n"</span>
<a class="jxr_linenumber" name="L62" href="#L62">62</a>                          + <span class="jxr_string">"import org.apache.logging.log4j.Logger;%n"</span>
<a class="jxr_linenumber" name="L63" href="#L63">63</a>                          + <span class="jxr_string">"import org.apache.logging.log4j.Marker;%n"</span>
<a class="jxr_linenumber" name="L64" href="#L64">64</a>                          + <span class="jxr_string">"import org.apache.logging.log4j.message.Message;%n"</span>
<a class="jxr_linenumber" name="L65" href="#L65">65</a>                          + <span class="jxr_string">"import org.apache.logging.log4j.message.MessageFactory;%n"</span>
<a class="jxr_linenumber" name="L66" href="#L66">66</a>                          + <span class="jxr_string">"import org.apache.logging.log4j.spi.AbstractLogger;%n"</span>
<a class="jxr_linenumber" name="L67" href="#L67">67</a>                          + <span class="jxr_string">"import org.apache.logging.log4j.spi.ExtendedLoggerWrapper;%n"</span>
<a class="jxr_linenumber" name="L68" href="#L68">68</a>                          + <span class="jxr_string">"import org.apache.logging.log4j.util.MessageSupplier;%n"</span>
<a class="jxr_linenumber" name="L69" href="#L69">69</a>                          + <span class="jxr_string">"import org.apache.logging.log4j.util.Supplier;%n"</span>
<a class="jxr_linenumber" name="L70" href="#L70">70</a>                          + <span class="jxr_string">"%n"</span>;
<a class="jxr_linenumber" name="L71" href="#L71">71</a>                  <em class="jxr_comment">//@formatter:on</em>
<a class="jxr_linenumber" name="L72" href="#L72">72</a>              }
<a class="jxr_linenumber" name="L73" href="#L73">73</a>  
<a class="jxr_linenumber" name="L74" href="#L74">74</a>              @Override
<a class="jxr_linenumber" name="L75" href="#L75">75</a>              String declaration() {
<a class="jxr_linenumber" name="L76" href="#L76">76</a>                  <em class="jxr_comment">//@formatter:off</em>
<a class="jxr_linenumber" name="L77" href="#L77">77</a>                  <strong class="jxr_keyword">return</strong> <span class="jxr_string">""</span>
<a class="jxr_linenumber" name="L78" href="#L78">78</a>                          + <span class="jxr_string">"/**%n"</span>
<a class="jxr_linenumber" name="L79" href="#L79">79</a>                          + <span class="jxr_string">" * Custom Logger interface with convenience methods for%n"</span>
<a class="jxr_linenumber" name="L80" href="#L80">80</a>                          + <span class="jxr_string">" * %s%n"</span>
<a class="jxr_linenumber" name="L81" href="#L81">81</a>                          + <span class="jxr_string">" * &lt;p&gt;Compatible with Log4j 2.6 or higher.&lt;/p&gt;%n"</span>
<a class="jxr_linenumber" name="L82" href="#L82">82</a>                          + <span class="jxr_string">" */%n"</span>
<a class="jxr_linenumber" name="L83" href="#L83">83</a>                          + <span class="jxr_string">"public final class %s implements Serializable {%n"</span>
<a class="jxr_linenumber" name="L84" href="#L84">84</a>                          + <span class="jxr_string">"    private static final long serialVersionUID = "</span> + System.nanoTime() + <span class="jxr_string">"L;%n"</span>
<a class="jxr_linenumber" name="L85" href="#L85">85</a>                          + <span class="jxr_string">"    private final ExtendedLoggerWrapper logger;%n"</span>
<a class="jxr_linenumber" name="L86" href="#L86">86</a>                          + <span class="jxr_string">"%n"</span>;
<a class="jxr_linenumber" name="L87" href="#L87">87</a>                  <em class="jxr_comment">//@formatter:on</em>
<a class="jxr_linenumber" name="L88" href="#L88">88</a>              }
<a class="jxr_linenumber" name="L89" href="#L89">89</a>  
<a class="jxr_linenumber" name="L90" href="#L90">90</a>              @Override
<a class="jxr_linenumber" name="L91" href="#L91">91</a>              String constructor() {
<a class="jxr_linenumber" name="L92" href="#L92">92</a>                  <em class="jxr_comment">//@formatter:off</em>
<a class="jxr_linenumber" name="L93" href="#L93">93</a>                  <strong class="jxr_keyword">return</strong> <span class="jxr_string">""</span>
<a class="jxr_linenumber" name="L94" href="#L94">94</a>                          + <span class="jxr_string">"%n"</span>
<a class="jxr_linenumber" name="L95" href="#L95">95</a>                          + <span class="jxr_string">"    private %s(final Logger logger) {%n"</span>
<a class="jxr_linenumber" name="L96" href="#L96">96</a>                          + <span class="jxr_string">"        this.logger = new ExtendedLoggerWrapper((AbstractLogger) logger, logger.getName(), "</span>
<a class="jxr_linenumber" name="L97" href="#L97">97</a>                          + <span class="jxr_string">"logger.getMessageFactory());%n"</span>
<a class="jxr_linenumber" name="L98" href="#L98">98</a>                          + <span class="jxr_string">"    }%n"</span>;
<a class="jxr_linenumber" name="L99" href="#L99">99</a>                  <em class="jxr_comment">//@formatter:on</em>
<a class="jxr_linenumber" name="L100" href="#L100">100</a>             }
<a class="jxr_linenumber" name="L101" href="#L101">101</a> 
<a class="jxr_linenumber" name="L102" href="#L102">102</a>             @Override
<a class="jxr_linenumber" name="L103" href="#L103">103</a>             Class&lt;?&gt; generator() {
<a class="jxr_linenumber" name="L104" href="#L104">104</a>                 <strong class="jxr_keyword">return</strong> CustomLogger.<strong class="jxr_keyword">class</strong>;
<a class="jxr_linenumber" name="L105" href="#L105">105</a>             }
<a class="jxr_linenumber" name="L106" href="#L106">106</a>         },
<a class="jxr_linenumber" name="L107" href="#L107">107</a>         EXTEND {
<a class="jxr_linenumber" name="L108" href="#L108">108</a>             @Override
<a class="jxr_linenumber" name="L109" href="#L109">109</a>             String imports() {
<a class="jxr_linenumber" name="L110" href="#L110">110</a>                 <em class="jxr_comment">//@formatter:off</em>
<a class="jxr_linenumber" name="L111" href="#L111">111</a>                 <strong class="jxr_keyword">return</strong> <span class="jxr_string">""</span>
<a class="jxr_linenumber" name="L112" href="#L112">112</a>                         + <span class="jxr_string">"import org.apache.logging.log4j.Level;%n"</span>
<a class="jxr_linenumber" name="L113" href="#L113">113</a>                         + <span class="jxr_string">"import org.apache.logging.log4j.LogManager;%n"</span>
<a class="jxr_linenumber" name="L114" href="#L114">114</a>                         + <span class="jxr_string">"import org.apache.logging.log4j.Logger;%n"</span>
<a class="jxr_linenumber" name="L115" href="#L115">115</a>                         + <span class="jxr_string">"import org.apache.logging.log4j.Marker;%n"</span>
<a class="jxr_linenumber" name="L116" href="#L116">116</a>                         + <span class="jxr_string">"import org.apache.logging.log4j.message.Message;%n"</span>
<a class="jxr_linenumber" name="L117" href="#L117">117</a>                         + <span class="jxr_string">"import org.apache.logging.log4j.message.MessageFactory;%n"</span>
<a class="jxr_linenumber" name="L118" href="#L118">118</a>                         + <span class="jxr_string">"import org.apache.logging.log4j.spi.AbstractLogger;%n"</span>
<a class="jxr_linenumber" name="L119" href="#L119">119</a>                         + <span class="jxr_string">"import org.apache.logging.log4j.spi.ExtendedLoggerWrapper;%n"</span>
<a class="jxr_linenumber" name="L120" href="#L120">120</a>                         + <span class="jxr_string">"import org.apache.logging.log4j.util.MessageSupplier;%n"</span>
<a class="jxr_linenumber" name="L121" href="#L121">121</a>                         + <span class="jxr_string">"import org.apache.logging.log4j.util.Supplier;%n"</span>
<a class="jxr_linenumber" name="L122" href="#L122">122</a>                         + <span class="jxr_string">"%n"</span>;
<a class="jxr_linenumber" name="L123" href="#L123">123</a>                 <em class="jxr_comment">//@formatter:on</em>
<a class="jxr_linenumber" name="L124" href="#L124">124</a>             }
<a class="jxr_linenumber" name="L125" href="#L125">125</a> 
<a class="jxr_linenumber" name="L126" href="#L126">126</a>             @Override
<a class="jxr_linenumber" name="L127" href="#L127">127</a>             String declaration() {
<a class="jxr_linenumber" name="L128" href="#L128">128</a>                 <em class="jxr_comment">//@formatter:off</em>
<a class="jxr_linenumber" name="L129" href="#L129">129</a>                 <strong class="jxr_keyword">return</strong> <span class="jxr_string">""</span>
<a class="jxr_linenumber" name="L130" href="#L130">130</a>                         + <span class="jxr_string">"/**%n"</span>
<a class="jxr_linenumber" name="L131" href="#L131">131</a>                         + <span class="jxr_string">" * Extended Logger interface with convenience methods for%n"</span>
<a class="jxr_linenumber" name="L132" href="#L132">132</a>                         + <span class="jxr_string">" * %s%n"</span>
<a class="jxr_linenumber" name="L133" href="#L133">133</a>                         + <span class="jxr_string">" * &lt;p&gt;Compatible with Log4j 2.6 or higher.&lt;/p&gt;%n"</span>
<a class="jxr_linenumber" name="L134" href="#L134">134</a>                         + <span class="jxr_string">" */%n"</span>
<a class="jxr_linenumber" name="L135" href="#L135">135</a>                         + <span class="jxr_string">"public final class %s extends ExtendedLoggerWrapper {%n"</span>
<a class="jxr_linenumber" name="L136" href="#L136">136</a>                         + <span class="jxr_string">"    private static final long serialVersionUID = "</span> + System.nanoTime() + <span class="jxr_string">"L;%n"</span>
<a class="jxr_linenumber" name="L137" href="#L137">137</a>                         + <span class="jxr_string">"    private final ExtendedLoggerWrapper logger;%n"</span>
<a class="jxr_linenumber" name="L138" href="#L138">138</a>                         + <span class="jxr_string">"%n"</span>;
<a class="jxr_linenumber" name="L139" href="#L139">139</a>                 <em class="jxr_comment">//@formatter:on</em>
<a class="jxr_linenumber" name="L140" href="#L140">140</a>             }
<a class="jxr_linenumber" name="L141" href="#L141">141</a> 
<a class="jxr_linenumber" name="L142" href="#L142">142</a>             @Override
<a class="jxr_linenumber" name="L143" href="#L143">143</a>             String constructor() {
<a class="jxr_linenumber" name="L144" href="#L144">144</a>                 <em class="jxr_comment">//@formatter:off</em>
<a class="jxr_linenumber" name="L145" href="#L145">145</a>                 <strong class="jxr_keyword">return</strong> <span class="jxr_string">""</span>
<a class="jxr_linenumber" name="L146" href="#L146">146</a>                         + <span class="jxr_string">"%n"</span>
<a class="jxr_linenumber" name="L147" href="#L147">147</a>                         + <span class="jxr_string">"    private %s(final Logger logger) {%n"</span>
<a class="jxr_linenumber" name="L148" href="#L148">148</a>                         + <span class="jxr_string">"        super((AbstractLogger) logger, logger.getName(), logger.getMessageFactory());%n"</span>
<a class="jxr_linenumber" name="L149" href="#L149">149</a>                         + <span class="jxr_string">"        this.logger = this;%n"</span>
<a class="jxr_linenumber" name="L150" href="#L150">150</a>                         + <span class="jxr_string">"    }%n"</span>;
<a class="jxr_linenumber" name="L151" href="#L151">151</a>                 <em class="jxr_comment">//@formatter:on</em>
<a class="jxr_linenumber" name="L152" href="#L152">152</a>             }
<a class="jxr_linenumber" name="L153" href="#L153">153</a> 
<a class="jxr_linenumber" name="L154" href="#L154">154</a>             @Override
<a class="jxr_linenumber" name="L155" href="#L155">155</a>             Class&lt;?&gt; generator() {
<a class="jxr_linenumber" name="L156" href="#L156">156</a>                 <strong class="jxr_keyword">return</strong> ExtendedLogger.<strong class="jxr_keyword">class</strong>;
<a class="jxr_linenumber" name="L157" href="#L157">157</a>             }
<a class="jxr_linenumber" name="L158" href="#L158">158</a>         };
<a class="jxr_linenumber" name="L159" href="#L159">159</a>         <strong class="jxr_keyword">abstract</strong> String imports();
<a class="jxr_linenumber" name="L160" href="#L160">160</a> 
<a class="jxr_linenumber" name="L161" href="#L161">161</a>         <strong class="jxr_keyword">abstract</strong> String declaration();
<a class="jxr_linenumber" name="L162" href="#L162">162</a> 
<a class="jxr_linenumber" name="L163" href="#L163">163</a>         <strong class="jxr_keyword">abstract</strong> String constructor();
<a class="jxr_linenumber" name="L164" href="#L164">164</a> 
<a class="jxr_linenumber" name="L165" href="#L165">165</a>         <strong class="jxr_keyword">abstract</strong> Class&lt;?&gt; generator();
<a class="jxr_linenumber" name="L166" href="#L166">166</a>     }
<a class="jxr_linenumber" name="L167" href="#L167">167</a> 
<a class="jxr_linenumber" name="L168" href="#L168">168</a>     <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String FQCN_FIELD = <span class="jxr_string">""</span>
<a class="jxr_linenumber" name="L169" href="#L169">169</a>             + <span class="jxr_string">"    private static final String FQCN = %s.class.getName();%n"</span>;
<a class="jxr_linenumber" name="L170" href="#L170">170</a> 
<a class="jxr_linenumber" name="L171" href="#L171">171</a>     <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String LEVEL_FIELD = <span class="jxr_string">""</span>
<a class="jxr_linenumber" name="L172" href="#L172">172</a>             + <span class="jxr_string">"    private static final Level %s = Level.forName(\&quot;%s\&quot;, %d);%n"</span>;
<a class="jxr_linenumber" name="L173" href="#L173">173</a> 
<a class="jxr_linenumber" name="L174" href="#L174">174</a>     <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String FACTORY_METHODS = <span class="jxr_string">""</span>
<a class="jxr_linenumber" name="L175" href="#L175">175</a>             <em class="jxr_comment">//@formatter:off</em>
<a class="jxr_linenumber" name="L176" href="#L176">176</a>             + <span class="jxr_string">"%n"</span>
<a class="jxr_linenumber" name="L177" href="#L177">177</a>             + <span class="jxr_string">"    /**%n"</span>
<a class="jxr_linenumber" name="L178" href="#L178">178</a>             + <span class="jxr_string">"     * Returns a custom Logger with the name of the calling class.%n"</span>
<a class="jxr_linenumber" name="L179" href="#L179">179</a>             + <span class="jxr_string">"     * %n"</span>
<a class="jxr_linenumber" name="L180" href="#L180">180</a>             + <span class="jxr_string">"     * @return The custom Logger for the calling class.%n"</span>
<a class="jxr_linenumber" name="L181" href="#L181">181</a>             + <span class="jxr_string">"     */%n"</span>
<a class="jxr_linenumber" name="L182" href="#L182">182</a>             + <span class="jxr_string">"    public static CLASSNAME create() {%n"</span>
<a class="jxr_linenumber" name="L183" href="#L183">183</a>             + <span class="jxr_string">"        final Logger wrapped = LogManager.getLogger();%n"</span>
<a class="jxr_linenumber" name="L184" href="#L184">184</a>             + <span class="jxr_string">"        return new CLASSNAME(wrapped);%n"</span>
<a class="jxr_linenumber" name="L185" href="#L185">185</a>             + <span class="jxr_string">"    }%n"</span>
<a class="jxr_linenumber" name="L186" href="#L186">186</a>             + <span class="jxr_string">"%n"</span>
<a class="jxr_linenumber" name="L187" href="#L187">187</a>             + <span class="jxr_string">"    /**%n"</span>
<a class="jxr_linenumber" name="L188" href="#L188">188</a>             + <span class="jxr_string">"     * Returns a custom Logger using the fully qualified name of the Class as%n"</span>
<a class="jxr_linenumber" name="L189" href="#L189">189</a>             + <span class="jxr_string">"     * the Logger name.%n"</span>
<a class="jxr_linenumber" name="L190" href="#L190">190</a>             + <span class="jxr_string">"     * %n"</span>
<a class="jxr_linenumber" name="L191" href="#L191">191</a>             + <span class="jxr_string">"     * @param loggerName The Class whose name should be used as the Logger name.%n"</span>
<a class="jxr_linenumber" name="L192" href="#L192">192</a>             + <span class="jxr_string">"     *            If null it will default to the calling class.%n"</span>
<a class="jxr_linenumber" name="L193" href="#L193">193</a>             + <span class="jxr_string">"     * @return The custom Logger.%n"</span>
<a class="jxr_linenumber" name="L194" href="#L194">194</a>             + <span class="jxr_string">"     */%n"</span>
<a class="jxr_linenumber" name="L195" href="#L195">195</a>             + <span class="jxr_string">"    public static CLASSNAME create(final Class&lt;?&gt; loggerName) {%n"</span>
<a class="jxr_linenumber" name="L196" href="#L196">196</a>             + <span class="jxr_string">"        final Logger wrapped = LogManager.getLogger(loggerName);%n"</span>
<a class="jxr_linenumber" name="L197" href="#L197">197</a>             + <span class="jxr_string">"        return new CLASSNAME(wrapped);%n"</span>
<a class="jxr_linenumber" name="L198" href="#L198">198</a>             + <span class="jxr_string">"    }%n"</span>
<a class="jxr_linenumber" name="L199" href="#L199">199</a>             + <span class="jxr_string">"%n"</span>
<a class="jxr_linenumber" name="L200" href="#L200">200</a>             + <span class="jxr_string">"    /**%n"</span>
<a class="jxr_linenumber" name="L201" href="#L201">201</a>             + <span class="jxr_string">"     * Returns a custom Logger using the fully qualified name of the Class as%n"</span>
<a class="jxr_linenumber" name="L202" href="#L202">202</a>             + <span class="jxr_string">"     * the Logger name.%n"</span>
<a class="jxr_linenumber" name="L203" href="#L203">203</a>             + <span class="jxr_string">"     * %n"</span>
<a class="jxr_linenumber" name="L204" href="#L204">204</a>             + <span class="jxr_string">"     * @param loggerName The Class whose name should be used as the Logger name.%n"</span>
<a class="jxr_linenumber" name="L205" href="#L205">205</a>             + <span class="jxr_string">"     *            If null it will default to the calling class.%n"</span>
<a class="jxr_linenumber" name="L206" href="#L206">206</a>             + <span class="jxr_string">"     * @param messageFactory The message factory is used only when creating a%n"</span>
<a class="jxr_linenumber" name="L207" href="#L207">207</a>             + <span class="jxr_string">"     *            logger, subsequent use does not change the logger but will log%n"</span>
<a class="jxr_linenumber" name="L208" href="#L208">208</a>             + <span class="jxr_string">"     *            a warning if mismatched.%n"</span>
<a class="jxr_linenumber" name="L209" href="#L209">209</a>             + <span class="jxr_string">"     * @return The custom Logger.%n"</span>
<a class="jxr_linenumber" name="L210" href="#L210">210</a>             + <span class="jxr_string">"     */%n"</span>
<a class="jxr_linenumber" name="L211" href="#L211">211</a>             + <span class="jxr_string">"    public static CLASSNAME create(final Class&lt;?&gt; loggerName, final MessageFactory"</span>
<a class="jxr_linenumber" name="L212" href="#L212">212</a>             + <span class="jxr_string">" messageFactory) {%n"</span>
<a class="jxr_linenumber" name="L213" href="#L213">213</a>             + <span class="jxr_string">"        final Logger wrapped = LogManager.getLogger(loggerName, messageFactory);%n"</span>
<a class="jxr_linenumber" name="L214" href="#L214">214</a>             + <span class="jxr_string">"        return new CLASSNAME(wrapped);%n"</span>
<a class="jxr_linenumber" name="L215" href="#L215">215</a>             + <span class="jxr_string">"    }%n"</span>
<a class="jxr_linenumber" name="L216" href="#L216">216</a>             + <span class="jxr_string">"%n"</span>
<a class="jxr_linenumber" name="L217" href="#L217">217</a>             + <span class="jxr_string">"    /**%n"</span>
<a class="jxr_linenumber" name="L218" href="#L218">218</a>             + <span class="jxr_string">"     * Returns a custom Logger using the fully qualified class name of the value%n"</span>
<a class="jxr_linenumber" name="L219" href="#L219">219</a>             + <span class="jxr_string">"     * as the Logger name.%n"</span>
<a class="jxr_linenumber" name="L220" href="#L220">220</a>             + <span class="jxr_string">"     * %n"</span>
<a class="jxr_linenumber" name="L221" href="#L221">221</a>             + <span class="jxr_string">"     * @param value The value whose class name should be used as the Logger%n"</span>
<a class="jxr_linenumber" name="L222" href="#L222">222</a>             + <span class="jxr_string">"     *            name. If null the name of the calling class will be used as%n"</span>
<a class="jxr_linenumber" name="L223" href="#L223">223</a>             + <span class="jxr_string">"     *            the logger name.%n"</span>
<a class="jxr_linenumber" name="L224" href="#L224">224</a>             + <span class="jxr_string">"     * @return The custom Logger.%n"</span>
<a class="jxr_linenumber" name="L225" href="#L225">225</a>             + <span class="jxr_string">"     */%n"</span>
<a class="jxr_linenumber" name="L226" href="#L226">226</a>             + <span class="jxr_string">"    public static CLASSNAME create(final Object value) {%n"</span>
<a class="jxr_linenumber" name="L227" href="#L227">227</a>             + <span class="jxr_string">"        final Logger wrapped = LogManager.getLogger(value);%n"</span>
<a class="jxr_linenumber" name="L228" href="#L228">228</a>             + <span class="jxr_string">"        return new CLASSNAME(wrapped);%n"</span>
<a class="jxr_linenumber" name="L229" href="#L229">229</a>             + <span class="jxr_string">"    }%n"</span>
<a class="jxr_linenumber" name="L230" href="#L230">230</a>             + <span class="jxr_string">"%n"</span>
<a class="jxr_linenumber" name="L231" href="#L231">231</a>             + <span class="jxr_string">"    /**%n"</span>
<a class="jxr_linenumber" name="L232" href="#L232">232</a>             + <span class="jxr_string">"     * Returns a custom Logger using the fully qualified class name of the value%n"</span>
<a class="jxr_linenumber" name="L233" href="#L233">233</a>             + <span class="jxr_string">"     * as the Logger name.%n"</span>
<a class="jxr_linenumber" name="L234" href="#L234">234</a>             + <span class="jxr_string">"     * %n"</span>
<a class="jxr_linenumber" name="L235" href="#L235">235</a>             + <span class="jxr_string">"     * @param value The value whose class name should be used as the Logger%n"</span>
<a class="jxr_linenumber" name="L236" href="#L236">236</a>             + <span class="jxr_string">"     *            name. If null the name of the calling class will be used as%n"</span>
<a class="jxr_linenumber" name="L237" href="#L237">237</a>             + <span class="jxr_string">"     *            the logger name.%n"</span>
<a class="jxr_linenumber" name="L238" href="#L238">238</a>             + <span class="jxr_string">"     * @param messageFactory The message factory is used only when creating a%n"</span>
<a class="jxr_linenumber" name="L239" href="#L239">239</a>             + <span class="jxr_string">"     *            logger, subsequent use does not change the logger but will log%n"</span>
<a class="jxr_linenumber" name="L240" href="#L240">240</a>             + <span class="jxr_string">"     *            a warning if mismatched.%n"</span>
<a class="jxr_linenumber" name="L241" href="#L241">241</a>             + <span class="jxr_string">"     * @return The custom Logger.%n"</span>
<a class="jxr_linenumber" name="L242" href="#L242">242</a>             + <span class="jxr_string">"     */%n"</span>
<a class="jxr_linenumber" name="L243" href="#L243">243</a>             + <span class="jxr_string">"    public static CLASSNAME create(final Object value, final MessageFactory messageFactory) {%n"</span>
<a class="jxr_linenumber" name="L244" href="#L244">244</a>             + <span class="jxr_string">"        final Logger wrapped = LogManager.getLogger(value, messageFactory);%n"</span>
<a class="jxr_linenumber" name="L245" href="#L245">245</a>             + <span class="jxr_string">"        return new CLASSNAME(wrapped);%n"</span>
<a class="jxr_linenumber" name="L246" href="#L246">246</a>             + <span class="jxr_string">"    }%n"</span>
<a class="jxr_linenumber" name="L247" href="#L247">247</a>             + <span class="jxr_string">"%n"</span>
<a class="jxr_linenumber" name="L248" href="#L248">248</a>             + <span class="jxr_string">"    /**%n"</span>
<a class="jxr_linenumber" name="L249" href="#L249">249</a>             + <span class="jxr_string">"     * Returns a custom Logger with the specified name.%n"</span>
<a class="jxr_linenumber" name="L250" href="#L250">250</a>             + <span class="jxr_string">"     * %n"</span>
<a class="jxr_linenumber" name="L251" href="#L251">251</a>             + <span class="jxr_string">"     * @param name The logger name. If null the name of the calling class will%n"</span>
<a class="jxr_linenumber" name="L252" href="#L252">252</a>             + <span class="jxr_string">"     *            be used.%n"</span>
<a class="jxr_linenumber" name="L253" href="#L253">253</a>             + <span class="jxr_string">"     * @return The custom Logger.%n"</span>
<a class="jxr_linenumber" name="L254" href="#L254">254</a>             + <span class="jxr_string">"     */%n"</span>
<a class="jxr_linenumber" name="L255" href="#L255">255</a>             + <span class="jxr_string">"    public static CLASSNAME create(final String name) {%n"</span>
<a class="jxr_linenumber" name="L256" href="#L256">256</a>             + <span class="jxr_string">"        final Logger wrapped = LogManager.getLogger(name);%n"</span>
<a class="jxr_linenumber" name="L257" href="#L257">257</a>             + <span class="jxr_string">"        return new CLASSNAME(wrapped);%n"</span>
<a class="jxr_linenumber" name="L258" href="#L258">258</a>             + <span class="jxr_string">"    }%n"</span>
<a class="jxr_linenumber" name="L259" href="#L259">259</a>             + <span class="jxr_string">"%n"</span>
<a class="jxr_linenumber" name="L260" href="#L260">260</a>             + <span class="jxr_string">"    /**%n"</span>
<a class="jxr_linenumber" name="L261" href="#L261">261</a>             + <span class="jxr_string">"     * Returns a custom Logger with the specified name.%n"</span>
<a class="jxr_linenumber" name="L262" href="#L262">262</a>             + <span class="jxr_string">"     * %n"</span>
<a class="jxr_linenumber" name="L263" href="#L263">263</a>             + <span class="jxr_string">"     * @param name The logger name. If null the name of the calling class will%n"</span>
<a class="jxr_linenumber" name="L264" href="#L264">264</a>             + <span class="jxr_string">"     *            be used.%n"</span>
<a class="jxr_linenumber" name="L265" href="#L265">265</a>             + <span class="jxr_string">"     * @param messageFactory The message factory is used only when creating a%n"</span>
<a class="jxr_linenumber" name="L266" href="#L266">266</a>             + <span class="jxr_string">"     *            logger, subsequent use does not change the logger but will log%n"</span>
<a class="jxr_linenumber" name="L267" href="#L267">267</a>             + <span class="jxr_string">"     *            a warning if mismatched.%n"</span>
<a class="jxr_linenumber" name="L268" href="#L268">268</a>             + <span class="jxr_string">"     * @return The custom Logger.%n"</span>
<a class="jxr_linenumber" name="L269" href="#L269">269</a>             + <span class="jxr_string">"     */%n"</span>
<a class="jxr_linenumber" name="L270" href="#L270">270</a>             + <span class="jxr_string">"    public static CLASSNAME create(final String name, final MessageFactory messageFactory) {%n"</span>
<a class="jxr_linenumber" name="L271" href="#L271">271</a>             + <span class="jxr_string">"        final Logger wrapped = LogManager.getLogger(name, messageFactory);%n"</span>
<a class="jxr_linenumber" name="L272" href="#L272">272</a>             + <span class="jxr_string">"        return new CLASSNAME(wrapped);%n"</span>
<a class="jxr_linenumber" name="L273" href="#L273">273</a>             + <span class="jxr_string">"    }%n"</span>;
<a class="jxr_linenumber" name="L274" href="#L274">274</a>             <em class="jxr_comment">//@formatter:on</em>
<a class="jxr_linenumber" name="L275" href="#L275">275</a> 
<a class="jxr_linenumber" name="L276" href="#L276">276</a>     <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String METHODS = <span class="jxr_string">""</span>
<a class="jxr_linenumber" name="L277" href="#L277">277</a>             <em class="jxr_comment">//@formatter:off</em>
<a class="jxr_linenumber" name="L278" href="#L278">278</a>             + <span class="jxr_string">"%n"</span>
<a class="jxr_linenumber" name="L279" href="#L279">279</a>             + <span class="jxr_string">"    /**%n"</span>
<a class="jxr_linenumber" name="L280" href="#L280">280</a>             + <span class="jxr_string">"     * Logs a message with the specific Marker at the {@code CUSTOM_LEVEL} level.%n"</span>
<a class="jxr_linenumber" name="L281" href="#L281">281</a>             + <span class="jxr_string">"     * %n"</span>
<a class="jxr_linenumber" name="L282" href="#L282">282</a>             + <span class="jxr_string">"     * @param marker the marker data specific to this log statement%n"</span>
<a class="jxr_linenumber" name="L283" href="#L283">283</a>             + <span class="jxr_string">"     * @param msg the message string to be logged%n"</span>
<a class="jxr_linenumber" name="L284" href="#L284">284</a>             + <span class="jxr_string">"     */%n"</span>
<a class="jxr_linenumber" name="L285" href="#L285">285</a>             + <span class="jxr_string">"    public void methodName(final Marker marker, final Message msg) {%n"</span>
<a class="jxr_linenumber" name="L286" href="#L286">286</a>             + <span class="jxr_string">"        logger.logIfEnabled(FQCN, CUSTOM_LEVEL, marker, msg, (Throwable) null);%n"</span>
<a class="jxr_linenumber" name="L287" href="#L287">287</a>             + <span class="jxr_string">"    }%n"</span>
<a class="jxr_linenumber" name="L288" href="#L288">288</a>             + <span class="jxr_string">"%n"</span>
<a class="jxr_linenumber" name="L289" href="#L289">289</a>             + <span class="jxr_string">"    /**%n"</span>
<a class="jxr_linenumber" name="L290" href="#L290">290</a>             + <span class="jxr_string">"     * Logs a message with the specific Marker at the {@code CUSTOM_LEVEL} level.%n"</span>
<a class="jxr_linenumber" name="L291" href="#L291">291</a>             + <span class="jxr_string">"     * %n"</span>
<a class="jxr_linenumber" name="L292" href="#L292">292</a>             + <span class="jxr_string">"     * @param marker the marker data specific to this log statement%n"</span>
<a class="jxr_linenumber" name="L293" href="#L293">293</a>             + <span class="jxr_string">"     * @param msg the message string to be logged%n"</span>
<a class="jxr_linenumber" name="L294" href="#L294">294</a>             + <span class="jxr_string">"     * @param t A Throwable or null.%n"</span>
<a class="jxr_linenumber" name="L295" href="#L295">295</a>             + <span class="jxr_string">"     */%n"</span>
<a class="jxr_linenumber" name="L296" href="#L296">296</a>             + <span class="jxr_string">"    public void methodName(final Marker marker, final Message msg, final Throwable t) {%n"</span>
<a class="jxr_linenumber" name="L297" href="#L297">297</a>             + <span class="jxr_string">"        logger.logIfEnabled(FQCN, CUSTOM_LEVEL, marker, msg, t);%n"</span>
<a class="jxr_linenumber" name="L298" href="#L298">298</a>             + <span class="jxr_string">"    }%n"</span>
<a class="jxr_linenumber" name="L299" href="#L299">299</a>             + <span class="jxr_string">"%n"</span>
<a class="jxr_linenumber" name="L300" href="#L300">300</a>             + <span class="jxr_string">"    /**%n"</span>
<a class="jxr_linenumber" name="L301" href="#L301">301</a>             + <span class="jxr_string">"     * Logs a message object with the {@code CUSTOM_LEVEL} level.%n"</span>
<a class="jxr_linenumber" name="L302" href="#L302">302</a>             + <span class="jxr_string">"     * %n"</span>
<a class="jxr_linenumber" name="L303" href="#L303">303</a>             + <span class="jxr_string">"     * @param marker the marker data specific to this log statement%n"</span>
<a class="jxr_linenumber" name="L304" href="#L304">304</a>             + <span class="jxr_string">"     * @param message the message object to log.%n"</span>
<a class="jxr_linenumber" name="L305" href="#L305">305</a>             + <span class="jxr_string">"     */%n"</span>
<a class="jxr_linenumber" name="L306" href="#L306">306</a>             + <span class="jxr_string">"    public void methodName(final Marker marker, final Object message) {%n"</span>
<a class="jxr_linenumber" name="L307" href="#L307">307</a>             + <span class="jxr_string">"        logger.logIfEnabled(FQCN, CUSTOM_LEVEL, marker, message, (Throwable) null);%n"</span>
<a class="jxr_linenumber" name="L308" href="#L308">308</a>             + <span class="jxr_string">"    }%n"</span>
<a class="jxr_linenumber" name="L309" href="#L309">309</a>             + <span class="jxr_string">"%n"</span>
<a class="jxr_linenumber" name="L310" href="#L310">310</a>             + <span class="jxr_string">"    /**%n"</span>
<a class="jxr_linenumber" name="L311" href="#L311">311</a>             + <span class="jxr_string">"     * Logs a message CharSequence with the {@code CUSTOM_LEVEL} level.%n"</span>
<a class="jxr_linenumber" name="L312" href="#L312">312</a>             + <span class="jxr_string">"     * %n"</span>
<a class="jxr_linenumber" name="L313" href="#L313">313</a>             + <span class="jxr_string">"     * @param marker the marker data specific to this log statement%n"</span>
<a class="jxr_linenumber" name="L314" href="#L314">314</a>             + <span class="jxr_string">"     * @param message the message CharSequence to log.%n"</span>
<a class="jxr_linenumber" name="L315" href="#L315">315</a>             + <span class="jxr_string">"     * @since Log4j-2.6%n"</span>
<a class="jxr_linenumber" name="L316" href="#L316">316</a>             + <span class="jxr_string">"     */%n"</span>
<a class="jxr_linenumber" name="L317" href="#L317">317</a>             + <span class="jxr_string">"    public void methodName(final Marker marker, final CharSequence message) {%n"</span>
<a class="jxr_linenumber" name="L318" href="#L318">318</a>             + <span class="jxr_string">"        logger.logIfEnabled(FQCN, CUSTOM_LEVEL, marker, message, (Throwable) null);%n"</span>
<a class="jxr_linenumber" name="L319" href="#L319">319</a>             + <span class="jxr_string">"    }%n"</span>
<a class="jxr_linenumber" name="L320" href="#L320">320</a>             + <span class="jxr_string">"%n"</span>
<a class="jxr_linenumber" name="L321" href="#L321">321</a>             + <span class="jxr_string">"    /**%n"</span>
<a class="jxr_linenumber" name="L322" href="#L322">322</a>             + <span class="jxr_string">"     * Logs a message at the {@code CUSTOM_LEVEL} level including the stack trace of%n"</span>
<a class="jxr_linenumber" name="L323" href="#L323">323</a>             + <span class="jxr_string">"     * the {@link Throwable} {@code t} passed as parameter.%n"</span>
<a class="jxr_linenumber" name="L324" href="#L324">324</a>             + <span class="jxr_string">"     * %n"</span>
<a class="jxr_linenumber" name="L325" href="#L325">325</a>             + <span class="jxr_string">"     * @param marker the marker data specific to this log statement%n"</span>
<a class="jxr_linenumber" name="L326" href="#L326">326</a>             + <span class="jxr_string">"     * @param message the message to log.%n"</span>
<a class="jxr_linenumber" name="L327" href="#L327">327</a>             + <span class="jxr_string">"     * @param t the exception to log, including its stack trace.%n"</span>
<a class="jxr_linenumber" name="L328" href="#L328">328</a>             + <span class="jxr_string">"     */%n"</span>
<a class="jxr_linenumber" name="L329" href="#L329">329</a>             + <span class="jxr_string">"    public void methodName(final Marker marker, final Object message, final Throwable t) {%n"</span>
<a class="jxr_linenumber" name="L330" href="#L330">330</a>             + <span class="jxr_string">"        logger.logIfEnabled(FQCN, CUSTOM_LEVEL, marker, message, t);%n"</span>
<a class="jxr_linenumber" name="L331" href="#L331">331</a>             + <span class="jxr_string">"    }%n"</span>
<a class="jxr_linenumber" name="L332" href="#L332">332</a>             + <span class="jxr_string">"%n"</span>
<a class="jxr_linenumber" name="L333" href="#L333">333</a>             + <span class="jxr_string">"    /**%n"</span>
<a class="jxr_linenumber" name="L334" href="#L334">334</a>             + <span class="jxr_string">"     * Logs a message at the {@code CUSTOM_LEVEL} level including the stack trace of%n"</span>
<a class="jxr_linenumber" name="L335" href="#L335">335</a>             + <span class="jxr_string">"     * the {@link Throwable} {@code t} passed as parameter.%n"</span>
<a class="jxr_linenumber" name="L336" href="#L336">336</a>             + <span class="jxr_string">"     * %n"</span>
<a class="jxr_linenumber" name="L337" href="#L337">337</a>             + <span class="jxr_string">"     * @param marker the marker data specific to this log statement%n"</span>
<a class="jxr_linenumber" name="L338" href="#L338">338</a>             + <span class="jxr_string">"     * @param message the CharSequence to log.%n"</span>
<a class="jxr_linenumber" name="L339" href="#L339">339</a>             + <span class="jxr_string">"     * @param t the exception to log, including its stack trace.%n"</span>
<a class="jxr_linenumber" name="L340" href="#L340">340</a>             + <span class="jxr_string">"     * @since Log4j-2.6%n"</span>
<a class="jxr_linenumber" name="L341" href="#L341">341</a>             + <span class="jxr_string">"     */%n"</span>
<a class="jxr_linenumber" name="L342" href="#L342">342</a>             + <span class="jxr_string">"    public void methodName(final Marker marker, final CharSequence message, final Throwable t) {%n"</span>
<a class="jxr_linenumber" name="L343" href="#L343">343</a>             + <span class="jxr_string">"        logger.logIfEnabled(FQCN, CUSTOM_LEVEL, marker, message, t);%n"</span>
<a class="jxr_linenumber" name="L344" href="#L344">344</a>             + <span class="jxr_string">"    }%n"</span>
<a class="jxr_linenumber" name="L345" href="#L345">345</a>             + <span class="jxr_string">"%n"</span>
<a class="jxr_linenumber" name="L346" href="#L346">346</a>             + <span class="jxr_string">"    /**%n"</span>
<a class="jxr_linenumber" name="L347" href="#L347">347</a>             + <span class="jxr_string">"     * Logs a message object with the {@code CUSTOM_LEVEL} level.%n"</span>
<a class="jxr_linenumber" name="L348" href="#L348">348</a>             + <span class="jxr_string">"     * %n"</span>
<a class="jxr_linenumber" name="L349" href="#L349">349</a>             + <span class="jxr_string">"     * @param marker the marker data specific to this log statement%n"</span>
<a class="jxr_linenumber" name="L350" href="#L350">350</a>             + <span class="jxr_string">"     * @param message the message object to log.%n"</span>
<a class="jxr_linenumber" name="L351" href="#L351">351</a>             + <span class="jxr_string">"     */%n"</span>
<a class="jxr_linenumber" name="L352" href="#L352">352</a>             + <span class="jxr_string">"    public void methodName(final Marker marker, final String message) {%n"</span>
<a class="jxr_linenumber" name="L353" href="#L353">353</a>             + <span class="jxr_string">"        logger.logIfEnabled(FQCN, CUSTOM_LEVEL, marker, message, (Throwable) null);%n"</span>
<a class="jxr_linenumber" name="L354" href="#L354">354</a>             + <span class="jxr_string">"    }%n"</span>
<a class="jxr_linenumber" name="L355" href="#L355">355</a>             + <span class="jxr_string">"%n"</span>
<a class="jxr_linenumber" name="L356" href="#L356">356</a>             + <span class="jxr_string">"    /**%n"</span>
<a class="jxr_linenumber" name="L357" href="#L357">357</a>             + <span class="jxr_string">"     * Logs a message with parameters at the {@code CUSTOM_LEVEL} level.%n"</span>
<a class="jxr_linenumber" name="L358" href="#L358">358</a>             + <span class="jxr_string">"     * %n"</span>
<a class="jxr_linenumber" name="L359" href="#L359">359</a>             + <span class="jxr_string">"     * @param marker the marker data specific to this log statement%n"</span>
<a class="jxr_linenumber" name="L360" href="#L360">360</a>             + <span class="jxr_string">"     * @param message the message to log; the format depends on the message factory.%n"</span>
<a class="jxr_linenumber" name="L361" href="#L361">361</a>             + <span class="jxr_string">"     * @param params parameters to the message.%n"</span>
<a class="jxr_linenumber" name="L362" href="#L362">362</a>             + <span class="jxr_string">"     * @see #getMessageFactory()%n"</span>
<a class="jxr_linenumber" name="L363" href="#L363">363</a>             + <span class="jxr_string">"     */%n"</span>
<a class="jxr_linenumber" name="L364" href="#L364">364</a>             + <span class="jxr_string">"    public void methodName(final Marker marker, final String message, final Object... params) {%n"</span>
<a class="jxr_linenumber" name="L365" href="#L365">365</a>             + <span class="jxr_string">"        logger.logIfEnabled(FQCN, CUSTOM_LEVEL, marker, message, params);%n"</span>
<a class="jxr_linenumber" name="L366" href="#L366">366</a>             + <span class="jxr_string">"    }%n"</span>
<a class="jxr_linenumber" name="L367" href="#L367">367</a>             + <span class="jxr_string">"%n"</span>
<a class="jxr_linenumber" name="L368" href="#L368">368</a>             + <span class="jxr_string">"    /**%n"</span>
<a class="jxr_linenumber" name="L369" href="#L369">369</a>             + <span class="jxr_string">"     * Logs a message with parameters at the {@code CUSTOM_LEVEL} level.%n"</span>
<a class="jxr_linenumber" name="L370" href="#L370">370</a>             + <span class="jxr_string">"     * %n"</span>
<a class="jxr_linenumber" name="L371" href="#L371">371</a>             + <span class="jxr_string">"     * @param marker the marker data specific to this log statement%n"</span>
<a class="jxr_linenumber" name="L372" href="#L372">372</a>             + <span class="jxr_string">"     * @param message the message to log; the format depends on the message factory.%n"</span>
<a class="jxr_linenumber" name="L373" href="#L373">373</a>             + <span class="jxr_string">"     * @param p0 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L374" href="#L374">374</a>             + <span class="jxr_string">"     * @see #getMessageFactory()%n"</span>
<a class="jxr_linenumber" name="L375" href="#L375">375</a>             + <span class="jxr_string">"     * @since Log4j-2.6%n"</span>
<a class="jxr_linenumber" name="L376" href="#L376">376</a>             + <span class="jxr_string">"     */%n"</span>
<a class="jxr_linenumber" name="L377" href="#L377">377</a>             + <span class="jxr_string">"    public void methodName(final Marker marker, final String message, final Object p0) {%n"</span>
<a class="jxr_linenumber" name="L378" href="#L378">378</a>             + <span class="jxr_string">"        logger.logIfEnabled(FQCN, CUSTOM_LEVEL, marker, message, p0);%n"</span>
<a class="jxr_linenumber" name="L379" href="#L379">379</a>             + <span class="jxr_string">"    }%n"</span>
<a class="jxr_linenumber" name="L380" href="#L380">380</a>             + <span class="jxr_string">"%n"</span>
<a class="jxr_linenumber" name="L381" href="#L381">381</a>             + <span class="jxr_string">"    /**%n"</span>
<a class="jxr_linenumber" name="L382" href="#L382">382</a>             + <span class="jxr_string">"     * Logs a message with parameters at the {@code CUSTOM_LEVEL} level.%n"</span>
<a class="jxr_linenumber" name="L383" href="#L383">383</a>             + <span class="jxr_string">"     * %n"</span>
<a class="jxr_linenumber" name="L384" href="#L384">384</a>             + <span class="jxr_string">"     * @param marker the marker data specific to this log statement%n"</span>
<a class="jxr_linenumber" name="L385" href="#L385">385</a>             + <span class="jxr_string">"     * @param message the message to log; the format depends on the message factory.%n"</span>
<a class="jxr_linenumber" name="L386" href="#L386">386</a>             + <span class="jxr_string">"     * @param p0 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L387" href="#L387">387</a>             + <span class="jxr_string">"     * @param p1 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L388" href="#L388">388</a>             + <span class="jxr_string">"     * @see #getMessageFactory()%n"</span>
<a class="jxr_linenumber" name="L389" href="#L389">389</a>             + <span class="jxr_string">"     * @since Log4j-2.6%n"</span>
<a class="jxr_linenumber" name="L390" href="#L390">390</a>             + <span class="jxr_string">"     */%n"</span>
<a class="jxr_linenumber" name="L391" href="#L391">391</a>             + <span class="jxr_string">"    public void methodName(final Marker marker, final String message, final Object p0, "</span>
<a class="jxr_linenumber" name="L392" href="#L392">392</a>             + <span class="jxr_string">"final Object p1) {%n"</span>
<a class="jxr_linenumber" name="L393" href="#L393">393</a>             + <span class="jxr_string">"        logger.logIfEnabled(FQCN, CUSTOM_LEVEL, marker, message, p0, p1);%n"</span>
<a class="jxr_linenumber" name="L394" href="#L394">394</a>             + <span class="jxr_string">"    }%n"</span>
<a class="jxr_linenumber" name="L395" href="#L395">395</a>             + <span class="jxr_string">"%n"</span>
<a class="jxr_linenumber" name="L396" href="#L396">396</a>             + <span class="jxr_string">"    /**%n"</span>
<a class="jxr_linenumber" name="L397" href="#L397">397</a>             + <span class="jxr_string">"     * Logs a message with parameters at the {@code CUSTOM_LEVEL} level.%n"</span>
<a class="jxr_linenumber" name="L398" href="#L398">398</a>             + <span class="jxr_string">"     * %n"</span>
<a class="jxr_linenumber" name="L399" href="#L399">399</a>             + <span class="jxr_string">"     * @param marker the marker data specific to this log statement%n"</span>
<a class="jxr_linenumber" name="L400" href="#L400">400</a>             + <span class="jxr_string">"     * @param message the message to log; the format depends on the message factory.%n"</span>
<a class="jxr_linenumber" name="L401" href="#L401">401</a>             + <span class="jxr_string">"     * @param p0 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L402" href="#L402">402</a>             + <span class="jxr_string">"     * @param p1 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L403" href="#L403">403</a>             + <span class="jxr_string">"     * @param p2 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L404" href="#L404">404</a>             + <span class="jxr_string">"     * @see #getMessageFactory()%n"</span>
<a class="jxr_linenumber" name="L405" href="#L405">405</a>             + <span class="jxr_string">"     * @since Log4j-2.6%n"</span>
<a class="jxr_linenumber" name="L406" href="#L406">406</a>             + <span class="jxr_string">"     */%n"</span>
<a class="jxr_linenumber" name="L407" href="#L407">407</a>             + <span class="jxr_string">"    public void methodName(final Marker marker, final String message, final Object p0, "</span>
<a class="jxr_linenumber" name="L408" href="#L408">408</a>             + <span class="jxr_string">"final Object p1, final Object p2) {%n"</span>
<a class="jxr_linenumber" name="L409" href="#L409">409</a>             + <span class="jxr_string">"        logger.logIfEnabled(FQCN, CUSTOM_LEVEL, marker, message, p0, p1, p2);%n"</span>
<a class="jxr_linenumber" name="L410" href="#L410">410</a>             + <span class="jxr_string">"    }%n"</span>
<a class="jxr_linenumber" name="L411" href="#L411">411</a>             + <span class="jxr_string">"%n"</span>
<a class="jxr_linenumber" name="L412" href="#L412">412</a>             + <span class="jxr_string">"    /**%n"</span>
<a class="jxr_linenumber" name="L413" href="#L413">413</a>             + <span class="jxr_string">"     * Logs a message with parameters at the {@code CUSTOM_LEVEL} level.%n"</span>
<a class="jxr_linenumber" name="L414" href="#L414">414</a>             + <span class="jxr_string">"     * %n"</span>
<a class="jxr_linenumber" name="L415" href="#L415">415</a>             + <span class="jxr_string">"     * @param marker the marker data specific to this log statement%n"</span>
<a class="jxr_linenumber" name="L416" href="#L416">416</a>             + <span class="jxr_string">"     * @param message the message to log; the format depends on the message factory.%n"</span>
<a class="jxr_linenumber" name="L417" href="#L417">417</a>             + <span class="jxr_string">"     * @param p0 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L418" href="#L418">418</a>             + <span class="jxr_string">"     * @param p1 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L419" href="#L419">419</a>             + <span class="jxr_string">"     * @param p2 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L420" href="#L420">420</a>             + <span class="jxr_string">"     * @param p3 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L421" href="#L421">421</a>             + <span class="jxr_string">"     * @see #getMessageFactory()%n"</span>
<a class="jxr_linenumber" name="L422" href="#L422">422</a>             + <span class="jxr_string">"     * @since Log4j-2.6%n"</span>
<a class="jxr_linenumber" name="L423" href="#L423">423</a>             + <span class="jxr_string">"     */%n"</span>
<a class="jxr_linenumber" name="L424" href="#L424">424</a>             + <span class="jxr_string">"    public void methodName(final Marker marker, final String message, final Object p0, "</span>
<a class="jxr_linenumber" name="L425" href="#L425">425</a>             + <span class="jxr_string">"final Object p1, final Object p2,%n"</span>
<a class="jxr_linenumber" name="L426" href="#L426">426</a>             + <span class="jxr_string">"            final Object p3) {%n"</span>
<a class="jxr_linenumber" name="L427" href="#L427">427</a>             + <span class="jxr_string">"        logger.logIfEnabled(FQCN, CUSTOM_LEVEL, marker, message, p0, p1, p2, p3);%n"</span>
<a class="jxr_linenumber" name="L428" href="#L428">428</a>             + <span class="jxr_string">"    }%n"</span>
<a class="jxr_linenumber" name="L429" href="#L429">429</a>             + <span class="jxr_string">"%n"</span>
<a class="jxr_linenumber" name="L430" href="#L430">430</a>             + <span class="jxr_string">"    /**%n"</span>
<a class="jxr_linenumber" name="L431" href="#L431">431</a>             + <span class="jxr_string">"     * Logs a message with parameters at the {@code CUSTOM_LEVEL} level.%n"</span>
<a class="jxr_linenumber" name="L432" href="#L432">432</a>             + <span class="jxr_string">"     * %n"</span>
<a class="jxr_linenumber" name="L433" href="#L433">433</a>             + <span class="jxr_string">"     * @param marker the marker data specific to this log statement%n"</span>
<a class="jxr_linenumber" name="L434" href="#L434">434</a>             + <span class="jxr_string">"     * @param message the message to log; the format depends on the message factory.%n"</span>
<a class="jxr_linenumber" name="L435" href="#L435">435</a>             + <span class="jxr_string">"     * @param p0 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L436" href="#L436">436</a>             + <span class="jxr_string">"     * @param p1 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L437" href="#L437">437</a>             + <span class="jxr_string">"     * @param p2 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L438" href="#L438">438</a>             + <span class="jxr_string">"     * @param p3 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L439" href="#L439">439</a>             + <span class="jxr_string">"     * @param p4 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L440" href="#L440">440</a>             + <span class="jxr_string">"     * @see #getMessageFactory()%n"</span>
<a class="jxr_linenumber" name="L441" href="#L441">441</a>             + <span class="jxr_string">"     * @since Log4j-2.6%n"</span>
<a class="jxr_linenumber" name="L442" href="#L442">442</a>             + <span class="jxr_string">"     */%n"</span>
<a class="jxr_linenumber" name="L443" href="#L443">443</a>             + <span class="jxr_string">"    public void methodName(final Marker marker, final String message, final Object p0, "</span>
<a class="jxr_linenumber" name="L444" href="#L444">444</a>             + <span class="jxr_string">"final Object p1, final Object p2,%n"</span>
<a class="jxr_linenumber" name="L445" href="#L445">445</a>             + <span class="jxr_string">"            final Object p3, final Object p4) {%n"</span>
<a class="jxr_linenumber" name="L446" href="#L446">446</a>             + <span class="jxr_string">"        logger.logIfEnabled(FQCN, CUSTOM_LEVEL, marker, message, p0, p1, p2, p3, p4);%n"</span>
<a class="jxr_linenumber" name="L447" href="#L447">447</a>             + <span class="jxr_string">"    }%n"</span>
<a class="jxr_linenumber" name="L448" href="#L448">448</a>             + <span class="jxr_string">"%n"</span>
<a class="jxr_linenumber" name="L449" href="#L449">449</a>             + <span class="jxr_string">"    /**%n"</span>
<a class="jxr_linenumber" name="L450" href="#L450">450</a>             + <span class="jxr_string">"     * Logs a message with parameters at the {@code CUSTOM_LEVEL} level.%n"</span>
<a class="jxr_linenumber" name="L451" href="#L451">451</a>             + <span class="jxr_string">"     * %n"</span>
<a class="jxr_linenumber" name="L452" href="#L452">452</a>             + <span class="jxr_string">"     * @param marker the marker data specific to this log statement%n"</span>
<a class="jxr_linenumber" name="L453" href="#L453">453</a>             + <span class="jxr_string">"     * @param message the message to log; the format depends on the message factory.%n"</span>
<a class="jxr_linenumber" name="L454" href="#L454">454</a>             + <span class="jxr_string">"     * @param p0 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L455" href="#L455">455</a>             + <span class="jxr_string">"     * @param p1 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L456" href="#L456">456</a>             + <span class="jxr_string">"     * @param p2 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L457" href="#L457">457</a>             + <span class="jxr_string">"     * @param p3 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L458" href="#L458">458</a>             + <span class="jxr_string">"     * @param p4 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L459" href="#L459">459</a>             + <span class="jxr_string">"     * @param p5 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L460" href="#L460">460</a>             + <span class="jxr_string">"     * @see #getMessageFactory()%n"</span>
<a class="jxr_linenumber" name="L461" href="#L461">461</a>             + <span class="jxr_string">"     * @since Log4j-2.6%n"</span>
<a class="jxr_linenumber" name="L462" href="#L462">462</a>             + <span class="jxr_string">"     */%n"</span>
<a class="jxr_linenumber" name="L463" href="#L463">463</a>             + <span class="jxr_string">"    public void methodName(final Marker marker, final String message, final Object p0, "</span>
<a class="jxr_linenumber" name="L464" href="#L464">464</a>             + <span class="jxr_string">"final Object p1, final Object p2,%n"</span>
<a class="jxr_linenumber" name="L465" href="#L465">465</a>             + <span class="jxr_string">"            final Object p3, final Object p4, final Object p5) {%n"</span>
<a class="jxr_linenumber" name="L466" href="#L466">466</a>             + <span class="jxr_string">"        logger.logIfEnabled(FQCN, CUSTOM_LEVEL, marker, message, p0, p1, p2, p3, p4, p5);%n"</span>
<a class="jxr_linenumber" name="L467" href="#L467">467</a>             + <span class="jxr_string">"    }%n"</span>
<a class="jxr_linenumber" name="L468" href="#L468">468</a>             + <span class="jxr_string">"%n"</span>
<a class="jxr_linenumber" name="L469" href="#L469">469</a>             + <span class="jxr_string">"    /**%n"</span>
<a class="jxr_linenumber" name="L470" href="#L470">470</a>             + <span class="jxr_string">"     * Logs a message with parameters at the {@code CUSTOM_LEVEL} level.%n"</span>
<a class="jxr_linenumber" name="L471" href="#L471">471</a>             + <span class="jxr_string">"     * %n"</span>
<a class="jxr_linenumber" name="L472" href="#L472">472</a>             + <span class="jxr_string">"     * @param marker the marker data specific to this log statement%n"</span>
<a class="jxr_linenumber" name="L473" href="#L473">473</a>             + <span class="jxr_string">"     * @param message the message to log; the format depends on the message factory.%n"</span>
<a class="jxr_linenumber" name="L474" href="#L474">474</a>             + <span class="jxr_string">"     * @param p0 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L475" href="#L475">475</a>             + <span class="jxr_string">"     * @param p1 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L476" href="#L476">476</a>             + <span class="jxr_string">"     * @param p2 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L477" href="#L477">477</a>             + <span class="jxr_string">"     * @param p3 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L478" href="#L478">478</a>             + <span class="jxr_string">"     * @param p4 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L479" href="#L479">479</a>             + <span class="jxr_string">"     * @param p5 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L480" href="#L480">480</a>             + <span class="jxr_string">"     * @param p6 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L481" href="#L481">481</a>             + <span class="jxr_string">"     * @see #getMessageFactory()%n"</span>
<a class="jxr_linenumber" name="L482" href="#L482">482</a>             + <span class="jxr_string">"     * @since Log4j-2.6%n"</span>
<a class="jxr_linenumber" name="L483" href="#L483">483</a>             + <span class="jxr_string">"     */%n"</span>
<a class="jxr_linenumber" name="L484" href="#L484">484</a>             + <span class="jxr_string">"    public void methodName(final Marker marker, final String message, final Object p0, "</span>
<a class="jxr_linenumber" name="L485" href="#L485">485</a>             + <span class="jxr_string">"final Object p1, final Object p2,%n"</span>
<a class="jxr_linenumber" name="L486" href="#L486">486</a>             + <span class="jxr_string">"            final Object p3, final Object p4, final Object p5, final Object p6) {%n"</span>
<a class="jxr_linenumber" name="L487" href="#L487">487</a>             + <span class="jxr_string">"        logger.logIfEnabled(FQCN, CUSTOM_LEVEL, marker, message, p0, p1, p2, p3, p4, p5, p6);%n"</span>
<a class="jxr_linenumber" name="L488" href="#L488">488</a>             + <span class="jxr_string">"    }%n"</span>
<a class="jxr_linenumber" name="L489" href="#L489">489</a>             + <span class="jxr_string">"%n"</span>
<a class="jxr_linenumber" name="L490" href="#L490">490</a>             + <span class="jxr_string">"    /**%n"</span>
<a class="jxr_linenumber" name="L491" href="#L491">491</a>             + <span class="jxr_string">"     * Logs a message with parameters at the {@code CUSTOM_LEVEL} level.%n"</span>
<a class="jxr_linenumber" name="L492" href="#L492">492</a>             + <span class="jxr_string">"     * %n"</span>
<a class="jxr_linenumber" name="L493" href="#L493">493</a>             + <span class="jxr_string">"     * @param marker the marker data specific to this log statement%n"</span>
<a class="jxr_linenumber" name="L494" href="#L494">494</a>             + <span class="jxr_string">"     * @param message the message to log; the format depends on the message factory.%n"</span>
<a class="jxr_linenumber" name="L495" href="#L495">495</a>             + <span class="jxr_string">"     * @param p0 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L496" href="#L496">496</a>             + <span class="jxr_string">"     * @param p1 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L497" href="#L497">497</a>             + <span class="jxr_string">"     * @param p2 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L498" href="#L498">498</a>             + <span class="jxr_string">"     * @param p3 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L499" href="#L499">499</a>             + <span class="jxr_string">"     * @param p4 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L500" href="#L500">500</a>             + <span class="jxr_string">"     * @param p5 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L501" href="#L501">501</a>             + <span class="jxr_string">"     * @param p6 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L502" href="#L502">502</a>             + <span class="jxr_string">"     * @param p7 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L503" href="#L503">503</a>             + <span class="jxr_string">"     * @see #getMessageFactory()%n"</span>
<a class="jxr_linenumber" name="L504" href="#L504">504</a>             + <span class="jxr_string">"     * @since Log4j-2.6%n"</span>
<a class="jxr_linenumber" name="L505" href="#L505">505</a>             + <span class="jxr_string">"     */%n"</span>
<a class="jxr_linenumber" name="L506" href="#L506">506</a>             + <span class="jxr_string">"    public void methodName(final Marker marker, final String message, final Object p0, "</span>
<a class="jxr_linenumber" name="L507" href="#L507">507</a>             + <span class="jxr_string">"final Object p1, final Object p2,%n"</span>
<a class="jxr_linenumber" name="L508" href="#L508">508</a>             + <span class="jxr_string">"            final Object p3, final Object p4, final Object p5, final Object p6,%n"</span>
<a class="jxr_linenumber" name="L509" href="#L509">509</a>             + <span class="jxr_string">"            final Object p7) {%n"</span>
<a class="jxr_linenumber" name="L510" href="#L510">510</a>             + <span class="jxr_string">"        logger.logIfEnabled(FQCN, CUSTOM_LEVEL, marker, message, p0, p1, p2, p3, p4, p5, p6, p7);%n"</span>
<a class="jxr_linenumber" name="L511" href="#L511">511</a>             + <span class="jxr_string">"    }%n"</span>
<a class="jxr_linenumber" name="L512" href="#L512">512</a>             + <span class="jxr_string">"%n"</span>
<a class="jxr_linenumber" name="L513" href="#L513">513</a>             + <span class="jxr_string">"    /**%n"</span>
<a class="jxr_linenumber" name="L514" href="#L514">514</a>             + <span class="jxr_string">"     * Logs a message with parameters at the {@code CUSTOM_LEVEL} level.%n"</span>
<a class="jxr_linenumber" name="L515" href="#L515">515</a>             + <span class="jxr_string">"     * %n"</span>
<a class="jxr_linenumber" name="L516" href="#L516">516</a>             + <span class="jxr_string">"     * @param marker the marker data specific to this log statement%n"</span>
<a class="jxr_linenumber" name="L517" href="#L517">517</a>             + <span class="jxr_string">"     * @param message the message to log; the format depends on the message factory.%n"</span>
<a class="jxr_linenumber" name="L518" href="#L518">518</a>             + <span class="jxr_string">"     * @param p0 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L519" href="#L519">519</a>             + <span class="jxr_string">"     * @param p1 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L520" href="#L520">520</a>             + <span class="jxr_string">"     * @param p2 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L521" href="#L521">521</a>             + <span class="jxr_string">"     * @param p3 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L522" href="#L522">522</a>             + <span class="jxr_string">"     * @param p4 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L523" href="#L523">523</a>             + <span class="jxr_string">"     * @param p5 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L524" href="#L524">524</a>             + <span class="jxr_string">"     * @param p6 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L525" href="#L525">525</a>             + <span class="jxr_string">"     * @param p7 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L526" href="#L526">526</a>             + <span class="jxr_string">"     * @param p8 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L527" href="#L527">527</a>             + <span class="jxr_string">"     * @see #getMessageFactory()%n"</span>
<a class="jxr_linenumber" name="L528" href="#L528">528</a>             + <span class="jxr_string">"     * @since Log4j-2.6%n"</span>
<a class="jxr_linenumber" name="L529" href="#L529">529</a>             + <span class="jxr_string">"     */%n"</span>
<a class="jxr_linenumber" name="L530" href="#L530">530</a>             + <span class="jxr_string">"    public void methodName(final Marker marker, final String message, final Object p0, "</span>
<a class="jxr_linenumber" name="L531" href="#L531">531</a>             + <span class="jxr_string">"final Object p1, final Object p2,%n"</span>
<a class="jxr_linenumber" name="L532" href="#L532">532</a>             + <span class="jxr_string">"            final Object p3, final Object p4, final Object p5, final Object p6,%n"</span>
<a class="jxr_linenumber" name="L533" href="#L533">533</a>             + <span class="jxr_string">"            final Object p7, final Object p8) {%n"</span>
<a class="jxr_linenumber" name="L534" href="#L534">534</a>             + <span class="jxr_string">"        logger.logIfEnabled(FQCN, CUSTOM_LEVEL, marker, message, p0, p1, p2, p3, p4, p5, p6, p7, "</span>
<a class="jxr_linenumber" name="L535" href="#L535">535</a>             + <span class="jxr_string">"p8);%n"</span>
<a class="jxr_linenumber" name="L536" href="#L536">536</a>             + <span class="jxr_string">"    }%n"</span>
<a class="jxr_linenumber" name="L537" href="#L537">537</a>             + <span class="jxr_string">"%n"</span>
<a class="jxr_linenumber" name="L538" href="#L538">538</a>             + <span class="jxr_string">"    /**%n"</span>
<a class="jxr_linenumber" name="L539" href="#L539">539</a>             + <span class="jxr_string">"     * Logs a message with parameters at the {@code CUSTOM_LEVEL} level.%n"</span>
<a class="jxr_linenumber" name="L540" href="#L540">540</a>             + <span class="jxr_string">"     * %n"</span>
<a class="jxr_linenumber" name="L541" href="#L541">541</a>             + <span class="jxr_string">"     * @param marker the marker data specific to this log statement%n"</span>
<a class="jxr_linenumber" name="L542" href="#L542">542</a>             + <span class="jxr_string">"     * @param message the message to log; the format depends on the message factory.%n"</span>
<a class="jxr_linenumber" name="L543" href="#L543">543</a>             + <span class="jxr_string">"     * @param p0 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L544" href="#L544">544</a>             + <span class="jxr_string">"     * @param p1 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L545" href="#L545">545</a>             + <span class="jxr_string">"     * @param p2 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L546" href="#L546">546</a>             + <span class="jxr_string">"     * @param p3 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L547" href="#L547">547</a>             + <span class="jxr_string">"     * @param p4 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L548" href="#L548">548</a>             + <span class="jxr_string">"     * @param p5 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L549" href="#L549">549</a>             + <span class="jxr_string">"     * @param p6 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L550" href="#L550">550</a>             + <span class="jxr_string">"     * @param p7 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L551" href="#L551">551</a>             + <span class="jxr_string">"     * @param p8 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L552" href="#L552">552</a>             + <span class="jxr_string">"     * @param p9 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L553" href="#L553">553</a>             + <span class="jxr_string">"     * @see #getMessageFactory()%n"</span>
<a class="jxr_linenumber" name="L554" href="#L554">554</a>             + <span class="jxr_string">"     * @since Log4j-2.6%n"</span>
<a class="jxr_linenumber" name="L555" href="#L555">555</a>             + <span class="jxr_string">"     */%n"</span>
<a class="jxr_linenumber" name="L556" href="#L556">556</a>             + <span class="jxr_string">"    public void methodName(final Marker marker, final String message, final Object p0, "</span>
<a class="jxr_linenumber" name="L557" href="#L557">557</a>             + <span class="jxr_string">"final Object p1, final Object p2,%n"</span>
<a class="jxr_linenumber" name="L558" href="#L558">558</a>             + <span class="jxr_string">"            final Object p3, final Object p4, final Object p5, final Object p6,%n"</span>
<a class="jxr_linenumber" name="L559" href="#L559">559</a>             + <span class="jxr_string">"            final Object p7, final Object p8, final Object p9) {%n"</span>
<a class="jxr_linenumber" name="L560" href="#L560">560</a>             + <span class="jxr_string">"        logger.logIfEnabled(FQCN, CUSTOM_LEVEL, marker, message, p0, p1, p2, p3, p4, p5, p6, p7, "</span>
<a class="jxr_linenumber" name="L561" href="#L561">561</a>             + <span class="jxr_string">"p8, p9);%n"</span>
<a class="jxr_linenumber" name="L562" href="#L562">562</a>             + <span class="jxr_string">"    }%n"</span>
<a class="jxr_linenumber" name="L563" href="#L563">563</a>             + <span class="jxr_string">"%n"</span>
<a class="jxr_linenumber" name="L564" href="#L564">564</a>             + <span class="jxr_string">"    /**%n"</span>
<a class="jxr_linenumber" name="L565" href="#L565">565</a>             + <span class="jxr_string">"     * Logs a message at the {@code CUSTOM_LEVEL} level including the stack trace of%n"</span>
<a class="jxr_linenumber" name="L566" href="#L566">566</a>             + <span class="jxr_string">"     * the {@link Throwable} {@code t} passed as parameter.%n"</span>
<a class="jxr_linenumber" name="L567" href="#L567">567</a>             + <span class="jxr_string">"     * %n"</span>
<a class="jxr_linenumber" name="L568" href="#L568">568</a>             + <span class="jxr_string">"     * @param marker the marker data specific to this log statement%n"</span>
<a class="jxr_linenumber" name="L569" href="#L569">569</a>             + <span class="jxr_string">"     * @param message the message to log.%n"</span>
<a class="jxr_linenumber" name="L570" href="#L570">570</a>             + <span class="jxr_string">"     * @param t the exception to log, including its stack trace.%n"</span>
<a class="jxr_linenumber" name="L571" href="#L571">571</a>             + <span class="jxr_string">"     */%n"</span>
<a class="jxr_linenumber" name="L572" href="#L572">572</a>             + <span class="jxr_string">"    public void methodName(final Marker marker, final String message, final Throwable t) {%n"</span>
<a class="jxr_linenumber" name="L573" href="#L573">573</a>             + <span class="jxr_string">"        logger.logIfEnabled(FQCN, CUSTOM_LEVEL, marker, message, t);%n"</span>
<a class="jxr_linenumber" name="L574" href="#L574">574</a>             + <span class="jxr_string">"    }%n"</span>
<a class="jxr_linenumber" name="L575" href="#L575">575</a>             + <span class="jxr_string">"%n"</span>
<a class="jxr_linenumber" name="L576" href="#L576">576</a>             + <span class="jxr_string">"    /**%n"</span>
<a class="jxr_linenumber" name="L577" href="#L577">577</a>             + <span class="jxr_string">"     * Logs the specified Message at the {@code CUSTOM_LEVEL} level.%n"</span>
<a class="jxr_linenumber" name="L578" href="#L578">578</a>             + <span class="jxr_string">"     * %n"</span>
<a class="jxr_linenumber" name="L579" href="#L579">579</a>             + <span class="jxr_string">"     * @param msg the message string to be logged%n"</span>
<a class="jxr_linenumber" name="L580" href="#L580">580</a>             + <span class="jxr_string">"     */%n"</span>
<a class="jxr_linenumber" name="L581" href="#L581">581</a>             + <span class="jxr_string">"    public void methodName(final Message msg) {%n"</span>
<a class="jxr_linenumber" name="L582" href="#L582">582</a>             + <span class="jxr_string">"        logger.logIfEnabled(FQCN, CUSTOM_LEVEL, null, msg, (Throwable) null);%n"</span>
<a class="jxr_linenumber" name="L583" href="#L583">583</a>             + <span class="jxr_string">"    }%n"</span>
<a class="jxr_linenumber" name="L584" href="#L584">584</a>             + <span class="jxr_string">"%n"</span>
<a class="jxr_linenumber" name="L585" href="#L585">585</a>             + <span class="jxr_string">"    /**%n"</span>
<a class="jxr_linenumber" name="L586" href="#L586">586</a>             + <span class="jxr_string">"     * Logs the specified Message at the {@code CUSTOM_LEVEL} level.%n"</span>
<a class="jxr_linenumber" name="L587" href="#L587">587</a>             + <span class="jxr_string">"     * %n"</span>
<a class="jxr_linenumber" name="L588" href="#L588">588</a>             + <span class="jxr_string">"     * @param msg the message string to be logged%n"</span>
<a class="jxr_linenumber" name="L589" href="#L589">589</a>             + <span class="jxr_string">"     * @param t A Throwable or null.%n"</span>
<a class="jxr_linenumber" name="L590" href="#L590">590</a>             + <span class="jxr_string">"     */%n"</span>
<a class="jxr_linenumber" name="L591" href="#L591">591</a>             + <span class="jxr_string">"    public void methodName(final Message msg, final Throwable t) {%n"</span>
<a class="jxr_linenumber" name="L592" href="#L592">592</a>             + <span class="jxr_string">"        logger.logIfEnabled(FQCN, CUSTOM_LEVEL, null, msg, t);%n"</span>
<a class="jxr_linenumber" name="L593" href="#L593">593</a>             + <span class="jxr_string">"    }%n"</span>
<a class="jxr_linenumber" name="L594" href="#L594">594</a>             + <span class="jxr_string">"%n"</span>
<a class="jxr_linenumber" name="L595" href="#L595">595</a>             + <span class="jxr_string">"    /**%n"</span>
<a class="jxr_linenumber" name="L596" href="#L596">596</a>             + <span class="jxr_string">"     * Logs a message object with the {@code CUSTOM_LEVEL} level.%n"</span>
<a class="jxr_linenumber" name="L597" href="#L597">597</a>             + <span class="jxr_string">"     * %n"</span>
<a class="jxr_linenumber" name="L598" href="#L598">598</a>             + <span class="jxr_string">"     * @param message the message object to log.%n"</span>
<a class="jxr_linenumber" name="L599" href="#L599">599</a>             + <span class="jxr_string">"     */%n"</span>
<a class="jxr_linenumber" name="L600" href="#L600">600</a>             + <span class="jxr_string">"    public void methodName(final Object message) {%n"</span>
<a class="jxr_linenumber" name="L601" href="#L601">601</a>             + <span class="jxr_string">"        logger.logIfEnabled(FQCN, CUSTOM_LEVEL, null, message, (Throwable) null);%n"</span>
<a class="jxr_linenumber" name="L602" href="#L602">602</a>             + <span class="jxr_string">"    }%n"</span>
<a class="jxr_linenumber" name="L603" href="#L603">603</a>             + <span class="jxr_string">"%n"</span>
<a class="jxr_linenumber" name="L604" href="#L604">604</a>             + <span class="jxr_string">"    /**%n"</span>
<a class="jxr_linenumber" name="L605" href="#L605">605</a>             + <span class="jxr_string">"     * Logs a message at the {@code CUSTOM_LEVEL} level including the stack trace of%n"</span>
<a class="jxr_linenumber" name="L606" href="#L606">606</a>             + <span class="jxr_string">"     * the {@link Throwable} {@code t} passed as parameter.%n"</span>
<a class="jxr_linenumber" name="L607" href="#L607">607</a>             + <span class="jxr_string">"     * %n"</span>
<a class="jxr_linenumber" name="L608" href="#L608">608</a>             + <span class="jxr_string">"     * @param message the message to log.%n"</span>
<a class="jxr_linenumber" name="L609" href="#L609">609</a>             + <span class="jxr_string">"     * @param t the exception to log, including its stack trace.%n"</span>
<a class="jxr_linenumber" name="L610" href="#L610">610</a>             + <span class="jxr_string">"     */%n"</span>
<a class="jxr_linenumber" name="L611" href="#L611">611</a>             + <span class="jxr_string">"    public void methodName(final Object message, final Throwable t) {%n"</span>
<a class="jxr_linenumber" name="L612" href="#L612">612</a>             + <span class="jxr_string">"        logger.logIfEnabled(FQCN, CUSTOM_LEVEL, null, message, t);%n"</span>
<a class="jxr_linenumber" name="L613" href="#L613">613</a>             + <span class="jxr_string">"    }%n"</span>
<a class="jxr_linenumber" name="L614" href="#L614">614</a>             + <span class="jxr_string">"%n"</span>
<a class="jxr_linenumber" name="L615" href="#L615">615</a>             + <span class="jxr_string">"    /**%n"</span>
<a class="jxr_linenumber" name="L616" href="#L616">616</a>             + <span class="jxr_string">"     * Logs a message CharSequence with the {@code CUSTOM_LEVEL} level.%n"</span>
<a class="jxr_linenumber" name="L617" href="#L617">617</a>             + <span class="jxr_string">"     * %n"</span>
<a class="jxr_linenumber" name="L618" href="#L618">618</a>             + <span class="jxr_string">"     * @param message the message CharSequence to log.%n"</span>
<a class="jxr_linenumber" name="L619" href="#L619">619</a>             + <span class="jxr_string">"     * @since Log4j-2.6%n"</span>
<a class="jxr_linenumber" name="L620" href="#L620">620</a>             + <span class="jxr_string">"     */%n"</span>
<a class="jxr_linenumber" name="L621" href="#L621">621</a>             + <span class="jxr_string">"    public void methodName(final CharSequence message) {%n"</span>
<a class="jxr_linenumber" name="L622" href="#L622">622</a>             + <span class="jxr_string">"        logger.logIfEnabled(FQCN, CUSTOM_LEVEL, null, message, (Throwable) null);%n"</span>
<a class="jxr_linenumber" name="L623" href="#L623">623</a>             + <span class="jxr_string">"    }%n"</span>
<a class="jxr_linenumber" name="L624" href="#L624">624</a>             + <span class="jxr_string">"%n"</span>
<a class="jxr_linenumber" name="L625" href="#L625">625</a>             + <span class="jxr_string">"    /**%n"</span>
<a class="jxr_linenumber" name="L626" href="#L626">626</a>             + <span class="jxr_string">"     * Logs a CharSequence at the {@code CUSTOM_LEVEL} level including the stack trace of%n"</span>
<a class="jxr_linenumber" name="L627" href="#L627">627</a>             + <span class="jxr_string">"     * the {@link Throwable} {@code t} passed as parameter.%n"</span>
<a class="jxr_linenumber" name="L628" href="#L628">628</a>             + <span class="jxr_string">"     * %n"</span>
<a class="jxr_linenumber" name="L629" href="#L629">629</a>             + <span class="jxr_string">"     * @param message the CharSequence to log.%n"</span>
<a class="jxr_linenumber" name="L630" href="#L630">630</a>             + <span class="jxr_string">"     * @param t the exception to log, including its stack trace.%n"</span>
<a class="jxr_linenumber" name="L631" href="#L631">631</a>             + <span class="jxr_string">"     * @since Log4j-2.6%n"</span>
<a class="jxr_linenumber" name="L632" href="#L632">632</a>             + <span class="jxr_string">"     */%n"</span>
<a class="jxr_linenumber" name="L633" href="#L633">633</a>             + <span class="jxr_string">"    public void methodName(final CharSequence message, final Throwable t) {%n"</span>
<a class="jxr_linenumber" name="L634" href="#L634">634</a>             + <span class="jxr_string">"        logger.logIfEnabled(FQCN, CUSTOM_LEVEL, null, message, t);%n"</span>
<a class="jxr_linenumber" name="L635" href="#L635">635</a>             + <span class="jxr_string">"    }%n"</span>
<a class="jxr_linenumber" name="L636" href="#L636">636</a>             + <span class="jxr_string">"%n"</span>
<a class="jxr_linenumber" name="L637" href="#L637">637</a>             + <span class="jxr_string">"    /**%n"</span>
<a class="jxr_linenumber" name="L638" href="#L638">638</a>             + <span class="jxr_string">"     * Logs a message object with the {@code CUSTOM_LEVEL} level.%n"</span>
<a class="jxr_linenumber" name="L639" href="#L639">639</a>             + <span class="jxr_string">"     * %n"</span>
<a class="jxr_linenumber" name="L640" href="#L640">640</a>             + <span class="jxr_string">"     * @param message the message object to log.%n"</span>
<a class="jxr_linenumber" name="L641" href="#L641">641</a>             + <span class="jxr_string">"     */%n"</span>
<a class="jxr_linenumber" name="L642" href="#L642">642</a>             + <span class="jxr_string">"    public void methodName(final String message) {%n"</span>
<a class="jxr_linenumber" name="L643" href="#L643">643</a>             + <span class="jxr_string">"        logger.logIfEnabled(FQCN, CUSTOM_LEVEL, null, message, (Throwable) null);%n"</span>
<a class="jxr_linenumber" name="L644" href="#L644">644</a>             + <span class="jxr_string">"    }%n"</span>
<a class="jxr_linenumber" name="L645" href="#L645">645</a>             + <span class="jxr_string">"%n"</span>
<a class="jxr_linenumber" name="L646" href="#L646">646</a>             + <span class="jxr_string">"    /**%n"</span>
<a class="jxr_linenumber" name="L647" href="#L647">647</a>             + <span class="jxr_string">"     * Logs a message with parameters at the {@code CUSTOM_LEVEL} level.%n"</span>
<a class="jxr_linenumber" name="L648" href="#L648">648</a>             + <span class="jxr_string">"     * %n"</span>
<a class="jxr_linenumber" name="L649" href="#L649">649</a>             + <span class="jxr_string">"     * @param message the message to log; the format depends on the message factory.%n"</span>
<a class="jxr_linenumber" name="L650" href="#L650">650</a>             + <span class="jxr_string">"     * @param params parameters to the message.%n"</span>
<a class="jxr_linenumber" name="L651" href="#L651">651</a>             + <span class="jxr_string">"     * @see #getMessageFactory()%n"</span>
<a class="jxr_linenumber" name="L652" href="#L652">652</a>             + <span class="jxr_string">"     */%n"</span>
<a class="jxr_linenumber" name="L653" href="#L653">653</a>             + <span class="jxr_string">"    public void methodName(final String message, final Object... params) {%n"</span>
<a class="jxr_linenumber" name="L654" href="#L654">654</a>             + <span class="jxr_string">"        logger.logIfEnabled(FQCN, CUSTOM_LEVEL, null, message, params);%n"</span>
<a class="jxr_linenumber" name="L655" href="#L655">655</a>             + <span class="jxr_string">"    }%n"</span>
<a class="jxr_linenumber" name="L656" href="#L656">656</a>             + <span class="jxr_string">"%n"</span>
<a class="jxr_linenumber" name="L657" href="#L657">657</a>             + <span class="jxr_string">"    /**%n"</span>
<a class="jxr_linenumber" name="L658" href="#L658">658</a>             + <span class="jxr_string">"     * Logs a message with parameters at the {@code CUSTOM_LEVEL} level.%n"</span>
<a class="jxr_linenumber" name="L659" href="#L659">659</a>             + <span class="jxr_string">"     * %n"</span>
<a class="jxr_linenumber" name="L660" href="#L660">660</a>             + <span class="jxr_string">"     * @param message the message to log; the format depends on the message factory.%n"</span>
<a class="jxr_linenumber" name="L661" href="#L661">661</a>             + <span class="jxr_string">"     * @param p0 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L662" href="#L662">662</a>             + <span class="jxr_string">"     * @see #getMessageFactory()%n"</span>
<a class="jxr_linenumber" name="L663" href="#L663">663</a>             + <span class="jxr_string">"     * @since Log4j-2.6%n"</span>
<a class="jxr_linenumber" name="L664" href="#L664">664</a>             + <span class="jxr_string">"     */%n"</span>
<a class="jxr_linenumber" name="L665" href="#L665">665</a>             + <span class="jxr_string">"    public void methodName(final String message, final Object p0) {%n"</span>
<a class="jxr_linenumber" name="L666" href="#L666">666</a>             + <span class="jxr_string">"        logger.logIfEnabled(FQCN, CUSTOM_LEVEL, null, message, p0);%n"</span>
<a class="jxr_linenumber" name="L667" href="#L667">667</a>             + <span class="jxr_string">"    }%n"</span>
<a class="jxr_linenumber" name="L668" href="#L668">668</a>             + <span class="jxr_string">"%n"</span>
<a class="jxr_linenumber" name="L669" href="#L669">669</a>             + <span class="jxr_string">"    /**%n"</span>
<a class="jxr_linenumber" name="L670" href="#L670">670</a>             + <span class="jxr_string">"     * Logs a message with parameters at the {@code CUSTOM_LEVEL} level.%n"</span>
<a class="jxr_linenumber" name="L671" href="#L671">671</a>             + <span class="jxr_string">"     * %n"</span>
<a class="jxr_linenumber" name="L672" href="#L672">672</a>             + <span class="jxr_string">"     * @param message the message to log; the format depends on the message factory.%n"</span>
<a class="jxr_linenumber" name="L673" href="#L673">673</a>             + <span class="jxr_string">"     * @param p0 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L674" href="#L674">674</a>             + <span class="jxr_string">"     * @param p1 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L675" href="#L675">675</a>             + <span class="jxr_string">"     * @see #getMessageFactory()%n"</span>
<a class="jxr_linenumber" name="L676" href="#L676">676</a>             + <span class="jxr_string">"     * @since Log4j-2.6%n"</span>
<a class="jxr_linenumber" name="L677" href="#L677">677</a>             + <span class="jxr_string">"     */%n"</span>
<a class="jxr_linenumber" name="L678" href="#L678">678</a>             + <span class="jxr_string">"    public void methodName(final String message, final Object p0, "</span>
<a class="jxr_linenumber" name="L679" href="#L679">679</a>             + <span class="jxr_string">"final Object p1) {%n"</span>
<a class="jxr_linenumber" name="L680" href="#L680">680</a>             + <span class="jxr_string">"        logger.logIfEnabled(FQCN, CUSTOM_LEVEL, null, message, p0, p1);%n"</span>
<a class="jxr_linenumber" name="L681" href="#L681">681</a>             + <span class="jxr_string">"    }%n"</span>
<a class="jxr_linenumber" name="L682" href="#L682">682</a>             + <span class="jxr_string">"%n"</span>
<a class="jxr_linenumber" name="L683" href="#L683">683</a>             + <span class="jxr_string">"    /**%n"</span>
<a class="jxr_linenumber" name="L684" href="#L684">684</a>             + <span class="jxr_string">"     * Logs a message with parameters at the {@code CUSTOM_LEVEL} level.%n"</span>
<a class="jxr_linenumber" name="L685" href="#L685">685</a>             + <span class="jxr_string">"     * %n"</span>
<a class="jxr_linenumber" name="L686" href="#L686">686</a>             + <span class="jxr_string">"     * @param message the message to log; the format depends on the message factory.%n"</span>
<a class="jxr_linenumber" name="L687" href="#L687">687</a>             + <span class="jxr_string">"     * @param p0 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L688" href="#L688">688</a>             + <span class="jxr_string">"     * @param p1 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L689" href="#L689">689</a>             + <span class="jxr_string">"     * @param p2 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L690" href="#L690">690</a>             + <span class="jxr_string">"     * @see #getMessageFactory()%n"</span>
<a class="jxr_linenumber" name="L691" href="#L691">691</a>             + <span class="jxr_string">"     * @since Log4j-2.6%n"</span>
<a class="jxr_linenumber" name="L692" href="#L692">692</a>             + <span class="jxr_string">"     */%n"</span>
<a class="jxr_linenumber" name="L693" href="#L693">693</a>             + <span class="jxr_string">"    public void methodName(final String message, final Object p0, "</span>
<a class="jxr_linenumber" name="L694" href="#L694">694</a>             + <span class="jxr_string">"final Object p1, final Object p2) {%n"</span>
<a class="jxr_linenumber" name="L695" href="#L695">695</a>             + <span class="jxr_string">"        logger.logIfEnabled(FQCN, CUSTOM_LEVEL, null, message, p0, p1, p2);%n"</span>
<a class="jxr_linenumber" name="L696" href="#L696">696</a>             + <span class="jxr_string">"    }%n"</span>
<a class="jxr_linenumber" name="L697" href="#L697">697</a>             + <span class="jxr_string">"%n"</span>
<a class="jxr_linenumber" name="L698" href="#L698">698</a>             + <span class="jxr_string">"    /**%n"</span>
<a class="jxr_linenumber" name="L699" href="#L699">699</a>             + <span class="jxr_string">"     * Logs a message with parameters at the {@code CUSTOM_LEVEL} level.%n"</span>
<a class="jxr_linenumber" name="L700" href="#L700">700</a>             + <span class="jxr_string">"     * %n"</span>
<a class="jxr_linenumber" name="L701" href="#L701">701</a>             + <span class="jxr_string">"     * @param message the message to log; the format depends on the message factory.%n"</span>
<a class="jxr_linenumber" name="L702" href="#L702">702</a>             + <span class="jxr_string">"     * @param p0 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L703" href="#L703">703</a>             + <span class="jxr_string">"     * @param p1 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L704" href="#L704">704</a>             + <span class="jxr_string">"     * @param p2 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L705" href="#L705">705</a>             + <span class="jxr_string">"     * @param p3 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L706" href="#L706">706</a>             + <span class="jxr_string">"     * @see #getMessageFactory()%n"</span>
<a class="jxr_linenumber" name="L707" href="#L707">707</a>             + <span class="jxr_string">"     * @since Log4j-2.6%n"</span>
<a class="jxr_linenumber" name="L708" href="#L708">708</a>             + <span class="jxr_string">"     */%n"</span>
<a class="jxr_linenumber" name="L709" href="#L709">709</a>             + <span class="jxr_string">"    public void methodName(final String message, final Object p0, "</span>
<a class="jxr_linenumber" name="L710" href="#L710">710</a>             + <span class="jxr_string">"final Object p1, final Object p2,%n"</span>
<a class="jxr_linenumber" name="L711" href="#L711">711</a>             + <span class="jxr_string">"            final Object p3) {%n"</span>
<a class="jxr_linenumber" name="L712" href="#L712">712</a>             + <span class="jxr_string">"        logger.logIfEnabled(FQCN, CUSTOM_LEVEL, null, message, p0, p1, p2, p3);%n"</span>
<a class="jxr_linenumber" name="L713" href="#L713">713</a>             + <span class="jxr_string">"    }%n"</span>
<a class="jxr_linenumber" name="L714" href="#L714">714</a>             + <span class="jxr_string">"%n"</span>
<a class="jxr_linenumber" name="L715" href="#L715">715</a>             + <span class="jxr_string">"    /**%n"</span>
<a class="jxr_linenumber" name="L716" href="#L716">716</a>             + <span class="jxr_string">"     * Logs a message with parameters at the {@code CUSTOM_LEVEL} level.%n"</span>
<a class="jxr_linenumber" name="L717" href="#L717">717</a>             + <span class="jxr_string">"     * %n"</span>
<a class="jxr_linenumber" name="L718" href="#L718">718</a>             + <span class="jxr_string">"     * @param message the message to log; the format depends on the message factory.%n"</span>
<a class="jxr_linenumber" name="L719" href="#L719">719</a>             + <span class="jxr_string">"     * @param p0 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L720" href="#L720">720</a>             + <span class="jxr_string">"     * @param p1 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L721" href="#L721">721</a>             + <span class="jxr_string">"     * @param p2 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L722" href="#L722">722</a>             + <span class="jxr_string">"     * @param p3 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L723" href="#L723">723</a>             + <span class="jxr_string">"     * @param p4 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L724" href="#L724">724</a>             + <span class="jxr_string">"     * @see #getMessageFactory()%n"</span>
<a class="jxr_linenumber" name="L725" href="#L725">725</a>             + <span class="jxr_string">"     * @since Log4j-2.6%n"</span>
<a class="jxr_linenumber" name="L726" href="#L726">726</a>             + <span class="jxr_string">"     */%n"</span>
<a class="jxr_linenumber" name="L727" href="#L727">727</a>             + <span class="jxr_string">"    public void methodName(final String message, final Object p0, "</span>
<a class="jxr_linenumber" name="L728" href="#L728">728</a>             + <span class="jxr_string">"final Object p1, final Object p2,%n"</span>
<a class="jxr_linenumber" name="L729" href="#L729">729</a>             + <span class="jxr_string">"            final Object p3, final Object p4) {%n"</span>
<a class="jxr_linenumber" name="L730" href="#L730">730</a>             + <span class="jxr_string">"        logger.logIfEnabled(FQCN, CUSTOM_LEVEL, null, message, p0, p1, p2, p3, p4);%n"</span>
<a class="jxr_linenumber" name="L731" href="#L731">731</a>             + <span class="jxr_string">"    }%n"</span>
<a class="jxr_linenumber" name="L732" href="#L732">732</a>             + <span class="jxr_string">"%n"</span>
<a class="jxr_linenumber" name="L733" href="#L733">733</a>             + <span class="jxr_string">"    /**%n"</span>
<a class="jxr_linenumber" name="L734" href="#L734">734</a>             + <span class="jxr_string">"     * Logs a message with parameters at the {@code CUSTOM_LEVEL} level.%n"</span>
<a class="jxr_linenumber" name="L735" href="#L735">735</a>             + <span class="jxr_string">"     * %n"</span>
<a class="jxr_linenumber" name="L736" href="#L736">736</a>             + <span class="jxr_string">"     * @param message the message to log; the format depends on the message factory.%n"</span>
<a class="jxr_linenumber" name="L737" href="#L737">737</a>             + <span class="jxr_string">"     * @param p0 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L738" href="#L738">738</a>             + <span class="jxr_string">"     * @param p1 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L739" href="#L739">739</a>             + <span class="jxr_string">"     * @param p2 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L740" href="#L740">740</a>             + <span class="jxr_string">"     * @param p3 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L741" href="#L741">741</a>             + <span class="jxr_string">"     * @param p4 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L742" href="#L742">742</a>             + <span class="jxr_string">"     * @param p5 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L743" href="#L743">743</a>             + <span class="jxr_string">"     * @see #getMessageFactory()%n"</span>
<a class="jxr_linenumber" name="L744" href="#L744">744</a>             + <span class="jxr_string">"     * @since Log4j-2.6%n"</span>
<a class="jxr_linenumber" name="L745" href="#L745">745</a>             + <span class="jxr_string">"     */%n"</span>
<a class="jxr_linenumber" name="L746" href="#L746">746</a>             + <span class="jxr_string">"    public void methodName(final String message, final Object p0, "</span>
<a class="jxr_linenumber" name="L747" href="#L747">747</a>             + <span class="jxr_string">"final Object p1, final Object p2,%n"</span>
<a class="jxr_linenumber" name="L748" href="#L748">748</a>             + <span class="jxr_string">"            final Object p3, final Object p4, final Object p5) {%n"</span>
<a class="jxr_linenumber" name="L749" href="#L749">749</a>             + <span class="jxr_string">"        logger.logIfEnabled(FQCN, CUSTOM_LEVEL, null, message, p0, p1, p2, p3, p4, p5);%n"</span>
<a class="jxr_linenumber" name="L750" href="#L750">750</a>             + <span class="jxr_string">"    }%n"</span>
<a class="jxr_linenumber" name="L751" href="#L751">751</a>             + <span class="jxr_string">"%n"</span>
<a class="jxr_linenumber" name="L752" href="#L752">752</a>             + <span class="jxr_string">"    /**%n"</span>
<a class="jxr_linenumber" name="L753" href="#L753">753</a>             + <span class="jxr_string">"     * Logs a message with parameters at the {@code CUSTOM_LEVEL} level.%n"</span>
<a class="jxr_linenumber" name="L754" href="#L754">754</a>             + <span class="jxr_string">"     * %n"</span>
<a class="jxr_linenumber" name="L755" href="#L755">755</a>             + <span class="jxr_string">"     * @param message the message to log; the format depends on the message factory.%n"</span>
<a class="jxr_linenumber" name="L756" href="#L756">756</a>             + <span class="jxr_string">"     * @param p0 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L757" href="#L757">757</a>             + <span class="jxr_string">"     * @param p1 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L758" href="#L758">758</a>             + <span class="jxr_string">"     * @param p2 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L759" href="#L759">759</a>             + <span class="jxr_string">"     * @param p3 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L760" href="#L760">760</a>             + <span class="jxr_string">"     * @param p4 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L761" href="#L761">761</a>             + <span class="jxr_string">"     * @param p5 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L762" href="#L762">762</a>             + <span class="jxr_string">"     * @param p6 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L763" href="#L763">763</a>             + <span class="jxr_string">"     * @see #getMessageFactory()%n"</span>
<a class="jxr_linenumber" name="L764" href="#L764">764</a>             + <span class="jxr_string">"     * @since Log4j-2.6%n"</span>
<a class="jxr_linenumber" name="L765" href="#L765">765</a>             + <span class="jxr_string">"     */%n"</span>
<a class="jxr_linenumber" name="L766" href="#L766">766</a>             + <span class="jxr_string">"    public void methodName(final String message, final Object p0, "</span>
<a class="jxr_linenumber" name="L767" href="#L767">767</a>             + <span class="jxr_string">"final Object p1, final Object p2,%n"</span>
<a class="jxr_linenumber" name="L768" href="#L768">768</a>             + <span class="jxr_string">"            final Object p3, final Object p4, final Object p5, final Object p6) {%n"</span>
<a class="jxr_linenumber" name="L769" href="#L769">769</a>             + <span class="jxr_string">"        logger.logIfEnabled(FQCN, CUSTOM_LEVEL, null, message, p0, p1, p2, p3, p4, p5, p6);%n"</span>
<a class="jxr_linenumber" name="L770" href="#L770">770</a>             + <span class="jxr_string">"    }%n"</span>
<a class="jxr_linenumber" name="L771" href="#L771">771</a>             + <span class="jxr_string">"%n"</span>
<a class="jxr_linenumber" name="L772" href="#L772">772</a>             + <span class="jxr_string">"    /**%n"</span>
<a class="jxr_linenumber" name="L773" href="#L773">773</a>             + <span class="jxr_string">"     * Logs a message with parameters at the {@code CUSTOM_LEVEL} level.%n"</span>
<a class="jxr_linenumber" name="L774" href="#L774">774</a>             + <span class="jxr_string">"     * %n"</span>
<a class="jxr_linenumber" name="L775" href="#L775">775</a>             + <span class="jxr_string">"     * @param message the message to log; the format depends on the message factory.%n"</span>
<a class="jxr_linenumber" name="L776" href="#L776">776</a>             + <span class="jxr_string">"     * @param p0 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L777" href="#L777">777</a>             + <span class="jxr_string">"     * @param p1 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L778" href="#L778">778</a>             + <span class="jxr_string">"     * @param p2 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L779" href="#L779">779</a>             + <span class="jxr_string">"     * @param p3 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L780" href="#L780">780</a>             + <span class="jxr_string">"     * @param p4 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L781" href="#L781">781</a>             + <span class="jxr_string">"     * @param p5 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L782" href="#L782">782</a>             + <span class="jxr_string">"     * @param p6 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L783" href="#L783">783</a>             + <span class="jxr_string">"     * @param p7 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L784" href="#L784">784</a>             + <span class="jxr_string">"     * @see #getMessageFactory()%n"</span>
<a class="jxr_linenumber" name="L785" href="#L785">785</a>             + <span class="jxr_string">"     * @since Log4j-2.6%n"</span>
<a class="jxr_linenumber" name="L786" href="#L786">786</a>             + <span class="jxr_string">"     */%n"</span>
<a class="jxr_linenumber" name="L787" href="#L787">787</a>             + <span class="jxr_string">"    public void methodName(final String message, final Object p0, "</span>
<a class="jxr_linenumber" name="L788" href="#L788">788</a>             + <span class="jxr_string">"final Object p1, final Object p2,%n"</span>
<a class="jxr_linenumber" name="L789" href="#L789">789</a>             + <span class="jxr_string">"            final Object p3, final Object p4, final Object p5, final Object p6,%n"</span>
<a class="jxr_linenumber" name="L790" href="#L790">790</a>             + <span class="jxr_string">"            final Object p7) {%n"</span>
<a class="jxr_linenumber" name="L791" href="#L791">791</a>             + <span class="jxr_string">"        logger.logIfEnabled(FQCN, CUSTOM_LEVEL, null, message, p0, p1, p2, p3, p4, p5, p6, p7);%n"</span>
<a class="jxr_linenumber" name="L792" href="#L792">792</a>             + <span class="jxr_string">"    }%n"</span>
<a class="jxr_linenumber" name="L793" href="#L793">793</a>             + <span class="jxr_string">"%n"</span>
<a class="jxr_linenumber" name="L794" href="#L794">794</a>             + <span class="jxr_string">"    /**%n"</span>
<a class="jxr_linenumber" name="L795" href="#L795">795</a>             + <span class="jxr_string">"     * Logs a message with parameters at the {@code CUSTOM_LEVEL} level.%n"</span>
<a class="jxr_linenumber" name="L796" href="#L796">796</a>             + <span class="jxr_string">"     * %n"</span>
<a class="jxr_linenumber" name="L797" href="#L797">797</a>             + <span class="jxr_string">"     * @param message the message to log; the format depends on the message factory.%n"</span>
<a class="jxr_linenumber" name="L798" href="#L798">798</a>             + <span class="jxr_string">"     * @param p0 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L799" href="#L799">799</a>             + <span class="jxr_string">"     * @param p1 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L800" href="#L800">800</a>             + <span class="jxr_string">"     * @param p2 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L801" href="#L801">801</a>             + <span class="jxr_string">"     * @param p3 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L802" href="#L802">802</a>             + <span class="jxr_string">"     * @param p4 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L803" href="#L803">803</a>             + <span class="jxr_string">"     * @param p5 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L804" href="#L804">804</a>             + <span class="jxr_string">"     * @param p6 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L805" href="#L805">805</a>             + <span class="jxr_string">"     * @param p7 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L806" href="#L806">806</a>             + <span class="jxr_string">"     * @param p8 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L807" href="#L807">807</a>             + <span class="jxr_string">"     * @see #getMessageFactory()%n"</span>
<a class="jxr_linenumber" name="L808" href="#L808">808</a>             + <span class="jxr_string">"     * @since Log4j-2.6%n"</span>
<a class="jxr_linenumber" name="L809" href="#L809">809</a>             + <span class="jxr_string">"     */%n"</span>
<a class="jxr_linenumber" name="L810" href="#L810">810</a>             + <span class="jxr_string">"    public void methodName(final String message, final Object p0, "</span>
<a class="jxr_linenumber" name="L811" href="#L811">811</a>             + <span class="jxr_string">"final Object p1, final Object p2,%n"</span>
<a class="jxr_linenumber" name="L812" href="#L812">812</a>             + <span class="jxr_string">"            final Object p3, final Object p4, final Object p5, final Object p6,%n"</span>
<a class="jxr_linenumber" name="L813" href="#L813">813</a>             + <span class="jxr_string">"            final Object p7, final Object p8) {%n"</span>
<a class="jxr_linenumber" name="L814" href="#L814">814</a>             + <span class="jxr_string">"        logger.logIfEnabled(FQCN, CUSTOM_LEVEL, null, message, p0, p1, p2, p3, p4, p5, p6, p7, "</span>
<a class="jxr_linenumber" name="L815" href="#L815">815</a>             + <span class="jxr_string">"p8);%n"</span>
<a class="jxr_linenumber" name="L816" href="#L816">816</a>             + <span class="jxr_string">"    }%n"</span>
<a class="jxr_linenumber" name="L817" href="#L817">817</a>             + <span class="jxr_string">"%n"</span>
<a class="jxr_linenumber" name="L818" href="#L818">818</a>             + <span class="jxr_string">"    /**%n"</span>
<a class="jxr_linenumber" name="L819" href="#L819">819</a>             + <span class="jxr_string">"     * Logs a message with parameters at the {@code CUSTOM_LEVEL} level.%n"</span>
<a class="jxr_linenumber" name="L820" href="#L820">820</a>             + <span class="jxr_string">"     * %n"</span>
<a class="jxr_linenumber" name="L821" href="#L821">821</a>             + <span class="jxr_string">"     * @param message the message to log; the format depends on the message factory.%n"</span>
<a class="jxr_linenumber" name="L822" href="#L822">822</a>             + <span class="jxr_string">"     * @param p0 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L823" href="#L823">823</a>             + <span class="jxr_string">"     * @param p1 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L824" href="#L824">824</a>             + <span class="jxr_string">"     * @param p2 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L825" href="#L825">825</a>             + <span class="jxr_string">"     * @param p3 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L826" href="#L826">826</a>             + <span class="jxr_string">"     * @param p4 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L827" href="#L827">827</a>             + <span class="jxr_string">"     * @param p5 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L828" href="#L828">828</a>             + <span class="jxr_string">"     * @param p6 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L829" href="#L829">829</a>             + <span class="jxr_string">"     * @param p7 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L830" href="#L830">830</a>             + <span class="jxr_string">"     * @param p8 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L831" href="#L831">831</a>             + <span class="jxr_string">"     * @param p9 parameter to the message.%n"</span>
<a class="jxr_linenumber" name="L832" href="#L832">832</a>             + <span class="jxr_string">"     * @see #getMessageFactory()%n"</span>
<a class="jxr_linenumber" name="L833" href="#L833">833</a>             + <span class="jxr_string">"     * @since Log4j-2.6%n"</span>
<a class="jxr_linenumber" name="L834" href="#L834">834</a>             + <span class="jxr_string">"     */%n"</span>
<a class="jxr_linenumber" name="L835" href="#L835">835</a>             + <span class="jxr_string">"    public void methodName(final String message, final Object p0, "</span>
<a class="jxr_linenumber" name="L836" href="#L836">836</a>             + <span class="jxr_string">"final Object p1, final Object p2,%n"</span>
<a class="jxr_linenumber" name="L837" href="#L837">837</a>             + <span class="jxr_string">"            final Object p3, final Object p4, final Object p5, final Object p6,%n"</span>
<a class="jxr_linenumber" name="L838" href="#L838">838</a>             + <span class="jxr_string">"            final Object p7, final Object p8, final Object p9) {%n"</span>
<a class="jxr_linenumber" name="L839" href="#L839">839</a>             + <span class="jxr_string">"        logger.logIfEnabled(FQCN, CUSTOM_LEVEL, null, message, p0, p1, p2, p3, p4, p5, p6, p7, "</span>
<a class="jxr_linenumber" name="L840" href="#L840">840</a>             + <span class="jxr_string">"p8, p9);%n"</span>
<a class="jxr_linenumber" name="L841" href="#L841">841</a>             + <span class="jxr_string">"    }%n"</span>
<a class="jxr_linenumber" name="L842" href="#L842">842</a>             + <span class="jxr_string">"%n"</span>
<a class="jxr_linenumber" name="L843" href="#L843">843</a>             + <span class="jxr_string">"    /**%n"</span>
<a class="jxr_linenumber" name="L844" href="#L844">844</a>             + <span class="jxr_string">"     * Logs a message at the {@code CUSTOM_LEVEL} level including the stack trace of%n"</span>
<a class="jxr_linenumber" name="L845" href="#L845">845</a>             + <span class="jxr_string">"     * the {@link Throwable} {@code t} passed as parameter.%n"</span>
<a class="jxr_linenumber" name="L846" href="#L846">846</a>             + <span class="jxr_string">"     * %n"</span>
<a class="jxr_linenumber" name="L847" href="#L847">847</a>             + <span class="jxr_string">"     * @param message the message to log.%n"</span>
<a class="jxr_linenumber" name="L848" href="#L848">848</a>             + <span class="jxr_string">"     * @param t the exception to log, including its stack trace.%n"</span>
<a class="jxr_linenumber" name="L849" href="#L849">849</a>             + <span class="jxr_string">"     */%n"</span>
<a class="jxr_linenumber" name="L850" href="#L850">850</a>             + <span class="jxr_string">"    public void methodName(final String message, final Throwable t) {%n"</span>
<a class="jxr_linenumber" name="L851" href="#L851">851</a>             + <span class="jxr_string">"        logger.logIfEnabled(FQCN, CUSTOM_LEVEL, null, message, t);%n"</span>
<a class="jxr_linenumber" name="L852" href="#L852">852</a>             + <span class="jxr_string">"    }%n"</span>
<a class="jxr_linenumber" name="L853" href="#L853">853</a>             + <span class="jxr_string">"%n"</span>
<a class="jxr_linenumber" name="L854" href="#L854">854</a>             + <span class="jxr_string">"    /**%n"</span>
<a class="jxr_linenumber" name="L855" href="#L855">855</a>             + <span class="jxr_string">"     * Logs a message which is only to be constructed if the logging level is the {@code CUSTOM_LEVEL}"</span>
<a class="jxr_linenumber" name="L856" href="#L856">856</a>             + <span class="jxr_string">"level.%n"</span>
<a class="jxr_linenumber" name="L857" href="#L857">857</a>             + <span class="jxr_string">"     *%n"</span>
<a class="jxr_linenumber" name="L858" href="#L858">858</a>             + <span class="jxr_string">"     * @param msgSupplier A function, which when called, produces the desired log message;%n"</span>
<a class="jxr_linenumber" name="L859" href="#L859">859</a>             + <span class="jxr_string">"     *            the format depends on the message factory.%n"</span>
<a class="jxr_linenumber" name="L860" href="#L860">860</a>             + <span class="jxr_string">"     * @since Log4j-2.4%n"</span>
<a class="jxr_linenumber" name="L861" href="#L861">861</a>             + <span class="jxr_string">"     */%n"</span>
<a class="jxr_linenumber" name="L862" href="#L862">862</a>             + <span class="jxr_string">"    public void methodName(final Supplier&lt;?&gt; msgSupplier) {%n"</span>
<a class="jxr_linenumber" name="L863" href="#L863">863</a>             + <span class="jxr_string">"        logger.logIfEnabled(FQCN, CUSTOM_LEVEL, null, msgSupplier, (Throwable) null);%n"</span>
<a class="jxr_linenumber" name="L864" href="#L864">864</a>             + <span class="jxr_string">"    }%n"</span>
<a class="jxr_linenumber" name="L865" href="#L865">865</a>             + <span class="jxr_string">"%n"</span>
<a class="jxr_linenumber" name="L866" href="#L866">866</a>             + <span class="jxr_string">"    /**%n"</span>
<a class="jxr_linenumber" name="L867" href="#L867">867</a>             + <span class="jxr_string">"     * Logs a message (only to be constructed if the logging level is the {@code CUSTOM_LEVEL}%n"</span>
<a class="jxr_linenumber" name="L868" href="#L868">868</a>             + <span class="jxr_string">"     * level) including the stack trace of the {@link Throwable} &lt;code&gt;t&lt;/code&gt; passed as parameter.%n"</span>
<a class="jxr_linenumber" name="L869" href="#L869">869</a>             + <span class="jxr_string">"     *%n"</span>
<a class="jxr_linenumber" name="L870" href="#L870">870</a>             + <span class="jxr_string">"     * @param msgSupplier A function, which when called, produces the desired log message;%n"</span>
<a class="jxr_linenumber" name="L871" href="#L871">871</a>             + <span class="jxr_string">"     *            the format depends on the message factory.%n"</span>
<a class="jxr_linenumber" name="L872" href="#L872">872</a>             + <span class="jxr_string">"     * @param t the exception to log, including its stack trace.%n"</span>
<a class="jxr_linenumber" name="L873" href="#L873">873</a>             + <span class="jxr_string">"     * @since Log4j-2.4%n"</span>
<a class="jxr_linenumber" name="L874" href="#L874">874</a>             + <span class="jxr_string">"     */%n"</span>
<a class="jxr_linenumber" name="L875" href="#L875">875</a>             + <span class="jxr_string">"    public void methodName(final Supplier&lt;?&gt; msgSupplier, final Throwable t) {%n"</span>
<a class="jxr_linenumber" name="L876" href="#L876">876</a>             + <span class="jxr_string">"        logger.logIfEnabled(FQCN, CUSTOM_LEVEL, null, msgSupplier, t);%n"</span>
<a class="jxr_linenumber" name="L877" href="#L877">877</a>             + <span class="jxr_string">"    }%n"</span>
<a class="jxr_linenumber" name="L878" href="#L878">878</a>             + <span class="jxr_string">"%n"</span>
<a class="jxr_linenumber" name="L879" href="#L879">879</a>             + <span class="jxr_string">"    /**%n"</span>
<a class="jxr_linenumber" name="L880" href="#L880">880</a>             + <span class="jxr_string">"     * Logs a message which is only to be constructed if the logging level is the%n"</span>
<a class="jxr_linenumber" name="L881" href="#L881">881</a>             + <span class="jxr_string">"     * {@code CUSTOM_LEVEL} level with the specified Marker.%n"</span>
<a class="jxr_linenumber" name="L882" href="#L882">882</a>             + <span class="jxr_string">"     *%n"</span>
<a class="jxr_linenumber" name="L883" href="#L883">883</a>             + <span class="jxr_string">"     * @param marker the marker data specific to this log statement%n"</span>
<a class="jxr_linenumber" name="L884" href="#L884">884</a>             + <span class="jxr_string">"     * @param msgSupplier A function, which when called, produces the desired log message;%n"</span>
<a class="jxr_linenumber" name="L885" href="#L885">885</a>             + <span class="jxr_string">"     *            the format depends on the message factory.%n"</span>
<a class="jxr_linenumber" name="L886" href="#L886">886</a>             + <span class="jxr_string">"     * @since Log4j-2.4%n"</span>
<a class="jxr_linenumber" name="L887" href="#L887">887</a>             + <span class="jxr_string">"     */%n"</span>
<a class="jxr_linenumber" name="L888" href="#L888">888</a>             + <span class="jxr_string">"    public void methodName(final Marker marker, final Supplier&lt;?&gt; msgSupplier) {%n"</span>
<a class="jxr_linenumber" name="L889" href="#L889">889</a>             + <span class="jxr_string">"        logger.logIfEnabled(FQCN, CUSTOM_LEVEL, marker, msgSupplier, (Throwable) null);%n"</span>
<a class="jxr_linenumber" name="L890" href="#L890">890</a>             + <span class="jxr_string">"    }%n"</span>
<a class="jxr_linenumber" name="L891" href="#L891">891</a>             + <span class="jxr_string">"%n"</span>
<a class="jxr_linenumber" name="L892" href="#L892">892</a>             + <span class="jxr_string">"    /**%n"</span>
<a class="jxr_linenumber" name="L893" href="#L893">893</a>             + <span class="jxr_string">"     * Logs a message with parameters which are only to be constructed if the logging level is the%n"</span>
<a class="jxr_linenumber" name="L894" href="#L894">894</a>             + <span class="jxr_string">"     * {@code CUSTOM_LEVEL} level.%n"</span>
<a class="jxr_linenumber" name="L895" href="#L895">895</a>             + <span class="jxr_string">"     *%n"</span>
<a class="jxr_linenumber" name="L896" href="#L896">896</a>             + <span class="jxr_string">"     * @param marker the marker data specific to this log statement%n"</span>
<a class="jxr_linenumber" name="L897" href="#L897">897</a>             + <span class="jxr_string">"     * @param message the message to log; the format depends on the message factory.%n"</span>
<a class="jxr_linenumber" name="L898" href="#L898">898</a>             + <span class="jxr_string">"     * @param paramSuppliers An array of functions, which when called, produce the desired log"</span>
<a class="jxr_linenumber" name="L899" href="#L899">899</a>             + <span class="jxr_string">" message parameters.%n"</span>
<a class="jxr_linenumber" name="L900" href="#L900">900</a>             + <span class="jxr_string">"     * @since Log4j-2.4%n"</span>
<a class="jxr_linenumber" name="L901" href="#L901">901</a>             + <span class="jxr_string">"     */%n"</span>
<a class="jxr_linenumber" name="L902" href="#L902">902</a>             + <span class="jxr_string">"    public void methodName(final Marker marker, final String message, final Supplier&lt;?&gt;..."</span>
<a class="jxr_linenumber" name="L903" href="#L903">903</a>             + <span class="jxr_string">" paramSuppliers) {%n"</span>
<a class="jxr_linenumber" name="L904" href="#L904">904</a>             + <span class="jxr_string">"        logger.logIfEnabled(FQCN, CUSTOM_LEVEL, marker, message, paramSuppliers);%n"</span>
<a class="jxr_linenumber" name="L905" href="#L905">905</a>             + <span class="jxr_string">"    }%n"</span>
<a class="jxr_linenumber" name="L906" href="#L906">906</a>             + <span class="jxr_string">"%n"</span>
<a class="jxr_linenumber" name="L907" href="#L907">907</a>             + <span class="jxr_string">"    /**%n"</span>
<a class="jxr_linenumber" name="L908" href="#L908">908</a>             + <span class="jxr_string">"     * Logs a message (only to be constructed if the logging level is the {@code CUSTOM_LEVEL}%n"</span>
<a class="jxr_linenumber" name="L909" href="#L909">909</a>             + <span class="jxr_string">"     * level) with the specified Marker and including the stack trace of the {@link Throwable}%n"</span>
<a class="jxr_linenumber" name="L910" href="#L910">910</a>             + <span class="jxr_string">"     * &lt;code&gt;t&lt;/code&gt; passed as parameter.%n"</span>
<a class="jxr_linenumber" name="L911" href="#L911">911</a>             + <span class="jxr_string">"     *%n"</span>
<a class="jxr_linenumber" name="L912" href="#L912">912</a>             + <span class="jxr_string">"     * @param marker the marker data specific to this log statement%n"</span>
<a class="jxr_linenumber" name="L913" href="#L913">913</a>             + <span class="jxr_string">"     * @param msgSupplier A function, which when called, produces the desired log message;%n"</span>
<a class="jxr_linenumber" name="L914" href="#L914">914</a>             + <span class="jxr_string">"     *            the format depends on the message factory.%n"</span>
<a class="jxr_linenumber" name="L915" href="#L915">915</a>             + <span class="jxr_string">"     * @param t A Throwable or null.%n"</span>
<a class="jxr_linenumber" name="L916" href="#L916">916</a>             + <span class="jxr_string">"     * @since Log4j-2.4%n"</span>
<a class="jxr_linenumber" name="L917" href="#L917">917</a>             + <span class="jxr_string">"     */%n"</span>
<a class="jxr_linenumber" name="L918" href="#L918">918</a>             + <span class="jxr_string">"    public void methodName(final Marker marker, final Supplier&lt;?&gt; msgSupplier, final Throwable t) {%n"</span>
<a class="jxr_linenumber" name="L919" href="#L919">919</a>             + <span class="jxr_string">"        logger.logIfEnabled(FQCN, CUSTOM_LEVEL, marker, msgSupplier, t);%n"</span>
<a class="jxr_linenumber" name="L920" href="#L920">920</a>             + <span class="jxr_string">"    }%n"</span>
<a class="jxr_linenumber" name="L921" href="#L921">921</a>             + <span class="jxr_string">"%n"</span>
<a class="jxr_linenumber" name="L922" href="#L922">922</a>             + <span class="jxr_string">"    /**%n"</span>
<a class="jxr_linenumber" name="L923" href="#L923">923</a>             + <span class="jxr_string">"     * Logs a message with parameters which are only to be constructed if the logging level is%n"</span>
<a class="jxr_linenumber" name="L924" href="#L924">924</a>             + <span class="jxr_string">"     * the {@code CUSTOM_LEVEL} level.%n"</span>
<a class="jxr_linenumber" name="L925" href="#L925">925</a>             + <span class="jxr_string">"     *%n"</span>
<a class="jxr_linenumber" name="L926" href="#L926">926</a>             + <span class="jxr_string">"     * @param message the message to log; the format depends on the message factory.%n"</span>
<a class="jxr_linenumber" name="L927" href="#L927">927</a>             + <span class="jxr_string">"     * @param paramSuppliers An array of functions, which when called, produce the desired log"</span>
<a class="jxr_linenumber" name="L928" href="#L928">928</a>             + <span class="jxr_string">" message parameters.%n"</span>
<a class="jxr_linenumber" name="L929" href="#L929">929</a>             + <span class="jxr_string">"     * @since Log4j-2.4%n"</span>
<a class="jxr_linenumber" name="L930" href="#L930">930</a>             + <span class="jxr_string">"     */%n"</span>
<a class="jxr_linenumber" name="L931" href="#L931">931</a>             + <span class="jxr_string">"    public void methodName(final String message, final Supplier&lt;?&gt;... paramSuppliers) {%n"</span>
<a class="jxr_linenumber" name="L932" href="#L932">932</a>             + <span class="jxr_string">"        logger.logIfEnabled(FQCN, CUSTOM_LEVEL, null, message, paramSuppliers);%n"</span>
<a class="jxr_linenumber" name="L933" href="#L933">933</a>             + <span class="jxr_string">"    }%n"</span>
<a class="jxr_linenumber" name="L934" href="#L934">934</a>             + <span class="jxr_string">"%n"</span>
<a class="jxr_linenumber" name="L935" href="#L935">935</a>             + <span class="jxr_string">"    /**%n"</span>
<a class="jxr_linenumber" name="L936" href="#L936">936</a>             + <span class="jxr_string">"     * Logs a message which is only to be constructed if the logging level is the%n"</span>
<a class="jxr_linenumber" name="L937" href="#L937">937</a>             + <span class="jxr_string">"     * {@code CUSTOM_LEVEL} level with the specified Marker. The {@code MessageSupplier} may or may%n"</span>
<a class="jxr_linenumber" name="L938" href="#L938">938</a>             + <span class="jxr_string">"     * not use the {@link MessageFactory} to construct the {@code Message}.%n"</span>
<a class="jxr_linenumber" name="L939" href="#L939">939</a>             + <span class="jxr_string">"     *%n"</span>
<a class="jxr_linenumber" name="L940" href="#L940">940</a>             + <span class="jxr_string">"     * @param marker the marker data specific to this log statement%n"</span>
<a class="jxr_linenumber" name="L941" href="#L941">941</a>             + <span class="jxr_string">"     * @param msgSupplier A function, which when called, produces the desired log message.%n"</span>
<a class="jxr_linenumber" name="L942" href="#L942">942</a>             + <span class="jxr_string">"     * @since Log4j-2.4%n"</span>
<a class="jxr_linenumber" name="L943" href="#L943">943</a>             + <span class="jxr_string">"     */%n"</span>
<a class="jxr_linenumber" name="L944" href="#L944">944</a>             + <span class="jxr_string">"    public void methodName(final Marker marker, final MessageSupplier msgSupplier) {%n"</span>
<a class="jxr_linenumber" name="L945" href="#L945">945</a>             + <span class="jxr_string">"        logger.logIfEnabled(FQCN, CUSTOM_LEVEL, marker, msgSupplier, (Throwable) null);%n"</span>
<a class="jxr_linenumber" name="L946" href="#L946">946</a>             + <span class="jxr_string">"    }%n"</span>
<a class="jxr_linenumber" name="L947" href="#L947">947</a>             + <span class="jxr_string">"%n"</span>
<a class="jxr_linenumber" name="L948" href="#L948">948</a>             + <span class="jxr_string">"    /**%n"</span>
<a class="jxr_linenumber" name="L949" href="#L949">949</a>             + <span class="jxr_string">"     * Logs a message (only to be constructed if the logging level is the {@code CUSTOM_LEVEL}%n"</span>
<a class="jxr_linenumber" name="L950" href="#L950">950</a>             + <span class="jxr_string">"     * level) with the specified Marker and including the stack trace of the {@link Throwable}%n"</span>
<a class="jxr_linenumber" name="L951" href="#L951">951</a>             + <span class="jxr_string">"     * &lt;code&gt;t&lt;/code&gt; passed as parameter. The {@code MessageSupplier} may or may not use the%n"</span>
<a class="jxr_linenumber" name="L952" href="#L952">952</a>             + <span class="jxr_string">"     * {@link MessageFactory} to construct the {@code Message}.%n"</span>
<a class="jxr_linenumber" name="L953" href="#L953">953</a>             + <span class="jxr_string">"     *%n"</span>
<a class="jxr_linenumber" name="L954" href="#L954">954</a>             + <span class="jxr_string">"     * @param marker the marker data specific to this log statement%n"</span>
<a class="jxr_linenumber" name="L955" href="#L955">955</a>             + <span class="jxr_string">"     * @param msgSupplier A function, which when called, produces the desired log message.%n"</span>
<a class="jxr_linenumber" name="L956" href="#L956">956</a>             + <span class="jxr_string">"     * @param t A Throwable or null.%n"</span>
<a class="jxr_linenumber" name="L957" href="#L957">957</a>             + <span class="jxr_string">"     * @since Log4j-2.4%n"</span>
<a class="jxr_linenumber" name="L958" href="#L958">958</a>             + <span class="jxr_string">"     */%n"</span>
<a class="jxr_linenumber" name="L959" href="#L959">959</a>             + <span class="jxr_string">"    public void methodName(final Marker marker, final MessageSupplier msgSupplier, final "</span>
<a class="jxr_linenumber" name="L960" href="#L960">960</a>             + <span class="jxr_string">"Throwable t) {%n"</span>
<a class="jxr_linenumber" name="L961" href="#L961">961</a>             + <span class="jxr_string">"        logger.logIfEnabled(FQCN, CUSTOM_LEVEL, marker, msgSupplier, t);%n"</span>
<a class="jxr_linenumber" name="L962" href="#L962">962</a>             + <span class="jxr_string">"    }%n"</span>
<a class="jxr_linenumber" name="L963" href="#L963">963</a>             + <span class="jxr_string">"%n"</span>
<a class="jxr_linenumber" name="L964" href="#L964">964</a>             + <span class="jxr_string">"    /**%n"</span>
<a class="jxr_linenumber" name="L965" href="#L965">965</a>             + <span class="jxr_string">"     * Logs a message which is only to be constructed if the logging level is the%n"</span>
<a class="jxr_linenumber" name="L966" href="#L966">966</a>             + <span class="jxr_string">"     * {@code CUSTOM_LEVEL} level. The {@code MessageSupplier} may or may not use the%n"</span>
<a class="jxr_linenumber" name="L967" href="#L967">967</a>             + <span class="jxr_string">"     * {@link MessageFactory} to construct the {@code Message}.%n"</span>
<a class="jxr_linenumber" name="L968" href="#L968">968</a>             + <span class="jxr_string">"     *%n"</span>
<a class="jxr_linenumber" name="L969" href="#L969">969</a>             + <span class="jxr_string">"     * @param msgSupplier A function, which when called, produces the desired log message.%n"</span>
<a class="jxr_linenumber" name="L970" href="#L970">970</a>             + <span class="jxr_string">"     * @since Log4j-2.4%n"</span>
<a class="jxr_linenumber" name="L971" href="#L971">971</a>             + <span class="jxr_string">"     */%n"</span>
<a class="jxr_linenumber" name="L972" href="#L972">972</a>             + <span class="jxr_string">"    public void methodName(final MessageSupplier msgSupplier) {%n"</span>
<a class="jxr_linenumber" name="L973" href="#L973">973</a>             + <span class="jxr_string">"        logger.logIfEnabled(FQCN, CUSTOM_LEVEL, null, msgSupplier, (Throwable) null);%n"</span>
<a class="jxr_linenumber" name="L974" href="#L974">974</a>             + <span class="jxr_string">"    }%n"</span>
<a class="jxr_linenumber" name="L975" href="#L975">975</a>             + <span class="jxr_string">"%n"</span>
<a class="jxr_linenumber" name="L976" href="#L976">976</a>             + <span class="jxr_string">"    /**%n"</span>
<a class="jxr_linenumber" name="L977" href="#L977">977</a>             + <span class="jxr_string">"     * Logs a message (only to be constructed if the logging level is the {@code CUSTOM_LEVEL}%n"</span>
<a class="jxr_linenumber" name="L978" href="#L978">978</a>             + <span class="jxr_string">"     * level) including the stack trace of the {@link Throwable} &lt;code&gt;t&lt;/code&gt; passed as parameter.%n"</span>
<a class="jxr_linenumber" name="L979" href="#L979">979</a>             + <span class="jxr_string">"     * The {@code MessageSupplier} may or may not use the {@link MessageFactory} to construct the%n"</span>
<a class="jxr_linenumber" name="L980" href="#L980">980</a>             + <span class="jxr_string">"     * {@code Message}.%n"</span>
<a class="jxr_linenumber" name="L981" href="#L981">981</a>             + <span class="jxr_string">"     *%n"</span>
<a class="jxr_linenumber" name="L982" href="#L982">982</a>             + <span class="jxr_string">"     * @param msgSupplier A function, which when called, produces the desired log message.%n"</span>
<a class="jxr_linenumber" name="L983" href="#L983">983</a>             + <span class="jxr_string">"     * @param t the exception to log, including its stack trace.%n"</span>
<a class="jxr_linenumber" name="L984" href="#L984">984</a>             + <span class="jxr_string">"     * @since Log4j-2.4%n"</span>
<a class="jxr_linenumber" name="L985" href="#L985">985</a>             + <span class="jxr_string">"     */%n"</span>
<a class="jxr_linenumber" name="L986" href="#L986">986</a>             + <span class="jxr_string">"    public void methodName(final MessageSupplier msgSupplier, final Throwable t) {%n"</span>
<a class="jxr_linenumber" name="L987" href="#L987">987</a>             + <span class="jxr_string">"        logger.logIfEnabled(FQCN, CUSTOM_LEVEL, null, msgSupplier, t);%n"</span>
<a class="jxr_linenumber" name="L988" href="#L988">988</a>             + <span class="jxr_string">"    }%n"</span>;
<a class="jxr_linenumber" name="L989" href="#L989">989</a>             <em class="jxr_comment">//@formatter:on</em>
<a class="jxr_linenumber" name="L990" href="#L990">990</a> 
<a class="jxr_linenumber" name="L991" href="#L991">991</a>     <strong class="jxr_keyword">private</strong> <a href="../../../../../../org/apache/logging/log4j/core/tools/Generate.html">Generate</a>() {
<a class="jxr_linenumber" name="L992" href="#L992">992</a>     }
<a class="jxr_linenumber" name="L993" href="#L993">993</a> 
<a class="jxr_linenumber" name="L994" href="#L994">994</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L995" href="#L995">995</a> <em class="jxr_javadoccomment">     * Generates source code for custom logger wrappers that only provide convenience methods for the specified custom</em>
<a class="jxr_linenumber" name="L996" href="#L996">996</a> <em class="jxr_javadoccomment">     * levels, not for the standard built-in levels.</em>
<a class="jxr_linenumber" name="L997" href="#L997">997</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="L998" href="#L998">998</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../../org/apache/logging/log4j/core/tools/Generate.html">CustomLogger</a> {
<a class="jxr_linenumber" name="L999" href="#L999">999</a>         <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L1000" href="#L1000">1000</a> <em class="jxr_javadoccomment">         * Generates source code for custom logger wrappers that only provide convenience methods for the specified</em>
<a class="jxr_linenumber" name="L1001" href="#L1001">1001</a> <em class="jxr_javadoccomment">         * custom levels, not for the standard built-in levels.</em>
<a class="jxr_linenumber" name="L1002" href="#L1002">1002</a> <em class="jxr_javadoccomment">         *</em>
<a class="jxr_linenumber" name="L1003" href="#L1003">1003</a> <em class="jxr_javadoccomment">         * @param args className of the custom logger to generate, followed by a NAME=intLevel pair for each custom log</em>
<a class="jxr_linenumber" name="L1004" href="#L1004">1004</a> <em class="jxr_javadoccomment">         *            level to generate convenience methods for</em>
<a class="jxr_linenumber" name="L1005" href="#L1005">1005</a> <em class="jxr_javadoccomment">         */</em>
<a class="jxr_linenumber" name="L1006" href="#L1006">1006</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> main(<strong class="jxr_keyword">final</strong> String[] args) {
<a class="jxr_linenumber" name="L1007" href="#L1007">1007</a>             generate(args, Type.CUSTOM);
<a class="jxr_linenumber" name="L1008" href="#L1008">1008</a>         }
<a class="jxr_linenumber" name="L1009" href="#L1009">1009</a> 
<a class="jxr_linenumber" name="L1010" href="#L1010">1010</a>         <strong class="jxr_keyword">private</strong> <a href="../../../../../../org/apache/logging/log4j/core/tools/Generate.html">CustomLogger</a>() {
<a class="jxr_linenumber" name="L1011" href="#L1011">1011</a>         }
<a class="jxr_linenumber" name="L1012" href="#L1012">1012</a>     }
<a class="jxr_linenumber" name="L1013" href="#L1013">1013</a> 
<a class="jxr_linenumber" name="L1014" href="#L1014">1014</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L1015" href="#L1015">1015</a> <em class="jxr_javadoccomment">     * Generates source code for extended logger wrappers that provide convenience methods for the specified custom</em>
<a class="jxr_linenumber" name="L1016" href="#L1016">1016</a> <em class="jxr_javadoccomment">     * levels, and by extending {@code org.apache.logging.log4j.spi.ExtendedLoggerWrapper}, inherit the convenience</em>
<a class="jxr_linenumber" name="L1017" href="#L1017">1017</a> <em class="jxr_javadoccomment">     * methods for the built-in levels provided by the {@code Logger} interface.</em>
<a class="jxr_linenumber" name="L1018" href="#L1018">1018</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="L1019" href="#L1019">1019</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../../org/apache/logging/log4j/core/tools/Generate.html">ExtendedLogger</a> {
<a class="jxr_linenumber" name="L1020" href="#L1020">1020</a>         <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L1021" href="#L1021">1021</a> <em class="jxr_javadoccomment">         * Generates source code for extended logger wrappers that provide convenience methods for the specified custom</em>
<a class="jxr_linenumber" name="L1022" href="#L1022">1022</a> <em class="jxr_javadoccomment">         * levels.</em>
<a class="jxr_linenumber" name="L1023" href="#L1023">1023</a> <em class="jxr_javadoccomment">         *</em>
<a class="jxr_linenumber" name="L1024" href="#L1024">1024</a> <em class="jxr_javadoccomment">         * @param args className of the custom logger to generate, followed by a NAME=intLevel pair for each custom log</em>
<a class="jxr_linenumber" name="L1025" href="#L1025">1025</a> <em class="jxr_javadoccomment">         *            level to generate convenience methods for</em>
<a class="jxr_linenumber" name="L1026" href="#L1026">1026</a> <em class="jxr_javadoccomment">         */</em>
<a class="jxr_linenumber" name="L1027" href="#L1027">1027</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> main(<strong class="jxr_keyword">final</strong> String[] args) {
<a class="jxr_linenumber" name="L1028" href="#L1028">1028</a>             generate(args, Type.EXTEND);
<a class="jxr_linenumber" name="L1029" href="#L1029">1029</a>         }
<a class="jxr_linenumber" name="L1030" href="#L1030">1030</a> 
<a class="jxr_linenumber" name="L1031" href="#L1031">1031</a>         <strong class="jxr_keyword">private</strong> <a href="../../../../../../org/apache/logging/log4j/core/tools/Generate.html">ExtendedLogger</a>() {
<a class="jxr_linenumber" name="L1032" href="#L1032">1032</a>         }
<a class="jxr_linenumber" name="L1033" href="#L1033">1033</a>     }
<a class="jxr_linenumber" name="L1034" href="#L1034">1034</a> 
<a class="jxr_linenumber" name="L1035" href="#L1035">1035</a>     <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../../org/apache/logging/log4j/core/tools/Generate.html">LevelInfo</a> {
<a class="jxr_linenumber" name="L1036" href="#L1036">1036</a>         <strong class="jxr_keyword">final</strong> String name;
<a class="jxr_linenumber" name="L1037" href="#L1037">1037</a>         <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> intLevel;
<a class="jxr_linenumber" name="L1038" href="#L1038">1038</a> 
<a class="jxr_linenumber" name="L1039" href="#L1039">1039</a>         <a href="../../../../../../org/apache/logging/log4j/core/tools/Generate.html">LevelInfo</a>(<strong class="jxr_keyword">final</strong> String description) {
<a class="jxr_linenumber" name="L1040" href="#L1040">1040</a>             <strong class="jxr_keyword">final</strong> String[] parts = description.split(<span class="jxr_string">"="</span>);
<a class="jxr_linenumber" name="L1041" href="#L1041">1041</a>             name = parts[0];
<a class="jxr_linenumber" name="L1042" href="#L1042">1042</a>             intLevel = Integer.parseInt(parts[1]);
<a class="jxr_linenumber" name="L1043" href="#L1043">1043</a>         }
<a class="jxr_linenumber" name="L1044" href="#L1044">1044</a> 
<a class="jxr_linenumber" name="L1045" href="#L1045">1045</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> List&lt;LevelInfo&gt; parse(<strong class="jxr_keyword">final</strong> List&lt;String&gt; values, <strong class="jxr_keyword">final</strong> Class&lt;?&gt; generator) {
<a class="jxr_linenumber" name="L1046" href="#L1046">1046</a>             <strong class="jxr_keyword">final</strong> List&lt;LevelInfo&gt; result = <strong class="jxr_keyword">new</strong> ArrayList&lt;&gt;(values.size());
<a class="jxr_linenumber" name="L1047" href="#L1047">1047</a>             <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i &lt; values.size(); i++) {
<a class="jxr_linenumber" name="L1048" href="#L1048">1048</a>                 <strong class="jxr_keyword">try</strong> {
<a class="jxr_linenumber" name="L1049" href="#L1049">1049</a>                     result.add(<strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/logging/log4j/core/tools/Generate.html">LevelInfo</a>(values.get(i)));
<a class="jxr_linenumber" name="L1050" href="#L1050">1050</a>                 } <strong class="jxr_keyword">catch</strong> (<strong class="jxr_keyword">final</strong> Exception ex) {
<a class="jxr_linenumber" name="L1051" href="#L1051">1051</a>                     System.err.println(<span class="jxr_string">"Cannot parse custom level '"</span> + values.get(i) + <span class="jxr_string">"': "</span> + ex.toString());
<a class="jxr_linenumber" name="L1052" href="#L1052">1052</a>                     usage(System.err, generator);
<a class="jxr_linenumber" name="L1053" href="#L1053">1053</a>                     System.exit(-1);
<a class="jxr_linenumber" name="L1054" href="#L1054">1054</a>                 }
<a class="jxr_linenumber" name="L1055" href="#L1055">1055</a>             }
<a class="jxr_linenumber" name="L1056" href="#L1056">1056</a>             <strong class="jxr_keyword">return</strong> result;
<a class="jxr_linenumber" name="L1057" href="#L1057">1057</a>         }
<a class="jxr_linenumber" name="L1058" href="#L1058">1058</a>     }
<a class="jxr_linenumber" name="L1059" href="#L1059">1059</a> 
<a class="jxr_linenumber" name="L1060" href="#L1060">1060</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> generate(<strong class="jxr_keyword">final</strong> String[] args, <strong class="jxr_keyword">final</strong> <a href="../../../../../../org/apache/logging/log4j/core/tools/Generate.html">Type</a> type) {
<a class="jxr_linenumber" name="L1061" href="#L1061">1061</a>         generate(args, type, System.out);
<a class="jxr_linenumber" name="L1062" href="#L1062">1062</a>     }
<a class="jxr_linenumber" name="L1063" href="#L1063">1063</a> 
<a class="jxr_linenumber" name="L1064" href="#L1064">1064</a>     <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> generate(<strong class="jxr_keyword">final</strong> String[] args, <strong class="jxr_keyword">final</strong> <a href="../../../../../../org/apache/logging/log4j/core/tools/Generate.html">Type</a> type, <strong class="jxr_keyword">final</strong> PrintStream printStream) {
<a class="jxr_linenumber" name="L1065" href="#L1065">1065</a>         <strong class="jxr_keyword">if</strong> (!validate(args)) {
<a class="jxr_linenumber" name="L1066" href="#L1066">1066</a>             usage(printStream, type.generator());
<a class="jxr_linenumber" name="L1067" href="#L1067">1067</a>             System.exit(-1);
<a class="jxr_linenumber" name="L1068" href="#L1068">1068</a>         }
<a class="jxr_linenumber" name="L1069" href="#L1069">1069</a>         <strong class="jxr_keyword">final</strong> List&lt;String&gt; values = <strong class="jxr_keyword">new</strong> ArrayList&lt;&gt;(Arrays.asList(args));
<a class="jxr_linenumber" name="L1070" href="#L1070">1070</a>         <strong class="jxr_keyword">final</strong> String classFQN = values.remove(0);
<a class="jxr_linenumber" name="L1071" href="#L1071">1071</a>         <strong class="jxr_keyword">final</strong> List&lt;LevelInfo&gt; levels = LevelInfo.parse(values, type.generator());
<a class="jxr_linenumber" name="L1072" href="#L1072">1072</a>         printStream.println(generateSource(classFQN, levels, type));
<a class="jxr_linenumber" name="L1073" href="#L1073">1073</a>     }
<a class="jxr_linenumber" name="L1074" href="#L1074">1074</a> 
<a class="jxr_linenumber" name="L1075" href="#L1075">1075</a>     <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">boolean</strong> validate(<strong class="jxr_keyword">final</strong> String[] args) {
<a class="jxr_linenumber" name="L1076" href="#L1076">1076</a>         <strong class="jxr_keyword">if</strong> (args.length &lt; 2) {
<a class="jxr_linenumber" name="L1077" href="#L1077">1077</a>             <strong class="jxr_keyword">return</strong> false;
<a class="jxr_linenumber" name="L1078" href="#L1078">1078</a>         }
<a class="jxr_linenumber" name="L1079" href="#L1079">1079</a>         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="L1080" href="#L1080">1080</a>     }
<a class="jxr_linenumber" name="L1081" href="#L1081">1081</a> 
<a class="jxr_linenumber" name="L1082" href="#L1082">1082</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> usage(<strong class="jxr_keyword">final</strong> PrintStream out, <strong class="jxr_keyword">final</strong> Class&lt;?&gt; generator) {
<a class="jxr_linenumber" name="L1083" href="#L1083">1083</a>         out.println(<span class="jxr_string">"Usage: java "</span> + generator.getName() + <span class="jxr_string">" className LEVEL1=intLevel1 [LEVEL2=intLevel2...]"</span>);
<a class="jxr_linenumber" name="L1084" href="#L1084">1084</a>         out.println(<span class="jxr_string">"       Where className is the fully qualified class name of the custom/extended logger"</span>);
<a class="jxr_linenumber" name="L1085" href="#L1085">1085</a>         out.println(<span class="jxr_string">"       to generate, followed by a space-separated list of custom log levels."</span>);
<a class="jxr_linenumber" name="L1086" href="#L1086">1086</a>         out.println(<span class="jxr_string">"       For each custom log level, specify NAME=intLevel (without spaces)."</span>);
<a class="jxr_linenumber" name="L1087" href="#L1087">1087</a>     }
<a class="jxr_linenumber" name="L1088" href="#L1088">1088</a> 
<a class="jxr_linenumber" name="L1089" href="#L1089">1089</a>     <strong class="jxr_keyword">static</strong> String generateSource(<strong class="jxr_keyword">final</strong> String classNameFQN, <strong class="jxr_keyword">final</strong> List&lt;LevelInfo&gt; levels, <strong class="jxr_keyword">final</strong> <a href="../../../../../../org/apache/logging/log4j/core/tools/Generate.html">Type</a> type) {
<a class="jxr_linenumber" name="L1090" href="#L1090">1090</a>         <strong class="jxr_keyword">final</strong> StringBuilder sb = <strong class="jxr_keyword">new</strong> StringBuilder(10000 * levels.size());
<a class="jxr_linenumber" name="L1091" href="#L1091">1091</a>         <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> lastDot = classNameFQN.lastIndexOf('.');
<a class="jxr_linenumber" name="L1092" href="#L1092">1092</a>         <strong class="jxr_keyword">final</strong> String pkg = classNameFQN.substring(0, lastDot &gt;= 0 ? lastDot : 0);
<a class="jxr_linenumber" name="L1093" href="#L1093">1093</a>         <strong class="jxr_keyword">if</strong> (!pkg.isEmpty()) {
<a class="jxr_linenumber" name="L1094" href="#L1094">1094</a>             sb.append(String.format(PACKAGE_DECLARATION, pkg));
<a class="jxr_linenumber" name="L1095" href="#L1095">1095</a>         }
<a class="jxr_linenumber" name="L1096" href="#L1096">1096</a>         sb.append(String.format(type.imports(), <span class="jxr_string">""</span>));
<a class="jxr_linenumber" name="L1097" href="#L1097">1097</a>         <strong class="jxr_keyword">final</strong> String className = classNameFQN.substring(classNameFQN.lastIndexOf('.') + 1);
<a class="jxr_linenumber" name="L1098" href="#L1098">1098</a>         <strong class="jxr_keyword">final</strong> String javadocDescr = javadocDescription(levels);
<a class="jxr_linenumber" name="L1099" href="#L1099">1099</a>         sb.append(String.format(type.declaration(), javadocDescr, className));
<a class="jxr_linenumber" name="L1100" href="#L1100">1100</a>         sb.append(String.format(FQCN_FIELD, className));
<a class="jxr_linenumber" name="L1101" href="#L1101">1101</a>         <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">final</strong> LevelInfo level : levels) {
<a class="jxr_linenumber" name="L1102" href="#L1102">1102</a>             sb.append(String.format(LEVEL_FIELD, level.name, level.name, level.intLevel));
<a class="jxr_linenumber" name="L1103" href="#L1103">1103</a>         }
<a class="jxr_linenumber" name="L1104" href="#L1104">1104</a>         sb.append(String.format(type.constructor(), className));
<a class="jxr_linenumber" name="L1105" href="#L1105">1105</a>         sb.append(String.format(FACTORY_METHODS.replaceAll(<span class="jxr_string">"CLASSNAME"</span>, className), <span class="jxr_string">""</span>));
<a class="jxr_linenumber" name="L1106" href="#L1106">1106</a>         <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">final</strong> LevelInfo level : levels) {
<a class="jxr_linenumber" name="L1107" href="#L1107">1107</a>             <strong class="jxr_keyword">final</strong> String methodName = camelCase(level.name);
<a class="jxr_linenumber" name="L1108" href="#L1108">1108</a>             <strong class="jxr_keyword">final</strong> String phase1 = METHODS.replaceAll(<span class="jxr_string">"CUSTOM_LEVEL"</span>, level.name);
<a class="jxr_linenumber" name="L1109" href="#L1109">1109</a>             <strong class="jxr_keyword">final</strong> String phase2 = phase1.replaceAll(<span class="jxr_string">"methodName"</span>, methodName);
<a class="jxr_linenumber" name="L1110" href="#L1110">1110</a>             sb.append(String.format(phase2, <span class="jxr_string">""</span>));
<a class="jxr_linenumber" name="L1111" href="#L1111">1111</a>         }
<a class="jxr_linenumber" name="L1112" href="#L1112">1112</a> 
<a class="jxr_linenumber" name="L1113" href="#L1113">1113</a>         sb.append('}');
<a class="jxr_linenumber" name="L1114" href="#L1114">1114</a>         sb.append(System.getProperty(<span class="jxr_string">"line.separator"</span>));
<a class="jxr_linenumber" name="L1115" href="#L1115">1115</a>         <strong class="jxr_keyword">return</strong> sb.toString();
<a class="jxr_linenumber" name="L1116" href="#L1116">1116</a>     }
<a class="jxr_linenumber" name="L1117" href="#L1117">1117</a> 
<a class="jxr_linenumber" name="L1118" href="#L1118">1118</a>     <strong class="jxr_keyword">static</strong> String javadocDescription(<strong class="jxr_keyword">final</strong> List&lt;LevelInfo&gt; levels) {
<a class="jxr_linenumber" name="L1119" href="#L1119">1119</a>         <strong class="jxr_keyword">if</strong> (levels.size() == 1) {
<a class="jxr_linenumber" name="L1120" href="#L1120">1120</a>             <strong class="jxr_keyword">return</strong> <span class="jxr_string">"the "</span> + levels.get(0).name + <span class="jxr_string">" custom log level."</span>;
<a class="jxr_linenumber" name="L1121" href="#L1121">1121</a>         }
<a class="jxr_linenumber" name="L1122" href="#L1122">1122</a>         <strong class="jxr_keyword">final</strong> StringBuilder sb = <strong class="jxr_keyword">new</strong> StringBuilder(512);
<a class="jxr_linenumber" name="L1123" href="#L1123">1123</a>         sb.append(<span class="jxr_string">"the "</span>);
<a class="jxr_linenumber" name="L1124" href="#L1124">1124</a>         String sep = <span class="jxr_string">""</span>;
<a class="jxr_linenumber" name="L1125" href="#L1125">1125</a>         <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i &lt; levels.size(); i++) {
<a class="jxr_linenumber" name="L1126" href="#L1126">1126</a>             sb.append(sep);
<a class="jxr_linenumber" name="L1127" href="#L1127">1127</a>             sb.append(levels.get(i).name);
<a class="jxr_linenumber" name="L1128" href="#L1128">1128</a>             sep = (i == levels.size() - 2) ? <span class="jxr_string">" and "</span> : <span class="jxr_string">", "</span>;
<a class="jxr_linenumber" name="L1129" href="#L1129">1129</a>         }
<a class="jxr_linenumber" name="L1130" href="#L1130">1130</a>         sb.append(<span class="jxr_string">" custom log levels."</span>);
<a class="jxr_linenumber" name="L1131" href="#L1131">1131</a>         <strong class="jxr_keyword">return</strong> sb.toString();
<a class="jxr_linenumber" name="L1132" href="#L1132">1132</a>     }
<a class="jxr_linenumber" name="L1133" href="#L1133">1133</a> 
<a class="jxr_linenumber" name="L1134" href="#L1134">1134</a>     <strong class="jxr_keyword">static</strong> String camelCase(<strong class="jxr_keyword">final</strong> String customLevel) {
<a class="jxr_linenumber" name="L1135" href="#L1135">1135</a>         <strong class="jxr_keyword">final</strong> StringBuilder sb = <strong class="jxr_keyword">new</strong> StringBuilder(customLevel.length());
<a class="jxr_linenumber" name="L1136" href="#L1136">1136</a>         <strong class="jxr_keyword">boolean</strong> lower = <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="L1137" href="#L1137">1137</a>         <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">char</strong> ch : customLevel.toCharArray()) {
<a class="jxr_linenumber" name="L1138" href="#L1138">1138</a>             <strong class="jxr_keyword">if</strong> (ch == '_') {
<a class="jxr_linenumber" name="L1139" href="#L1139">1139</a>                 lower = false;
<a class="jxr_linenumber" name="L1140" href="#L1140">1140</a>                 <strong class="jxr_keyword">continue</strong>;
<a class="jxr_linenumber" name="L1141" href="#L1141">1141</a>             }
<a class="jxr_linenumber" name="L1142" href="#L1142">1142</a>             sb.append(lower ? Character.toLowerCase(ch) : Character.toUpperCase(ch));
<a class="jxr_linenumber" name="L1143" href="#L1143">1143</a>             lower = <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="L1144" href="#L1144">1144</a>         }
<a class="jxr_linenumber" name="L1145" href="#L1145">1145</a>         <strong class="jxr_keyword">return</strong> sb.toString();
<a class="jxr_linenumber" name="L1146" href="#L1146">1146</a>     }
<a class="jxr_linenumber" name="L1147" href="#L1147">1147</a> }
</pre>
<hr/>
<div id="footer">Copyright &#169; 1999&#x2013;2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</div>
</body>
</html>
