<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="en">
<head>
<title>Source code</title>
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
</head>
<body>
<div class="sourceContainer">
<pre><span class="sourceLineNo">001</span>/*<a name="line.1"></a>
<span class="sourceLineNo">002</span> * Licensed to the Apache Software Foundation (ASF) under one or more<a name="line.2"></a>
<span class="sourceLineNo">003</span> * contributor license agreements. See the NOTICE file distributed with<a name="line.3"></a>
<span class="sourceLineNo">004</span> * this work for additional information regarding copyright ownership.<a name="line.4"></a>
<span class="sourceLineNo">005</span> * The ASF licenses this file to You under the Apache license, Version 2.0<a name="line.5"></a>
<span class="sourceLineNo">006</span> * (the "License"); you may not use this file except in compliance with<a name="line.6"></a>
<span class="sourceLineNo">007</span> * the License. You may obtain a copy of the License at<a name="line.7"></a>
<span class="sourceLineNo">008</span> *<a name="line.8"></a>
<span class="sourceLineNo">009</span> *      http://www.apache.org/licenses/LICENSE-2.0<a name="line.9"></a>
<span class="sourceLineNo">010</span> *<a name="line.10"></a>
<span class="sourceLineNo">011</span> * Unless required by applicable law or agreed to in writing, software<a name="line.11"></a>
<span class="sourceLineNo">012</span> * distributed under the License is distributed on an "AS IS" BASIS,<a name="line.12"></a>
<span class="sourceLineNo">013</span> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.<a name="line.13"></a>
<span class="sourceLineNo">014</span> * See the license for the specific language governing permissions and<a name="line.14"></a>
<span class="sourceLineNo">015</span> * limitations under the license.<a name="line.15"></a>
<span class="sourceLineNo">016</span> */<a name="line.16"></a>
<span class="sourceLineNo">017</span>package org.apache.logging.log4j;<a name="line.17"></a>
<span class="sourceLineNo">018</span><a name="line.18"></a>
<span class="sourceLineNo">019</span>import org.apache.logging.log4j.message.EntryMessage;<a name="line.19"></a>
<span class="sourceLineNo">020</span>import org.apache.logging.log4j.message.Message;<a name="line.20"></a>
<span class="sourceLineNo">021</span>import org.apache.logging.log4j.message.MessageFactory;<a name="line.21"></a>
<span class="sourceLineNo">022</span>import org.apache.logging.log4j.message.MessageFactory2;<a name="line.22"></a>
<span class="sourceLineNo">023</span>import org.apache.logging.log4j.util.MessageSupplier;<a name="line.23"></a>
<span class="sourceLineNo">024</span>import org.apache.logging.log4j.util.Supplier;<a name="line.24"></a>
<span class="sourceLineNo">025</span><a name="line.25"></a>
<span class="sourceLineNo">026</span>/**<a name="line.26"></a>
<span class="sourceLineNo">027</span> * This is the central interface in the log4j package. Most logging operations, except configuration, are done through<a name="line.27"></a>
<span class="sourceLineNo">028</span> * this interface.<a name="line.28"></a>
<span class="sourceLineNo">029</span> *<a name="line.29"></a>
<span class="sourceLineNo">030</span> * &lt;p&gt;<a name="line.30"></a>
<span class="sourceLineNo">031</span> * The canonical way to obtain a Logger for a class is through {@link LogManager#getLogger()}. Typically, each class<a name="line.31"></a>
<span class="sourceLineNo">032</span> * gets its own Logger named after its fully qualified class name (the default Logger name when obtained through the<a name="line.32"></a>
<span class="sourceLineNo">033</span> * {@link LogManager#getLogger()} method). Thus, the simplest way to use this would be like so:<a name="line.33"></a>
<span class="sourceLineNo">034</span> * &lt;/p&gt;<a name="line.34"></a>
<span class="sourceLineNo">035</span> *<a name="line.35"></a>
<span class="sourceLineNo">036</span> * &lt;pre&gt;<a name="line.36"></a>
<span class="sourceLineNo">037</span> * public class MyClass {<a name="line.37"></a>
<span class="sourceLineNo">038</span> *     private static final Logger LOGGER = LogManager.getLogger();<a name="line.38"></a>
<span class="sourceLineNo">039</span> *     // ...<a name="line.39"></a>
<span class="sourceLineNo">040</span> * }<a name="line.40"></a>
<span class="sourceLineNo">041</span> * &lt;/pre&gt;<a name="line.41"></a>
<span class="sourceLineNo">042</span> * &lt;p&gt;<a name="line.42"></a>
<span class="sourceLineNo">043</span> * For ease of filtering, searching, sorting, etc., it is generally a good idea to create Loggers for each class rather<a name="line.43"></a>
<span class="sourceLineNo">044</span> * than sharing Loggers. Instead, {@link Marker Markers} should be used for shared, filterable identification.<a name="line.44"></a>
<span class="sourceLineNo">045</span> * &lt;/p&gt;<a name="line.45"></a>
<span class="sourceLineNo">046</span> * &lt;p&gt;<a name="line.46"></a>
<span class="sourceLineNo">047</span> * For service provider implementations, it is recommended to extend the<a name="line.47"></a>
<span class="sourceLineNo">048</span> * {@link org.apache.logging.log4j.spi.AbstractLogger} class rather than implementing this interface directly.<a name="line.48"></a>
<span class="sourceLineNo">049</span> * &lt;/p&gt;<a name="line.49"></a>
<span class="sourceLineNo">050</span> *<a name="line.50"></a>
<span class="sourceLineNo">051</span> * Since 2.4, methods have been added to the {@code Logger} interface to support lambda expressions. The new methods<a name="line.51"></a>
<span class="sourceLineNo">052</span> * allow client code to lazily log messages without explicitly checking if the requested log level is enabled. For<a name="line.52"></a>
<span class="sourceLineNo">053</span> * example, previously one would write:<a name="line.53"></a>
<span class="sourceLineNo">054</span> *<a name="line.54"></a>
<span class="sourceLineNo">055</span> * &lt;pre&gt;<a name="line.55"></a>
<span class="sourceLineNo">056</span> * // pre-Java 8 style optimization: explicitly check the log level<a name="line.56"></a>
<span class="sourceLineNo">057</span> * // to make sure the expensiveOperation() method is only called if necessary<a name="line.57"></a>
<span class="sourceLineNo">058</span> * if (logger.isTraceEnabled()) {<a name="line.58"></a>
<span class="sourceLineNo">059</span> *     logger.trace(&amp;quot;Some long-running operation returned {}&amp;quot;, expensiveOperation());<a name="line.59"></a>
<span class="sourceLineNo">060</span> * }<a name="line.60"></a>
<span class="sourceLineNo">061</span> * &lt;/pre&gt;<a name="line.61"></a>
<span class="sourceLineNo">062</span> * &lt;p&gt;<a name="line.62"></a>
<span class="sourceLineNo">063</span> * With Java 8, the same effect can be achieved with a lambda expression:<a name="line.63"></a>
<span class="sourceLineNo">064</span> *<a name="line.64"></a>
<span class="sourceLineNo">065</span> * &lt;pre&gt;<a name="line.65"></a>
<span class="sourceLineNo">066</span> * // Java-8 style optimization: no need to explicitly check the log level:<a name="line.66"></a>
<span class="sourceLineNo">067</span> * // the lambda expression is not evaluated if the TRACE level is not enabled<a name="line.67"></a>
<span class="sourceLineNo">068</span> * logger.trace(&amp;quot;Some long-running operation returned {}&amp;quot;, () -&amp;gt; expensiveOperation());<a name="line.68"></a>
<span class="sourceLineNo">069</span> * &lt;/pre&gt;<a name="line.69"></a>
<span class="sourceLineNo">070</span> *<a name="line.70"></a>
<span class="sourceLineNo">071</span> * &lt;p&gt;<a name="line.71"></a>
<span class="sourceLineNo">072</span> * Note that although {@link MessageSupplier} is provided, using {@link Supplier Supplier&lt;Message&gt;} works just the<a name="line.72"></a>
<span class="sourceLineNo">073</span> * same. MessageSupplier was deprecated in 2.6 and un-deprecated in 2.8.1. Anonymous class usage of these APIs<a name="line.73"></a>
<span class="sourceLineNo">074</span> * should prefer using Supplier instead.<a name="line.74"></a>
<span class="sourceLineNo">075</span> * &lt;/p&gt;<a name="line.75"></a>
<span class="sourceLineNo">076</span> */<a name="line.76"></a>
<span class="sourceLineNo">077</span>public interface Logger {<a name="line.77"></a>
<span class="sourceLineNo">078</span><a name="line.78"></a>
<span class="sourceLineNo">079</span>    /**<a name="line.79"></a>
<span class="sourceLineNo">080</span>     * Logs an exception or error that has been caught to a specific logging level.<a name="line.80"></a>
<span class="sourceLineNo">081</span>     *<a name="line.81"></a>
<span class="sourceLineNo">082</span>     * @param level The logging Level.<a name="line.82"></a>
<span class="sourceLineNo">083</span>     * @param t The Throwable.<a name="line.83"></a>
<span class="sourceLineNo">084</span>     */<a name="line.84"></a>
<span class="sourceLineNo">085</span>    void catching(Level level, Throwable t);<a name="line.85"></a>
<span class="sourceLineNo">086</span><a name="line.86"></a>
<span class="sourceLineNo">087</span>    /**<a name="line.87"></a>
<span class="sourceLineNo">088</span>     * Logs an exception or error that has been caught. Normally, one may wish to provide additional information with an<a name="line.88"></a>
<span class="sourceLineNo">089</span>     * exception while logging it; in these cases, one would not use this method. In other cases where simply logging<a name="line.89"></a>
<span class="sourceLineNo">090</span>     * the fact that an exception was swallowed somewhere (e.g., at the top of the stack trace in a {@code main()}<a name="line.90"></a>
<span class="sourceLineNo">091</span>     * method), this method is ideal for it.<a name="line.91"></a>
<span class="sourceLineNo">092</span>     *<a name="line.92"></a>
<span class="sourceLineNo">093</span>     * @param t The Throwable.<a name="line.93"></a>
<span class="sourceLineNo">094</span>     */<a name="line.94"></a>
<span class="sourceLineNo">095</span>    void catching(Throwable t);<a name="line.95"></a>
<span class="sourceLineNo">096</span><a name="line.96"></a>
<span class="sourceLineNo">097</span>    /**<a name="line.97"></a>
<span class="sourceLineNo">098</span>     * Logs a message with the specific Marker at the {@link Level#DEBUG DEBUG} level.<a name="line.98"></a>
<span class="sourceLineNo">099</span>     *<a name="line.99"></a>
<span class="sourceLineNo">100</span>     * @param marker the marker data specific to this log statement<a name="line.100"></a>
<span class="sourceLineNo">101</span>     * @param msg the message string to be logged<a name="line.101"></a>
<span class="sourceLineNo">102</span>     */<a name="line.102"></a>
<span class="sourceLineNo">103</span>    void debug(Marker marker, Message msg);<a name="line.103"></a>
<span class="sourceLineNo">104</span><a name="line.104"></a>
<span class="sourceLineNo">105</span>    /**<a name="line.105"></a>
<span class="sourceLineNo">106</span>     * Logs a message with the specific Marker at the {@link Level#DEBUG DEBUG} level.<a name="line.106"></a>
<span class="sourceLineNo">107</span>     *<a name="line.107"></a>
<span class="sourceLineNo">108</span>     * @param marker the marker data specific to this log statement<a name="line.108"></a>
<span class="sourceLineNo">109</span>     * @param msg the message string to be logged<a name="line.109"></a>
<span class="sourceLineNo">110</span>     * @param t A Throwable or null.<a name="line.110"></a>
<span class="sourceLineNo">111</span>     */<a name="line.111"></a>
<span class="sourceLineNo">112</span>    void debug(Marker marker, Message msg, Throwable t);<a name="line.112"></a>
<span class="sourceLineNo">113</span><a name="line.113"></a>
<span class="sourceLineNo">114</span>    /**<a name="line.114"></a>
<span class="sourceLineNo">115</span>     * Logs a message which is only to be constructed if the logging level is the {@link Level#DEBUG DEBUG} level with<a name="line.115"></a>
<span class="sourceLineNo">116</span>     * the specified Marker. The {@code MessageSupplier} may or may not use the {@link MessageFactory} to construct the<a name="line.116"></a>
<span class="sourceLineNo">117</span>     * {@code Message}.<a name="line.117"></a>
<span class="sourceLineNo">118</span>     *<a name="line.118"></a>
<span class="sourceLineNo">119</span>     * @param marker the marker data specific to this log statement<a name="line.119"></a>
<span class="sourceLineNo">120</span>     * @param msgSupplier A function, which when called, produces the desired log message.<a name="line.120"></a>
<span class="sourceLineNo">121</span>     * @since 2.4<a name="line.121"></a>
<span class="sourceLineNo">122</span>     */<a name="line.122"></a>
<span class="sourceLineNo">123</span>    void debug(Marker marker, MessageSupplier msgSupplier);<a name="line.123"></a>
<span class="sourceLineNo">124</span><a name="line.124"></a>
<span class="sourceLineNo">125</span>    /**<a name="line.125"></a>
<span class="sourceLineNo">126</span>     * Logs a message (only to be constructed if the logging level is the {@link Level#DEBUG DEBUG} level) with the<a name="line.126"></a>
<span class="sourceLineNo">127</span>     * specified Marker and including the stack trace of the {@link Throwable} &lt;code&gt;t&lt;/code&gt; passed as parameter. The<a name="line.127"></a>
<span class="sourceLineNo">128</span>     * {@code MessageSupplier} may or may not use the {@link MessageFactory} to construct the {@code Message}.<a name="line.128"></a>
<span class="sourceLineNo">129</span>     *<a name="line.129"></a>
<span class="sourceLineNo">130</span>     * @param marker the marker data specific to this log statement<a name="line.130"></a>
<span class="sourceLineNo">131</span>     * @param msgSupplier A function, which when called, produces the desired log message.<a name="line.131"></a>
<span class="sourceLineNo">132</span>     * @param t A Throwable or null.<a name="line.132"></a>
<span class="sourceLineNo">133</span>     * @since 2.4<a name="line.133"></a>
<span class="sourceLineNo">134</span>     */<a name="line.134"></a>
<span class="sourceLineNo">135</span>    void debug(Marker marker, MessageSupplier msgSupplier, Throwable t);<a name="line.135"></a>
<span class="sourceLineNo">136</span><a name="line.136"></a>
<span class="sourceLineNo">137</span>    /**<a name="line.137"></a>
<span class="sourceLineNo">138</span>     * Logs a message CharSequence with the {@link Level#DEBUG DEBUG} level.<a name="line.138"></a>
<span class="sourceLineNo">139</span>     *<a name="line.139"></a>
<span class="sourceLineNo">140</span>     * @param marker the marker data specific to this log statement<a name="line.140"></a>
<span class="sourceLineNo">141</span>     * @param message the message CharSequence to log.<a name="line.141"></a>
<span class="sourceLineNo">142</span>     */<a name="line.142"></a>
<span class="sourceLineNo">143</span>    void debug(Marker marker, CharSequence message);<a name="line.143"></a>
<span class="sourceLineNo">144</span><a name="line.144"></a>
<span class="sourceLineNo">145</span>    /**<a name="line.145"></a>
<span class="sourceLineNo">146</span>     * Logs a message CharSequence at the {@link Level#DEBUG DEBUG} level including the stack trace of the<a name="line.146"></a>
<span class="sourceLineNo">147</span>     * {@link Throwable} &lt;code&gt;t&lt;/code&gt; passed as parameter.<a name="line.147"></a>
<span class="sourceLineNo">148</span>     *<a name="line.148"></a>
<span class="sourceLineNo">149</span>     * @param marker the marker data specific to this log statement<a name="line.149"></a>
<span class="sourceLineNo">150</span>     * @param message the message CharSequence to log.<a name="line.150"></a>
<span class="sourceLineNo">151</span>     * @param t the exception to log, including its stack trace.<a name="line.151"></a>
<span class="sourceLineNo">152</span>     */<a name="line.152"></a>
<span class="sourceLineNo">153</span>    void debug(Marker marker, CharSequence message, Throwable t);<a name="line.153"></a>
<span class="sourceLineNo">154</span><a name="line.154"></a>
<span class="sourceLineNo">155</span>    /**<a name="line.155"></a>
<span class="sourceLineNo">156</span>     * Logs a message object with the {@link Level#DEBUG DEBUG} level.<a name="line.156"></a>
<span class="sourceLineNo">157</span>     *<a name="line.157"></a>
<span class="sourceLineNo">158</span>     * @param marker the marker data specific to this log statement<a name="line.158"></a>
<span class="sourceLineNo">159</span>     * @param message the message object to log.<a name="line.159"></a>
<span class="sourceLineNo">160</span>     */<a name="line.160"></a>
<span class="sourceLineNo">161</span>    void debug(Marker marker, Object message);<a name="line.161"></a>
<span class="sourceLineNo">162</span><a name="line.162"></a>
<span class="sourceLineNo">163</span>    /**<a name="line.163"></a>
<span class="sourceLineNo">164</span>     * Logs a message at the {@link Level#DEBUG DEBUG} level including the stack trace of the {@link Throwable}<a name="line.164"></a>
<span class="sourceLineNo">165</span>     * &lt;code&gt;t&lt;/code&gt; passed as parameter.<a name="line.165"></a>
<span class="sourceLineNo">166</span>     *<a name="line.166"></a>
<span class="sourceLineNo">167</span>     * @param marker the marker data specific to this log statement<a name="line.167"></a>
<span class="sourceLineNo">168</span>     * @param message the message to log.<a name="line.168"></a>
<span class="sourceLineNo">169</span>     * @param t the exception to log, including its stack trace.<a name="line.169"></a>
<span class="sourceLineNo">170</span>     */<a name="line.170"></a>
<span class="sourceLineNo">171</span>    void debug(Marker marker, Object message, Throwable t);<a name="line.171"></a>
<span class="sourceLineNo">172</span><a name="line.172"></a>
<span class="sourceLineNo">173</span>    /**<a name="line.173"></a>
<span class="sourceLineNo">174</span>     * Logs a message object with the {@link Level#DEBUG DEBUG} level.<a name="line.174"></a>
<span class="sourceLineNo">175</span>     *<a name="line.175"></a>
<span class="sourceLineNo">176</span>     * @param marker the marker data specific to this log statement<a name="line.176"></a>
<span class="sourceLineNo">177</span>     * @param message the message object to log.<a name="line.177"></a>
<span class="sourceLineNo">178</span>     */<a name="line.178"></a>
<span class="sourceLineNo">179</span>    void debug(Marker marker, String message);<a name="line.179"></a>
<span class="sourceLineNo">180</span><a name="line.180"></a>
<span class="sourceLineNo">181</span>    /**<a name="line.181"></a>
<span class="sourceLineNo">182</span>     * Logs a message with parameters at the {@link Level#DEBUG DEBUG} level.<a name="line.182"></a>
<span class="sourceLineNo">183</span>     *<a name="line.183"></a>
<span class="sourceLineNo">184</span>     * @param marker the marker data specific to this log statement<a name="line.184"></a>
<span class="sourceLineNo">185</span>     * @param message the message to log; the format depends on the message factory.<a name="line.185"></a>
<span class="sourceLineNo">186</span>     * @param params parameters to the message.<a name="line.186"></a>
<span class="sourceLineNo">187</span>     * @see #getMessageFactory()<a name="line.187"></a>
<span class="sourceLineNo">188</span>     */<a name="line.188"></a>
<span class="sourceLineNo">189</span>    void debug(Marker marker, String message, Object... params);<a name="line.189"></a>
<span class="sourceLineNo">190</span><a name="line.190"></a>
<span class="sourceLineNo">191</span>    /**<a name="line.191"></a>
<span class="sourceLineNo">192</span>     * Logs a message with parameters which are only to be constructed if the logging level is the {@link Level#DEBUG<a name="line.192"></a>
<span class="sourceLineNo">193</span>     * DEBUG} level.<a name="line.193"></a>
<span class="sourceLineNo">194</span>     *<a name="line.194"></a>
<span class="sourceLineNo">195</span>     * @param marker the marker data specific to this log statement<a name="line.195"></a>
<span class="sourceLineNo">196</span>     * @param message the message to log; the format depends on the message factory.<a name="line.196"></a>
<span class="sourceLineNo">197</span>     * @param paramSuppliers An array of functions, which when called, produce the desired log message parameters.<a name="line.197"></a>
<span class="sourceLineNo">198</span>     * @since 2.4<a name="line.198"></a>
<span class="sourceLineNo">199</span>     */<a name="line.199"></a>
<span class="sourceLineNo">200</span>    void debug(Marker marker, String message, Supplier&lt;?&gt;... paramSuppliers);<a name="line.200"></a>
<span class="sourceLineNo">201</span><a name="line.201"></a>
<span class="sourceLineNo">202</span>    /**<a name="line.202"></a>
<span class="sourceLineNo">203</span>     * Logs a message at the {@link Level#DEBUG DEBUG} level including the stack trace of the {@link Throwable}<a name="line.203"></a>
<span class="sourceLineNo">204</span>     * &lt;code&gt;t&lt;/code&gt; passed as parameter.<a name="line.204"></a>
<span class="sourceLineNo">205</span>     *<a name="line.205"></a>
<span class="sourceLineNo">206</span>     * @param marker the marker data specific to this log statement<a name="line.206"></a>
<span class="sourceLineNo">207</span>     * @param message the message to log.<a name="line.207"></a>
<span class="sourceLineNo">208</span>     * @param t the exception to log, including its stack trace.<a name="line.208"></a>
<span class="sourceLineNo">209</span>     */<a name="line.209"></a>
<span class="sourceLineNo">210</span>    void debug(Marker marker, String message, Throwable t);<a name="line.210"></a>
<span class="sourceLineNo">211</span><a name="line.211"></a>
<span class="sourceLineNo">212</span>    /**<a name="line.212"></a>
<span class="sourceLineNo">213</span>     * Logs a message which is only to be constructed if the logging level is the {@link Level#DEBUG DEBUG} level with<a name="line.213"></a>
<span class="sourceLineNo">214</span>     * the specified Marker.<a name="line.214"></a>
<span class="sourceLineNo">215</span>     *<a name="line.215"></a>
<span class="sourceLineNo">216</span>     * @param marker the marker data specific to this log statement<a name="line.216"></a>
<span class="sourceLineNo">217</span>     * @param msgSupplier A function, which when called, produces the desired log message; the format depends on the<a name="line.217"></a>
<span class="sourceLineNo">218</span>     *            message factory.<a name="line.218"></a>
<span class="sourceLineNo">219</span>     * @since 2.4<a name="line.219"></a>
<span class="sourceLineNo">220</span>     */<a name="line.220"></a>
<span class="sourceLineNo">221</span>    void debug(Marker marker, Supplier&lt;?&gt; msgSupplier);<a name="line.221"></a>
<span class="sourceLineNo">222</span><a name="line.222"></a>
<span class="sourceLineNo">223</span>    /**<a name="line.223"></a>
<span class="sourceLineNo">224</span>     * Logs a message (only to be constructed if the logging level is the {@link Level#DEBUG DEBUG} level) with the<a name="line.224"></a>
<span class="sourceLineNo">225</span>     * specified Marker and including the stack trace of the {@link Throwable} &lt;code&gt;t&lt;/code&gt; passed as parameter.<a name="line.225"></a>
<span class="sourceLineNo">226</span>     *<a name="line.226"></a>
<span class="sourceLineNo">227</span>     * @param marker the marker data specific to this log statement<a name="line.227"></a>
<span class="sourceLineNo">228</span>     * @param msgSupplier A function, which when called, produces the desired log message; the format depends on the<a name="line.228"></a>
<span class="sourceLineNo">229</span>     *            message factory.<a name="line.229"></a>
<span class="sourceLineNo">230</span>     * @param t A Throwable or null.<a name="line.230"></a>
<span class="sourceLineNo">231</span>     * @since 2.4<a name="line.231"></a>
<span class="sourceLineNo">232</span>     */<a name="line.232"></a>
<span class="sourceLineNo">233</span>    void debug(Marker marker, Supplier&lt;?&gt; msgSupplier, Throwable t);<a name="line.233"></a>
<span class="sourceLineNo">234</span><a name="line.234"></a>
<span class="sourceLineNo">235</span>    /**<a name="line.235"></a>
<span class="sourceLineNo">236</span>     * Logs a message with the specific Marker at the {@link Level#DEBUG DEBUG} level.<a name="line.236"></a>
<span class="sourceLineNo">237</span>     *<a name="line.237"></a>
<span class="sourceLineNo">238</span>     * @param msg the message string to be logged<a name="line.238"></a>
<span class="sourceLineNo">239</span>     */<a name="line.239"></a>
<span class="sourceLineNo">240</span>    void debug(Message msg);<a name="line.240"></a>
<span class="sourceLineNo">241</span><a name="line.241"></a>
<span class="sourceLineNo">242</span>    /**<a name="line.242"></a>
<span class="sourceLineNo">243</span>     * Logs a message with the specific Marker at the {@link Level#DEBUG DEBUG} level.<a name="line.243"></a>
<span class="sourceLineNo">244</span>     *<a name="line.244"></a>
<span class="sourceLineNo">245</span>     * @param msg the message string to be logged<a name="line.245"></a>
<span class="sourceLineNo">246</span>     * @param t A Throwable or null.<a name="line.246"></a>
<span class="sourceLineNo">247</span>     */<a name="line.247"></a>
<span class="sourceLineNo">248</span>    void debug(Message msg, Throwable t);<a name="line.248"></a>
<span class="sourceLineNo">249</span><a name="line.249"></a>
<span class="sourceLineNo">250</span>    /**<a name="line.250"></a>
<span class="sourceLineNo">251</span>     * Logs a message which is only to be constructed if the logging level is the {@link Level#DEBUG DEBUG} level. The<a name="line.251"></a>
<span class="sourceLineNo">252</span>     * {@code MessageSupplier} may or may not use the {@link MessageFactory} to construct the {@code Message}.<a name="line.252"></a>
<span class="sourceLineNo">253</span>     *<a name="line.253"></a>
<span class="sourceLineNo">254</span>     * @param msgSupplier A function, which when called, produces the desired log message.<a name="line.254"></a>
<span class="sourceLineNo">255</span>     * @since 2.4<a name="line.255"></a>
<span class="sourceLineNo">256</span>     */<a name="line.256"></a>
<span class="sourceLineNo">257</span>    void debug(MessageSupplier msgSupplier);<a name="line.257"></a>
<span class="sourceLineNo">258</span><a name="line.258"></a>
<span class="sourceLineNo">259</span>    /**<a name="line.259"></a>
<span class="sourceLineNo">260</span>     * Logs a message (only to be constructed if the logging level is the {@link Level#DEBUG DEBUG} level) including the<a name="line.260"></a>
<span class="sourceLineNo">261</span>     * stack trace of the {@link Throwable} &lt;code&gt;t&lt;/code&gt; passed as parameter. The {@code MessageSupplier} may or may<a name="line.261"></a>
<span class="sourceLineNo">262</span>     * not use the {@link MessageFactory} to construct the {@code Message}.<a name="line.262"></a>
<span class="sourceLineNo">263</span>     *<a name="line.263"></a>
<span class="sourceLineNo">264</span>     * @param msgSupplier A function, which when called, produces the desired log message.<a name="line.264"></a>
<span class="sourceLineNo">265</span>     * @param t the exception to log, including its stack trace.<a name="line.265"></a>
<span class="sourceLineNo">266</span>     * @since 2.4<a name="line.266"></a>
<span class="sourceLineNo">267</span>     */<a name="line.267"></a>
<span class="sourceLineNo">268</span>    void debug(MessageSupplier msgSupplier, Throwable t);<a name="line.268"></a>
<span class="sourceLineNo">269</span><a name="line.269"></a>
<span class="sourceLineNo">270</span>    /**<a name="line.270"></a>
<span class="sourceLineNo">271</span>     * Logs a message CharSequence with the {@link Level#DEBUG DEBUG} level.<a name="line.271"></a>
<span class="sourceLineNo">272</span>     *<a name="line.272"></a>
<span class="sourceLineNo">273</span>     * @param message the message object to log.<a name="line.273"></a>
<span class="sourceLineNo">274</span>     */<a name="line.274"></a>
<span class="sourceLineNo">275</span>    void debug(CharSequence message);<a name="line.275"></a>
<span class="sourceLineNo">276</span><a name="line.276"></a>
<span class="sourceLineNo">277</span>    /**<a name="line.277"></a>
<span class="sourceLineNo">278</span>     * Logs a CharSequence at the {@link Level#DEBUG DEBUG} level including the stack trace of the {@link Throwable}<a name="line.278"></a>
<span class="sourceLineNo">279</span>     * &lt;code&gt;t&lt;/code&gt; passed as parameter.<a name="line.279"></a>
<span class="sourceLineNo">280</span>     *<a name="line.280"></a>
<span class="sourceLineNo">281</span>     * @param message the message CharSequence to log.<a name="line.281"></a>
<span class="sourceLineNo">282</span>     * @param t the exception to log, including its stack trace.<a name="line.282"></a>
<span class="sourceLineNo">283</span>     */<a name="line.283"></a>
<span class="sourceLineNo">284</span>    void debug(CharSequence message, Throwable t);<a name="line.284"></a>
<span class="sourceLineNo">285</span><a name="line.285"></a>
<span class="sourceLineNo">286</span>    /**<a name="line.286"></a>
<span class="sourceLineNo">287</span>     * Logs a message object with the {@link Level#DEBUG DEBUG} level.<a name="line.287"></a>
<span class="sourceLineNo">288</span>     *<a name="line.288"></a>
<span class="sourceLineNo">289</span>     * @param message the message object to log.<a name="line.289"></a>
<span class="sourceLineNo">290</span>     */<a name="line.290"></a>
<span class="sourceLineNo">291</span>    void debug(Object message);<a name="line.291"></a>
<span class="sourceLineNo">292</span><a name="line.292"></a>
<span class="sourceLineNo">293</span>    /**<a name="line.293"></a>
<span class="sourceLineNo">294</span>     * Logs a message at the {@link Level#DEBUG DEBUG} level including the stack trace of the {@link Throwable}<a name="line.294"></a>
<span class="sourceLineNo">295</span>     * &lt;code&gt;t&lt;/code&gt; passed as parameter.<a name="line.295"></a>
<span class="sourceLineNo">296</span>     *<a name="line.296"></a>
<span class="sourceLineNo">297</span>     * @param message the message to log.<a name="line.297"></a>
<span class="sourceLineNo">298</span>     * @param t the exception to log, including its stack trace.<a name="line.298"></a>
<span class="sourceLineNo">299</span>     */<a name="line.299"></a>
<span class="sourceLineNo">300</span>    void debug(Object message, Throwable t);<a name="line.300"></a>
<span class="sourceLineNo">301</span><a name="line.301"></a>
<span class="sourceLineNo">302</span>    /**<a name="line.302"></a>
<span class="sourceLineNo">303</span>     * Logs a message object with the {@link Level#DEBUG DEBUG} level.<a name="line.303"></a>
<span class="sourceLineNo">304</span>     *<a name="line.304"></a>
<span class="sourceLineNo">305</span>     * @param message the message string to log.<a name="line.305"></a>
<span class="sourceLineNo">306</span>     */<a name="line.306"></a>
<span class="sourceLineNo">307</span>    void debug(String message);<a name="line.307"></a>
<span class="sourceLineNo">308</span><a name="line.308"></a>
<span class="sourceLineNo">309</span>    /**<a name="line.309"></a>
<span class="sourceLineNo">310</span>     * Logs a message with parameters at the {@link Level#DEBUG DEBUG} level.<a name="line.310"></a>
<span class="sourceLineNo">311</span>     *<a name="line.311"></a>
<span class="sourceLineNo">312</span>     * @param message the message to log; the format depends on the message factory.<a name="line.312"></a>
<span class="sourceLineNo">313</span>     * @param params parameters to the message.<a name="line.313"></a>
<span class="sourceLineNo">314</span>     * @see #getMessageFactory()<a name="line.314"></a>
<span class="sourceLineNo">315</span>     */<a name="line.315"></a>
<span class="sourceLineNo">316</span>    void debug(String message, Object... params);<a name="line.316"></a>
<span class="sourceLineNo">317</span><a name="line.317"></a>
<span class="sourceLineNo">318</span>    /**<a name="line.318"></a>
<span class="sourceLineNo">319</span>     * Logs a message with parameters which are only to be constructed if the logging level is the {@link Level#DEBUG<a name="line.319"></a>
<span class="sourceLineNo">320</span>     * DEBUG} level.<a name="line.320"></a>
<span class="sourceLineNo">321</span>     *<a name="line.321"></a>
<span class="sourceLineNo">322</span>     * @param message the message to log; the format depends on the message factory.<a name="line.322"></a>
<span class="sourceLineNo">323</span>     * @param paramSuppliers An array of functions, which when called, produce the desired log message parameters.<a name="line.323"></a>
<span class="sourceLineNo">324</span>     * @since 2.4<a name="line.324"></a>
<span class="sourceLineNo">325</span>     */<a name="line.325"></a>
<span class="sourceLineNo">326</span>    void debug(String message, Supplier&lt;?&gt;... paramSuppliers);<a name="line.326"></a>
<span class="sourceLineNo">327</span><a name="line.327"></a>
<span class="sourceLineNo">328</span>    /**<a name="line.328"></a>
<span class="sourceLineNo">329</span>     * Logs a message at the {@link Level#DEBUG DEBUG} level including the stack trace of the {@link Throwable}<a name="line.329"></a>
<span class="sourceLineNo">330</span>     * &lt;code&gt;t&lt;/code&gt; passed as parameter.<a name="line.330"></a>
<span class="sourceLineNo">331</span>     *<a name="line.331"></a>
<span class="sourceLineNo">332</span>     * @param message the message to log.<a name="line.332"></a>
<span class="sourceLineNo">333</span>     * @param t the exception to log, including its stack trace.<a name="line.333"></a>
<span class="sourceLineNo">334</span>     */<a name="line.334"></a>
<span class="sourceLineNo">335</span>    void debug(String message, Throwable t);<a name="line.335"></a>
<span class="sourceLineNo">336</span><a name="line.336"></a>
<span class="sourceLineNo">337</span>    /**<a name="line.337"></a>
<span class="sourceLineNo">338</span>     * Logs a message which is only to be constructed if the logging level is the {@link Level#DEBUG DEBUG} level.<a name="line.338"></a>
<span class="sourceLineNo">339</span>     *<a name="line.339"></a>
<span class="sourceLineNo">340</span>     * @param msgSupplier A function, which when called, produces the desired log message; the format depends on the<a name="line.340"></a>
<span class="sourceLineNo">341</span>     *            message factory.<a name="line.341"></a>
<span class="sourceLineNo">342</span>     * @since 2.4<a name="line.342"></a>
<span class="sourceLineNo">343</span>     */<a name="line.343"></a>
<span class="sourceLineNo">344</span>    void debug(Supplier&lt;?&gt; msgSupplier);<a name="line.344"></a>
<span class="sourceLineNo">345</span><a name="line.345"></a>
<span class="sourceLineNo">346</span>    /**<a name="line.346"></a>
<span class="sourceLineNo">347</span>     * Logs a message (only to be constructed if the logging level is the {@link Level#DEBUG DEBUG} level) including the<a name="line.347"></a>
<span class="sourceLineNo">348</span>     * stack trace of the {@link Throwable} &lt;code&gt;t&lt;/code&gt; passed as parameter.<a name="line.348"></a>
<span class="sourceLineNo">349</span>     *<a name="line.349"></a>
<span class="sourceLineNo">350</span>     * @param msgSupplier A function, which when called, produces the desired log message; the format depends on the<a name="line.350"></a>
<span class="sourceLineNo">351</span>     *            message factory.<a name="line.351"></a>
<span class="sourceLineNo">352</span>     * @param t the exception to log, including its stack trace.<a name="line.352"></a>
<span class="sourceLineNo">353</span>     * @since 2.4<a name="line.353"></a>
<span class="sourceLineNo">354</span>     */<a name="line.354"></a>
<span class="sourceLineNo">355</span>    void debug(Supplier&lt;?&gt; msgSupplier, Throwable t);<a name="line.355"></a>
<span class="sourceLineNo">356</span><a name="line.356"></a>
<span class="sourceLineNo">357</span>    /**<a name="line.357"></a>
<span class="sourceLineNo">358</span>     * Logs a message with parameters at debug level.<a name="line.358"></a>
<span class="sourceLineNo">359</span>     *<a name="line.359"></a>
<span class="sourceLineNo">360</span>     * @param marker the marker data specific to this log statement<a name="line.360"></a>
<span class="sourceLineNo">361</span>     * @param message the message to log; the format depends on the message factory.<a name="line.361"></a>
<span class="sourceLineNo">362</span>     * @param p0 parameter to the message.<a name="line.362"></a>
<span class="sourceLineNo">363</span>     */<a name="line.363"></a>
<span class="sourceLineNo">364</span>    void debug(Marker marker, String message, Object p0);<a name="line.364"></a>
<span class="sourceLineNo">365</span><a name="line.365"></a>
<span class="sourceLineNo">366</span>    /**<a name="line.366"></a>
<span class="sourceLineNo">367</span>     * Logs a message with parameters at debug level.<a name="line.367"></a>
<span class="sourceLineNo">368</span>     *<a name="line.368"></a>
<span class="sourceLineNo">369</span>     * @param marker the marker data specific to this log statement<a name="line.369"></a>
<span class="sourceLineNo">370</span>     * @param message the message to log; the format depends on the message factory.<a name="line.370"></a>
<span class="sourceLineNo">371</span>     * @param p0 parameter to the message.<a name="line.371"></a>
<span class="sourceLineNo">372</span>     * @param p1 parameter to the message.<a name="line.372"></a>
<span class="sourceLineNo">373</span>     */<a name="line.373"></a>
<span class="sourceLineNo">374</span>    void debug(Marker marker, String message, Object p0, Object p1);<a name="line.374"></a>
<span class="sourceLineNo">375</span><a name="line.375"></a>
<span class="sourceLineNo">376</span>    /**<a name="line.376"></a>
<span class="sourceLineNo">377</span>     * Logs a message with parameters at debug level.<a name="line.377"></a>
<span class="sourceLineNo">378</span>     *<a name="line.378"></a>
<span class="sourceLineNo">379</span>     * @param marker the marker data specific to this log statement<a name="line.379"></a>
<span class="sourceLineNo">380</span>     * @param message the message to log; the format depends on the message factory.<a name="line.380"></a>
<span class="sourceLineNo">381</span>     * @param p0 parameter to the message.<a name="line.381"></a>
<span class="sourceLineNo">382</span>     * @param p1 parameter to the message.<a name="line.382"></a>
<span class="sourceLineNo">383</span>     * @param p2 parameter to the message.<a name="line.383"></a>
<span class="sourceLineNo">384</span>     */<a name="line.384"></a>
<span class="sourceLineNo">385</span>    void debug(Marker marker, String message, Object p0, Object p1, Object p2);<a name="line.385"></a>
<span class="sourceLineNo">386</span><a name="line.386"></a>
<span class="sourceLineNo">387</span>    /**<a name="line.387"></a>
<span class="sourceLineNo">388</span>     * Logs a message with parameters at debug level.<a name="line.388"></a>
<span class="sourceLineNo">389</span>     *<a name="line.389"></a>
<span class="sourceLineNo">390</span>     * @param marker the marker data specific to this log statement<a name="line.390"></a>
<span class="sourceLineNo">391</span>     * @param message the message to log; the format depends on the message factory.<a name="line.391"></a>
<span class="sourceLineNo">392</span>     * @param p0 parameter to the message.<a name="line.392"></a>
<span class="sourceLineNo">393</span>     * @param p1 parameter to the message.<a name="line.393"></a>
<span class="sourceLineNo">394</span>     * @param p2 parameter to the message.<a name="line.394"></a>
<span class="sourceLineNo">395</span>     * @param p3 parameter to the message.<a name="line.395"></a>
<span class="sourceLineNo">396</span>     */<a name="line.396"></a>
<span class="sourceLineNo">397</span>    void debug(Marker marker, String message, Object p0, Object p1, Object p2, Object p3);<a name="line.397"></a>
<span class="sourceLineNo">398</span><a name="line.398"></a>
<span class="sourceLineNo">399</span>    /**<a name="line.399"></a>
<span class="sourceLineNo">400</span>     * Logs a message with parameters at debug level.<a name="line.400"></a>
<span class="sourceLineNo">401</span>     *<a name="line.401"></a>
<span class="sourceLineNo">402</span>     * @param marker the marker data specific to this log statement<a name="line.402"></a>
<span class="sourceLineNo">403</span>     * @param message the message to log; the format depends on the message factory.<a name="line.403"></a>
<span class="sourceLineNo">404</span>     * @param p0 parameter to the message.<a name="line.404"></a>
<span class="sourceLineNo">405</span>     * @param p1 parameter to the message.<a name="line.405"></a>
<span class="sourceLineNo">406</span>     * @param p2 parameter to the message.<a name="line.406"></a>
<span class="sourceLineNo">407</span>     * @param p3 parameter to the message.<a name="line.407"></a>
<span class="sourceLineNo">408</span>     * @param p4 parameter to the message.<a name="line.408"></a>
<span class="sourceLineNo">409</span>     */<a name="line.409"></a>
<span class="sourceLineNo">410</span>    void debug(Marker marker, String message, Object p0, Object p1, Object p2, Object p3, Object p4);<a name="line.410"></a>
<span class="sourceLineNo">411</span><a name="line.411"></a>
<span class="sourceLineNo">412</span>    /**<a name="line.412"></a>
<span class="sourceLineNo">413</span>     * Logs a message with parameters at debug level.<a name="line.413"></a>
<span class="sourceLineNo">414</span>     *<a name="line.414"></a>
<span class="sourceLineNo">415</span>     * @param marker the marker data specific to this log statement<a name="line.415"></a>
<span class="sourceLineNo">416</span>     * @param message the message to log; the format depends on the message factory.<a name="line.416"></a>
<span class="sourceLineNo">417</span>     * @param p0 parameter to the message.<a name="line.417"></a>
<span class="sourceLineNo">418</span>     * @param p1 parameter to the message.<a name="line.418"></a>
<span class="sourceLineNo">419</span>     * @param p2 parameter to the message.<a name="line.419"></a>
<span class="sourceLineNo">420</span>     * @param p3 parameter to the message.<a name="line.420"></a>
<span class="sourceLineNo">421</span>     * @param p4 parameter to the message.<a name="line.421"></a>
<span class="sourceLineNo">422</span>     * @param p5 parameter to the message.<a name="line.422"></a>
<span class="sourceLineNo">423</span>     */<a name="line.423"></a>
<span class="sourceLineNo">424</span>    void debug(Marker marker, String message, Object p0, Object p1, Object p2, Object p3, Object p4, Object p5);<a name="line.424"></a>
<span class="sourceLineNo">425</span><a name="line.425"></a>
<span class="sourceLineNo">426</span>    /**<a name="line.426"></a>
<span class="sourceLineNo">427</span>     * Logs a message with parameters at debug level.<a name="line.427"></a>
<span class="sourceLineNo">428</span>     *<a name="line.428"></a>
<span class="sourceLineNo">429</span>     * @param marker the marker data specific to this log statement<a name="line.429"></a>
<span class="sourceLineNo">430</span>     * @param message the message to log; the format depends on the message factory.<a name="line.430"></a>
<span class="sourceLineNo">431</span>     * @param p0 parameter to the message.<a name="line.431"></a>
<span class="sourceLineNo">432</span>     * @param p1 parameter to the message.<a name="line.432"></a>
<span class="sourceLineNo">433</span>     * @param p2 parameter to the message.<a name="line.433"></a>
<span class="sourceLineNo">434</span>     * @param p3 parameter to the message.<a name="line.434"></a>
<span class="sourceLineNo">435</span>     * @param p4 parameter to the message.<a name="line.435"></a>
<span class="sourceLineNo">436</span>     * @param p5 parameter to the message.<a name="line.436"></a>
<span class="sourceLineNo">437</span>     * @param p6 parameter to the message.<a name="line.437"></a>
<span class="sourceLineNo">438</span>     */<a name="line.438"></a>
<span class="sourceLineNo">439</span>    void debug(Marker marker, String message, Object p0, Object p1, Object p2, Object p3, Object p4, Object p5,<a name="line.439"></a>
<span class="sourceLineNo">440</span>            Object p6);<a name="line.440"></a>
<span class="sourceLineNo">441</span><a name="line.441"></a>
<span class="sourceLineNo">442</span>    /**<a name="line.442"></a>
<span class="sourceLineNo">443</span>     * Logs a message with parameters at debug level.<a name="line.443"></a>
<span class="sourceLineNo">444</span>     *<a name="line.444"></a>
<span class="sourceLineNo">445</span>     * @param marker the marker data specific to this log statement<a name="line.445"></a>
<span class="sourceLineNo">446</span>     * @param message the message to log; the format depends on the message factory.<a name="line.446"></a>
<span class="sourceLineNo">447</span>     * @param p0 parameter to the message.<a name="line.447"></a>
<span class="sourceLineNo">448</span>     * @param p1 parameter to the message.<a name="line.448"></a>
<span class="sourceLineNo">449</span>     * @param p2 parameter to the message.<a name="line.449"></a>
<span class="sourceLineNo">450</span>     * @param p3 parameter to the message.<a name="line.450"></a>
<span class="sourceLineNo">451</span>     * @param p4 parameter to the message.<a name="line.451"></a>
<span class="sourceLineNo">452</span>     * @param p5 parameter to the message.<a name="line.452"></a>
<span class="sourceLineNo">453</span>     * @param p6 parameter to the message.<a name="line.453"></a>
<span class="sourceLineNo">454</span>     * @param p7 parameter to the message.<a name="line.454"></a>
<span class="sourceLineNo">455</span>     */<a name="line.455"></a>
<span class="sourceLineNo">456</span>    void debug(Marker marker, String message, Object p0, Object p1, Object p2, Object p3, Object p4, Object p5, Object p6,<a name="line.456"></a>
<span class="sourceLineNo">457</span>            Object p7);<a name="line.457"></a>
<span class="sourceLineNo">458</span><a name="line.458"></a>
<span class="sourceLineNo">459</span>    /**<a name="line.459"></a>
<span class="sourceLineNo">460</span>     * Logs a message with parameters at debug level.<a name="line.460"></a>
<span class="sourceLineNo">461</span>     *<a name="line.461"></a>
<span class="sourceLineNo">462</span>     * @param marker the marker data specific to this log statement<a name="line.462"></a>
<span class="sourceLineNo">463</span>     * @param message the message to log; the format depends on the message factory.<a name="line.463"></a>
<span class="sourceLineNo">464</span>     * @param p0 parameter to the message.<a name="line.464"></a>
<span class="sourceLineNo">465</span>     * @param p1 parameter to the message.<a name="line.465"></a>
<span class="sourceLineNo">466</span>     * @param p2 parameter to the message.<a name="line.466"></a>
<span class="sourceLineNo">467</span>     * @param p3 parameter to the message.<a name="line.467"></a>
<span class="sourceLineNo">468</span>     * @param p4 parameter to the message.<a name="line.468"></a>
<span class="sourceLineNo">469</span>     * @param p5 parameter to the message.<a name="line.469"></a>
<span class="sourceLineNo">470</span>     * @param p6 parameter to the message.<a name="line.470"></a>
<span class="sourceLineNo">471</span>     * @param p7 parameter to the message.<a name="line.471"></a>
<span class="sourceLineNo">472</span>     * @param p8 parameter to the message.<a name="line.472"></a>
<span class="sourceLineNo">473</span>     */<a name="line.473"></a>
<span class="sourceLineNo">474</span>    void debug(Marker marker, String message, Object p0, Object p1, Object p2, Object p3, Object p4, Object p5, Object p6,<a name="line.474"></a>
<span class="sourceLineNo">475</span>            Object p7, Object p8);<a name="line.475"></a>
<span class="sourceLineNo">476</span><a name="line.476"></a>
<span class="sourceLineNo">477</span>    /**<a name="line.477"></a>
<span class="sourceLineNo">478</span>     * Logs a message with parameters at debug level.<a name="line.478"></a>
<span class="sourceLineNo">479</span>     *<a name="line.479"></a>
<span class="sourceLineNo">480</span>     * @param marker the marker data specific to this log statement<a name="line.480"></a>
<span class="sourceLineNo">481</span>     * @param message the message to log; the format depends on the message factory.<a name="line.481"></a>
<span class="sourceLineNo">482</span>     * @param p0 parameter to the message.<a name="line.482"></a>
<span class="sourceLineNo">483</span>     * @param p1 parameter to the message.<a name="line.483"></a>
<span class="sourceLineNo">484</span>     * @param p2 parameter to the message.<a name="line.484"></a>
<span class="sourceLineNo">485</span>     * @param p3 parameter to the message.<a name="line.485"></a>
<span class="sourceLineNo">486</span>     * @param p4 parameter to the message.<a name="line.486"></a>
<span class="sourceLineNo">487</span>     * @param p5 parameter to the message.<a name="line.487"></a>
<span class="sourceLineNo">488</span>     * @param p6 parameter to the message.<a name="line.488"></a>
<span class="sourceLineNo">489</span>     * @param p7 parameter to the message.<a name="line.489"></a>
<span class="sourceLineNo">490</span>     * @param p8 parameter to the message.<a name="line.490"></a>
<span class="sourceLineNo">491</span>     * @param p9 parameter to the message.<a name="line.491"></a>
<span class="sourceLineNo">492</span>     */<a name="line.492"></a>
<span class="sourceLineNo">493</span>    void debug(Marker marker, String message, Object p0, Object p1, Object p2, Object p3, Object p4, Object p5, Object p6,<a name="line.493"></a>
<span class="sourceLineNo">494</span>            Object p7, Object p8, Object p9);<a name="line.494"></a>
<span class="sourceLineNo">495</span><a name="line.495"></a>
<span class="sourceLineNo">496</span>    /**<a name="line.496"></a>
<span class="sourceLineNo">497</span>     * Logs a message with parameters at debug level.<a name="line.497"></a>
<span class="sourceLineNo">498</span>     *<a name="line.498"></a>
<span class="sourceLineNo">499</span>     * @param message the message to log; the format depends on the message factory.<a name="line.499"></a>
<span class="sourceLineNo">500</span>     * @param p0 parameter to the message.<a name="line.500"></a>
<span class="sourceLineNo">501</span>     */<a name="line.501"></a>
<span class="sourceLineNo">502</span>    void debug(String message, Object p0);<a name="line.502"></a>
<span class="sourceLineNo">503</span><a name="line.503"></a>
<span class="sourceLineNo">504</span>    /**<a name="line.504"></a>
<span class="sourceLineNo">505</span>     * Logs a message with parameters at debug level.<a name="line.505"></a>
<span class="sourceLineNo">506</span>     *<a name="line.506"></a>
<span class="sourceLineNo">507</span>     * @param message the message to log; the format depends on the message factory.<a name="line.507"></a>
<span class="sourceLineNo">508</span>     * @param p0 parameter to the message.<a name="line.508"></a>
<span class="sourceLineNo">509</span>     * @param p1 parameter to the message.<a name="line.509"></a>
<span class="sourceLineNo">510</span>     */<a name="line.510"></a>
<span class="sourceLineNo">511</span>    void debug(String message, Object p0, Object p1);<a name="line.511"></a>
<span class="sourceLineNo">512</span><a name="line.512"></a>
<span class="sourceLineNo">513</span>    /**<a name="line.513"></a>
<span class="sourceLineNo">514</span>     * Logs a message with parameters at debug level.<a name="line.514"></a>
<span class="sourceLineNo">515</span>     *<a name="line.515"></a>
<span class="sourceLineNo">516</span>     * @param message the message to log; the format depends on the message factory.<a name="line.516"></a>
<span class="sourceLineNo">517</span>     * @param p0 parameter to the message.<a name="line.517"></a>
<span class="sourceLineNo">518</span>     * @param p1 parameter to the message.<a name="line.518"></a>
<span class="sourceLineNo">519</span>     * @param p2 parameter to the message.<a name="line.519"></a>
<span class="sourceLineNo">520</span>     */<a name="line.520"></a>
<span class="sourceLineNo">521</span>    void debug(String message, Object p0, Object p1, Object p2);<a name="line.521"></a>
<span class="sourceLineNo">522</span><a name="line.522"></a>
<span class="sourceLineNo">523</span>    /**<a name="line.523"></a>
<span class="sourceLineNo">524</span>     * Logs a message with parameters at debug level.<a name="line.524"></a>
<span class="sourceLineNo">525</span>     *<a name="line.525"></a>
<span class="sourceLineNo">526</span>     * @param message the message to log; the format depends on the message factory.<a name="line.526"></a>
<span class="sourceLineNo">527</span>     * @param p0 parameter to the message.<a name="line.527"></a>
<span class="sourceLineNo">528</span>     * @param p1 parameter to the message.<a name="line.528"></a>
<span class="sourceLineNo">529</span>     * @param p2 parameter to the message.<a name="line.529"></a>
<span class="sourceLineNo">530</span>     * @param p3 parameter to the message.<a name="line.530"></a>
<span class="sourceLineNo">531</span>     */<a name="line.531"></a>
<span class="sourceLineNo">532</span>    void debug(String message, Object p0, Object p1, Object p2, Object p3);<a name="line.532"></a>
<span class="sourceLineNo">533</span><a name="line.533"></a>
<span class="sourceLineNo">534</span>    /**<a name="line.534"></a>
<span class="sourceLineNo">535</span>     * Logs a message with parameters at debug level.<a name="line.535"></a>
<span class="sourceLineNo">536</span>     *<a name="line.536"></a>
<span class="sourceLineNo">537</span>     * @param message the message to log; the format depends on the message factory.<a name="line.537"></a>
<span class="sourceLineNo">538</span>     * @param p0 parameter to the message.<a name="line.538"></a>
<span class="sourceLineNo">539</span>     * @param p1 parameter to the message.<a name="line.539"></a>
<span class="sourceLineNo">540</span>     * @param p2 parameter to the message.<a name="line.540"></a>
<span class="sourceLineNo">541</span>     * @param p3 parameter to the message.<a name="line.541"></a>
<span class="sourceLineNo">542</span>     * @param p4 parameter to the message.<a name="line.542"></a>
<span class="sourceLineNo">543</span>     */<a name="line.543"></a>
<span class="sourceLineNo">544</span>    void debug(String message, Object p0, Object p1, Object p2, Object p3, Object p4);<a name="line.544"></a>
<span class="sourceLineNo">545</span><a name="line.545"></a>
<span class="sourceLineNo">546</span>    /**<a name="line.546"></a>
<span class="sourceLineNo">547</span>     * Logs a message with parameters at debug level.<a name="line.547"></a>
<span class="sourceLineNo">548</span>     *<a name="line.548"></a>
<span class="sourceLineNo">549</span>     * @param message the message to log; the format depends on the message factory.<a name="line.549"></a>
<span class="sourceLineNo">550</span>     * @param p0 parameter to the message.<a name="line.550"></a>
<span class="sourceLineNo">551</span>     * @param p1 parameter to the message.<a name="line.551"></a>
<span class="sourceLineNo">552</span>     * @param p2 parameter to the message.<a name="line.552"></a>
<span class="sourceLineNo">553</span>     * @param p3 parameter to the message.<a name="line.553"></a>
<span class="sourceLineNo">554</span>     * @param p4 parameter to the message.<a name="line.554"></a>
<span class="sourceLineNo">555</span>     * @param p5 parameter to the message.<a name="line.555"></a>
<span class="sourceLineNo">556</span>     */<a name="line.556"></a>
<span class="sourceLineNo">557</span>    void debug(String message, Object p0, Object p1, Object p2, Object p3, Object p4, Object p5);<a name="line.557"></a>
<span class="sourceLineNo">558</span><a name="line.558"></a>
<span class="sourceLineNo">559</span>    /**<a name="line.559"></a>
<span class="sourceLineNo">560</span>     * Logs a message with parameters at debug level.<a name="line.560"></a>
<span class="sourceLineNo">561</span>     *<a name="line.561"></a>
<span class="sourceLineNo">562</span>     * @param message the message to log; the format depends on the message factory.<a name="line.562"></a>
<span class="sourceLineNo">563</span>     * @param p0 parameter to the message.<a name="line.563"></a>
<span class="sourceLineNo">564</span>     * @param p1 parameter to the message.<a name="line.564"></a>
<span class="sourceLineNo">565</span>     * @param p2 parameter to the message.<a name="line.565"></a>
<span class="sourceLineNo">566</span>     * @param p3 parameter to the message.<a name="line.566"></a>
<span class="sourceLineNo">567</span>     * @param p4 parameter to the message.<a name="line.567"></a>
<span class="sourceLineNo">568</span>     * @param p5 parameter to the message.<a name="line.568"></a>
<span class="sourceLineNo">569</span>     * @param p6 parameter to the message.<a name="line.569"></a>
<span class="sourceLineNo">570</span>     */<a name="line.570"></a>
<span class="sourceLineNo">571</span>    void debug(String message, Object p0, Object p1, Object p2, Object p3, Object p4, Object p5, Object p6);<a name="line.571"></a>
<span class="sourceLineNo">572</span><a name="line.572"></a>
<span class="sourceLineNo">573</span>    /**<a name="line.573"></a>
<span class="sourceLineNo">574</span>     * Logs a message with parameters at debug level.<a name="line.574"></a>
<span class="sourceLineNo">575</span>     *<a name="line.575"></a>
<span class="sourceLineNo">576</span>     * @param message the message to log; the format depends on the message factory.<a name="line.576"></a>
<span class="sourceLineNo">577</span>     * @param p0 parameter to the message.<a name="line.577"></a>
<span class="sourceLineNo">578</span>     * @param p1 parameter to the message.<a name="line.578"></a>
<span class="sourceLineNo">579</span>     * @param p2 parameter to the message.<a name="line.579"></a>
<span class="sourceLineNo">580</span>     * @param p3 parameter to the message.<a name="line.580"></a>
<span class="sourceLineNo">581</span>     * @param p4 parameter to the message.<a name="line.581"></a>
<span class="sourceLineNo">582</span>     * @param p5 parameter to the message.<a name="line.582"></a>
<span class="sourceLineNo">583</span>     * @param p6 parameter to the message.<a name="line.583"></a>
<span class="sourceLineNo">584</span>     * @param p7 parameter to the message.<a name="line.584"></a>
<span class="sourceLineNo">585</span>     */<a name="line.585"></a>
<span class="sourceLineNo">586</span>    void debug(String message, Object p0, Object p1, Object p2, Object p3, Object p4, Object p5, Object p6, Object p7);<a name="line.586"></a>
<span class="sourceLineNo">587</span><a name="line.587"></a>
<span class="sourceLineNo">588</span>    /**<a name="line.588"></a>
<span class="sourceLineNo">589</span>     * Logs a message with parameters at debug level.<a name="line.589"></a>
<span class="sourceLineNo">590</span>     *<a name="line.590"></a>
<span class="sourceLineNo">591</span>     * @param message the message to log; the format depends on the message factory.<a name="line.591"></a>
<span class="sourceLineNo">592</span>     * @param p0 parameter to the message.<a name="line.592"></a>
<span class="sourceLineNo">593</span>     * @param p1 parameter to the message.<a name="line.593"></a>
<span class="sourceLineNo">594</span>     * @param p2 parameter to the message.<a name="line.594"></a>
<span class="sourceLineNo">595</span>     * @param p3 parameter to the message.<a name="line.595"></a>
<span class="sourceLineNo">596</span>     * @param p4 parameter to the message.<a name="line.596"></a>
<span class="sourceLineNo">597</span>     * @param p5 parameter to the message.<a name="line.597"></a>
<span class="sourceLineNo">598</span>     * @param p6 parameter to the message.<a name="line.598"></a>
<span class="sourceLineNo">599</span>     * @param p7 parameter to the message.<a name="line.599"></a>
<span class="sourceLineNo">600</span>     * @param p8 parameter to the message.<a name="line.600"></a>
<span class="sourceLineNo">601</span>     */<a name="line.601"></a>
<span class="sourceLineNo">602</span>    void debug(String message, Object p0, Object p1, Object p2, Object p3, Object p4, Object p5, Object p6, Object p7,<a name="line.602"></a>
<span class="sourceLineNo">603</span>            Object p8);<a name="line.603"></a>
<span class="sourceLineNo">604</span><a name="line.604"></a>
<span class="sourceLineNo">605</span>    /**<a name="line.605"></a>
<span class="sourceLineNo">606</span>     * Logs a message with parameters at debug level.<a name="line.606"></a>
<span class="sourceLineNo">607</span>     *<a name="line.607"></a>
<span class="sourceLineNo">608</span>     * @param message the message to log; the format depends on the message factory.<a name="line.608"></a>
<span class="sourceLineNo">609</span>     * @param p0 parameter to the message.<a name="line.609"></a>
<span class="sourceLineNo">610</span>     * @param p1 parameter to the message.<a name="line.610"></a>
<span class="sourceLineNo">611</span>     * @param p2 parameter to the message.<a name="line.611"></a>
<span class="sourceLineNo">612</span>     * @param p3 parameter to the message.<a name="line.612"></a>
<span class="sourceLineNo">613</span>     * @param p4 parameter to the message.<a name="line.613"></a>
<span class="sourceLineNo">614</span>     * @param p5 parameter to the message.<a name="line.614"></a>
<span class="sourceLineNo">615</span>     * @param p6 parameter to the message.<a name="line.615"></a>
<span class="sourceLineNo">616</span>     * @param p7 parameter to the message.<a name="line.616"></a>
<span class="sourceLineNo">617</span>     * @param p8 parameter to the message.<a name="line.617"></a>
<span class="sourceLineNo">618</span>     * @param p9 parameter to the message.<a name="line.618"></a>
<span class="sourceLineNo">619</span>     */<a name="line.619"></a>
<span class="sourceLineNo">620</span>    void debug(String message, Object p0, Object p1, Object p2, Object p3, Object p4, Object p5, Object p6, Object p7,<a name="line.620"></a>
<span class="sourceLineNo">621</span>            Object p8, Object p9);<a name="line.621"></a>
<span class="sourceLineNo">622</span><a name="line.622"></a>
<span class="sourceLineNo">623</span>    /**<a name="line.623"></a>
<span class="sourceLineNo">624</span>     * Logs entry to a method. Used when the method in question has no parameters or when the parameters should not be<a name="line.624"></a>
<span class="sourceLineNo">625</span>     * logged.<a name="line.625"></a>
<span class="sourceLineNo">626</span>     * @deprecated Use {@link #traceEntry()} instead which performs the same function.<a name="line.626"></a>
<span class="sourceLineNo">627</span>     */<a name="line.627"></a>
<span class="sourceLineNo">628</span>    @Deprecated<a name="line.628"></a>
<span class="sourceLineNo">629</span>    void entry();<a name="line.629"></a>
<span class="sourceLineNo">630</span><a name="line.630"></a>
<span class="sourceLineNo">631</span>    /**<a name="line.631"></a>
<span class="sourceLineNo">632</span>     * Logs entry to a method along with its parameters (consider using one of the {@code traceEntry(...)} methods instead.)<a name="line.632"></a>
<span class="sourceLineNo">633</span>     * &lt;p&gt;<a name="line.633"></a>
<span class="sourceLineNo">634</span>     * For example:<a name="line.634"></a>
<span class="sourceLineNo">635</span>     * &lt;/p&gt;<a name="line.635"></a>
<span class="sourceLineNo">636</span>     * &lt;pre&gt;<a name="line.636"></a>
<span class="sourceLineNo">637</span>     * public void doSomething(String foo, int bar) {<a name="line.637"></a>
<span class="sourceLineNo">638</span>     *     LOGGER.entry(foo, bar);<a name="line.638"></a>
<span class="sourceLineNo">639</span>     *     // do something<a name="line.639"></a>
<span class="sourceLineNo">640</span>     * }<a name="line.640"></a>
<span class="sourceLineNo">641</span>     * &lt;/pre&gt;<a name="line.641"></a>
<span class="sourceLineNo">642</span>     * &lt;p&gt;<a name="line.642"></a>
<span class="sourceLineNo">643</span>     * The use of methods such as this are more effective when combined with aspect-oriented programming or other<a name="line.643"></a>
<span class="sourceLineNo">644</span>     * bytecode manipulation tools. It can be rather tedious (and messy) to use this type of method manually.<a name="line.644"></a>
<span class="sourceLineNo">645</span>     * &lt;/p&gt;<a name="line.645"></a>
<span class="sourceLineNo">646</span>     *<a name="line.646"></a>
<span class="sourceLineNo">647</span>     * @param params The parameters to the method.<a name="line.647"></a>
<span class="sourceLineNo">648</span>     * @deprecated Use {@link #traceEntry(String, Object...)} instead which performs the same function.<a name="line.648"></a>
<span class="sourceLineNo">649</span>     */<a name="line.649"></a>
<span class="sourceLineNo">650</span>    @Deprecated<a name="line.650"></a>
<span class="sourceLineNo">651</span>    void entry(Object... params);<a name="line.651"></a>
<span class="sourceLineNo">652</span><a name="line.652"></a>
<span class="sourceLineNo">653</span>    /**<a name="line.653"></a>
<span class="sourceLineNo">654</span>     * Logs a message with the specific Marker at the {@link Level#ERROR ERROR} level.<a name="line.654"></a>
<span class="sourceLineNo">655</span>     *<a name="line.655"></a>
<span class="sourceLineNo">656</span>     * @param marker the marker data specific to this log statement<a name="line.656"></a>
<span class="sourceLineNo">657</span>     * @param msg the message string to be logged<a name="line.657"></a>
<span class="sourceLineNo">658</span>     */<a name="line.658"></a>
<span class="sourceLineNo">659</span>    void error(Marker marker, Message msg);<a name="line.659"></a>
<span class="sourceLineNo">660</span><a name="line.660"></a>
<span class="sourceLineNo">661</span>    /**<a name="line.661"></a>
<span class="sourceLineNo">662</span>     * Logs a message with the specific Marker at the {@link Level#ERROR ERROR} level.<a name="line.662"></a>
<span class="sourceLineNo">663</span>     *<a name="line.663"></a>
<span class="sourceLineNo">664</span>     * @param marker the marker data specific to this log statement<a name="line.664"></a>
<span class="sourceLineNo">665</span>     * @param msg the message string to be logged<a name="line.665"></a>
<span class="sourceLineNo">666</span>     * @param t A Throwable or null.<a name="line.666"></a>
<span class="sourceLineNo">667</span>     */<a name="line.667"></a>
<span class="sourceLineNo">668</span>    void error(Marker marker, Message msg, Throwable t);<a name="line.668"></a>
<span class="sourceLineNo">669</span><a name="line.669"></a>
<span class="sourceLineNo">670</span>    /**<a name="line.670"></a>
<span class="sourceLineNo">671</span>     * Logs a message which is only to be constructed if the logging level is the {@link Level#ERROR ERROR} level with<a name="line.671"></a>
<span class="sourceLineNo">672</span>     * the specified Marker. The {@code MessageSupplier} may or may not use the {@link MessageFactory} to construct the<a name="line.672"></a>
<span class="sourceLineNo">673</span>     * {@code Message}.<a name="line.673"></a>
<span class="sourceLineNo">674</span>     *<a name="line.674"></a>
<span class="sourceLineNo">675</span>     * @param marker the marker data specific to this log statement<a name="line.675"></a>
<span class="sourceLineNo">676</span>     * @param msgSupplier A function, which when called, produces the desired log message.<a name="line.676"></a>
<span class="sourceLineNo">677</span>     * @since 2.4<a name="line.677"></a>
<span class="sourceLineNo">678</span>     */<a name="line.678"></a>
<span class="sourceLineNo">679</span>    void error(Marker marker, MessageSupplier msgSupplier);<a name="line.679"></a>
<span class="sourceLineNo">680</span><a name="line.680"></a>
<span class="sourceLineNo">681</span>    /**<a name="line.681"></a>
<span class="sourceLineNo">682</span>     * Logs a message (only to be constructed if the logging level is the {@link Level#ERROR ERROR} level) with the<a name="line.682"></a>
<span class="sourceLineNo">683</span>     * specified Marker and including the stack trace of the {@link Throwable} &lt;code&gt;t&lt;/code&gt; passed as parameter. The<a name="line.683"></a>
<span class="sourceLineNo">684</span>     * {@code MessageSupplier} may or may not use the {@link MessageFactory} to construct the {@code Message}.<a name="line.684"></a>
<span class="sourceLineNo">685</span>     *<a name="line.685"></a>
<span class="sourceLineNo">686</span>     * @param marker the marker data specific to this log statement<a name="line.686"></a>
<span class="sourceLineNo">687</span>     * @param msgSupplier A function, which when called, produces the desired log message.<a name="line.687"></a>
<span class="sourceLineNo">688</span>     * @param t A Throwable or null.<a name="line.688"></a>
<span class="sourceLineNo">689</span>     * @since 2.4<a name="line.689"></a>
<span class="sourceLineNo">690</span>     */<a name="line.690"></a>
<span class="sourceLineNo">691</span>    void error(Marker marker, MessageSupplier msgSupplier, Throwable t);<a name="line.691"></a>
<span class="sourceLineNo">692</span><a name="line.692"></a>
<span class="sourceLineNo">693</span>    /**<a name="line.693"></a>
<span class="sourceLineNo">694</span>     * Logs a message CharSequence with the {@link Level#ERROR ERROR} level.<a name="line.694"></a>
<span class="sourceLineNo">695</span>     *<a name="line.695"></a>
<span class="sourceLineNo">696</span>     * @param marker the marker data specific to this log statement.<a name="line.696"></a>
<span class="sourceLineNo">697</span>     * @param message the message CharSequence to log.<a name="line.697"></a>
<span class="sourceLineNo">698</span>     */<a name="line.698"></a>
<span class="sourceLineNo">699</span>    void error(Marker marker, CharSequence message);<a name="line.699"></a>
<span class="sourceLineNo">700</span><a name="line.700"></a>
<span class="sourceLineNo">701</span>    /**<a name="line.701"></a>
<span class="sourceLineNo">702</span>     * Logs a CharSequence at the {@link Level#ERROR ERROR} level including the stack trace of the {@link Throwable}<a name="line.702"></a>
<span class="sourceLineNo">703</span>     * &lt;code&gt;t&lt;/code&gt; passed as parameter.<a name="line.703"></a>
<span class="sourceLineNo">704</span>     *<a name="line.704"></a>
<span class="sourceLineNo">705</span>     * @param marker the marker data specific to this log statement.<a name="line.705"></a>
<span class="sourceLineNo">706</span>     * @param message the message CharSequence to log.<a name="line.706"></a>
<span class="sourceLineNo">707</span>     * @param t the exception to log, including its stack trace.<a name="line.707"></a>
<span class="sourceLineNo">708</span>     */<a name="line.708"></a>
<span class="sourceLineNo">709</span>    void error(Marker marker, CharSequence message, Throwable t);<a name="line.709"></a>
<span class="sourceLineNo">710</span><a name="line.710"></a>
<span class="sourceLineNo">711</span>    /**<a name="line.711"></a>
<span class="sourceLineNo">712</span>     * Logs a message object with the {@link Level#ERROR ERROR} level.<a name="line.712"></a>
<span class="sourceLineNo">713</span>     *<a name="line.713"></a>
<span class="sourceLineNo">714</span>     * @param marker the marker data specific to this log statement.<a name="line.714"></a>
<span class="sourceLineNo">715</span>     * @param message the message object to log.<a name="line.715"></a>
<span class="sourceLineNo">716</span>     */<a name="line.716"></a>
<span class="sourceLineNo">717</span>    void error(Marker marker, Object message);<a name="line.717"></a>
<span class="sourceLineNo">718</span><a name="line.718"></a>
<span class="sourceLineNo">719</span>    /**<a name="line.719"></a>
<span class="sourceLineNo">720</span>     * Logs a message at the {@link Level#ERROR ERROR} level including the stack trace of the {@link Throwable}<a name="line.720"></a>
<span class="sourceLineNo">721</span>     * &lt;code&gt;t&lt;/code&gt; passed as parameter.<a name="line.721"></a>
<span class="sourceLineNo">722</span>     *<a name="line.722"></a>
<span class="sourceLineNo">723</span>     * @param marker the marker data specific to this log statement.<a name="line.723"></a>
<span class="sourceLineNo">724</span>     * @param message the message object to log.<a name="line.724"></a>
<span class="sourceLineNo">725</span>     * @param t the exception to log, including its stack trace.<a name="line.725"></a>
<span class="sourceLineNo">726</span>     */<a name="line.726"></a>
<span class="sourceLineNo">727</span>    void error(Marker marker, Object message, Throwable t);<a name="line.727"></a>
<span class="sourceLineNo">728</span><a name="line.728"></a>
<span class="sourceLineNo">729</span>    /**<a name="line.729"></a>
<span class="sourceLineNo">730</span>     * Logs a message object with the {@link Level#ERROR ERROR} level.<a name="line.730"></a>
<span class="sourceLineNo">731</span>     *<a name="line.731"></a>
<span class="sourceLineNo">732</span>     * @param marker the marker data specific to this log statement.<a name="line.732"></a>
<span class="sourceLineNo">733</span>     * @param message the message object to log.<a name="line.733"></a>
<span class="sourceLineNo">734</span>     */<a name="line.734"></a>
<span class="sourceLineNo">735</span>    void error(Marker marker, String message);<a name="line.735"></a>
<span class="sourceLineNo">736</span><a name="line.736"></a>
<span class="sourceLineNo">737</span>    /**<a name="line.737"></a>
<span class="sourceLineNo">738</span>     * Logs a message with parameters at the {@link Level#ERROR ERROR} level.<a name="line.738"></a>
<span class="sourceLineNo">739</span>     *<a name="line.739"></a>
<span class="sourceLineNo">740</span>     * @param marker the marker data specific to this log statement.<a name="line.740"></a>
<span class="sourceLineNo">741</span>     * @param message the message to log; the format depends on the message factory.<a name="line.741"></a>
<span class="sourceLineNo">742</span>     * @param params parameters to the message.<a name="line.742"></a>
<span class="sourceLineNo">743</span>     * @see #getMessageFactory()<a name="line.743"></a>
<span class="sourceLineNo">744</span>     */<a name="line.744"></a>
<span class="sourceLineNo">745</span>    void error(Marker marker, String message, Object... params);<a name="line.745"></a>
<span class="sourceLineNo">746</span><a name="line.746"></a>
<span class="sourceLineNo">747</span>    /**<a name="line.747"></a>
<span class="sourceLineNo">748</span>     * Logs a message with parameters which are only to be constructed if the logging level is the {@link Level#ERROR<a name="line.748"></a>
<span class="sourceLineNo">749</span>     * ERROR} level.<a name="line.749"></a>
<span class="sourceLineNo">750</span>     *<a name="line.750"></a>
<span class="sourceLineNo">751</span>     * @param marker the marker data specific to this log statement<a name="line.751"></a>
<span class="sourceLineNo">752</span>     * @param message the message to log; the format depends on the message factory.<a name="line.752"></a>
<span class="sourceLineNo">753</span>     * @param paramSuppliers An array of functions, which when called, produce the desired log message parameters.<a name="line.753"></a>
<span class="sourceLineNo">754</span>     * @since 2.4<a name="line.754"></a>
<span class="sourceLineNo">755</span>     */<a name="line.755"></a>
<span class="sourceLineNo">756</span>    void error(Marker marker, String message, Supplier&lt;?&gt;... paramSuppliers);<a name="line.756"></a>
<span class="sourceLineNo">757</span><a name="line.757"></a>
<span class="sourceLineNo">758</span>    /**<a name="line.758"></a>
<span class="sourceLineNo">759</span>     * Logs a message at the {@link Level#ERROR ERROR} level including the stack trace of the {@link Throwable}<a name="line.759"></a>
<span class="sourceLineNo">760</span>     * &lt;code&gt;t&lt;/code&gt; passed as parameter.<a name="line.760"></a>
<span class="sourceLineNo">761</span>     *<a name="line.761"></a>
<span class="sourceLineNo">762</span>     * @param marker the marker data specific to this log statement.<a name="line.762"></a>
<span class="sourceLineNo">763</span>     * @param message the message object to log.<a name="line.763"></a>
<span class="sourceLineNo">764</span>     * @param t the exception to log, including its stack trace.<a name="line.764"></a>
<span class="sourceLineNo">765</span>     */<a name="line.765"></a>
<span class="sourceLineNo">766</span>    void error(Marker marker, String message, Throwable t);<a name="line.766"></a>
<span class="sourceLineNo">767</span><a name="line.767"></a>
<span class="sourceLineNo">768</span>    /**<a name="line.768"></a>
<span class="sourceLineNo">769</span>     * Logs a message which is only to be constructed if the logging level is the {@link Level#ERROR ERROR} level with<a name="line.769"></a>
<span class="sourceLineNo">770</span>     * the specified Marker.<a name="line.770"></a>
<span class="sourceLineNo">771</span>     *<a name="line.771"></a>
<span class="sourceLineNo">772</span>     * @param marker the marker data specific to this log statement<a name="line.772"></a>
<span class="sourceLineNo">773</span>     * @param msgSupplier A function, which when called, produces the desired log message; the format depends on the<a name="line.773"></a>
<span class="sourceLineNo">774</span>     *            message factory.<a name="line.774"></a>
<span class="sourceLineNo">775</span>     * @since 2.4<a name="line.775"></a>
<span class="sourceLineNo">776</span>     */<a name="line.776"></a>
<span class="sourceLineNo">777</span>    void error(Marker marker, Supplier&lt;?&gt; msgSupplier);<a name="line.777"></a>
<span class="sourceLineNo">778</span><a name="line.778"></a>
<span class="sourceLineNo">779</span>    /**<a name="line.779"></a>
<span class="sourceLineNo">780</span>     * Logs a message (only to be constructed if the logging level is the {@link Level#ERROR ERROR} level) with the<a name="line.780"></a>
<span class="sourceLineNo">781</span>     * specified Marker and including the stack trace of the {@link Throwable} &lt;code&gt;t&lt;/code&gt; passed as parameter.<a name="line.781"></a>
<span class="sourceLineNo">782</span>     *<a name="line.782"></a>
<span class="sourceLineNo">783</span>     * @param marker the marker data specific to this log statement<a name="line.783"></a>
<span class="sourceLineNo">784</span>     * @param msgSupplier A function, which when called, produces the desired log message; the format depends on the<a name="line.784"></a>
<span class="sourceLineNo">785</span>     *            message factory.<a name="line.785"></a>
<span class="sourceLineNo">786</span>     * @param t A Throwable or null.<a name="line.786"></a>
<span class="sourceLineNo">787</span>     * @since 2.4<a name="line.787"></a>
<span class="sourceLineNo">788</span>     */<a name="line.788"></a>
<span class="sourceLineNo">789</span>    void error(Marker marker, Supplier&lt;?&gt; msgSupplier, Throwable t);<a name="line.789"></a>
<span class="sourceLineNo">790</span><a name="line.790"></a>
<span class="sourceLineNo">791</span>    /**<a name="line.791"></a>
<span class="sourceLineNo">792</span>     * Logs a message with the specific Marker at the {@link Level#ERROR ERROR} level.<a name="line.792"></a>
<span class="sourceLineNo">793</span>     *<a name="line.793"></a>
<span class="sourceLineNo">794</span>     * @param msg the message string to be logged<a name="line.794"></a>
<span class="sourceLineNo">795</span>     */<a name="line.795"></a>
<span class="sourceLineNo">796</span>    void error(Message msg);<a name="line.796"></a>
<span class="sourceLineNo">797</span><a name="line.797"></a>
<span class="sourceLineNo">798</span>    /**<a name="line.798"></a>
<span class="sourceLineNo">799</span>     * Logs a message with the specific Marker at the {@link Level#ERROR ERROR} level.<a name="line.799"></a>
<span class="sourceLineNo">800</span>     *<a name="line.800"></a>
<span class="sourceLineNo">801</span>     * @param msg the message string to be logged<a name="line.801"></a>
<span class="sourceLineNo">802</span>     * @param t A Throwable or null.<a name="line.802"></a>
<span class="sourceLineNo">803</span>     */<a name="line.803"></a>
<span class="sourceLineNo">804</span>    void error(Message msg, Throwable t);<a name="line.804"></a>
<span class="sourceLineNo">805</span><a name="line.805"></a>
<span class="sourceLineNo">806</span>    /**<a name="line.806"></a>
<span class="sourceLineNo">807</span>     * Logs a message which is only to be constructed if the logging level is the {@link Level#ERROR ERROR} level. The<a name="line.807"></a>
<span class="sourceLineNo">808</span>     * {@code MessageSupplier} may or may not use the {@link MessageFactory} to construct the {@code Message}.<a name="line.808"></a>
<span class="sourceLineNo">809</span>     *<a name="line.809"></a>
<span class="sourceLineNo">810</span>     * @param msgSupplier A function, which when called, produces the desired log message.<a name="line.810"></a>
<span class="sourceLineNo">811</span>     * @since 2.4<a name="line.811"></a>
<span class="sourceLineNo">812</span>     */<a name="line.812"></a>
<span class="sourceLineNo">813</span>    void error(MessageSupplier msgSupplier);<a name="line.813"></a>
<span class="sourceLineNo">814</span><a name="line.814"></a>
<span class="sourceLineNo">815</span>    /**<a name="line.815"></a>
<span class="sourceLineNo">816</span>     * Logs a message (only to be constructed if the logging level is the {@link Level#ERROR ERROR} level) including the<a name="line.816"></a>
<span class="sourceLineNo">817</span>     * stack trace of the {@link Throwable} &lt;code&gt;t&lt;/code&gt; passed as parameter. The {@code MessageSupplier} may or may<a name="line.817"></a>
<span class="sourceLineNo">818</span>     * not use the {@link MessageFactory} to construct the {@code Message}.<a name="line.818"></a>
<span class="sourceLineNo">819</span>     *<a name="line.819"></a>
<span class="sourceLineNo">820</span>     * @param msgSupplier A function, which when called, produces the desired log message.<a name="line.820"></a>
<span class="sourceLineNo">821</span>     * @param t the exception to log, including its stack trace.<a name="line.821"></a>
<span class="sourceLineNo">822</span>     * @since 2.4<a name="line.822"></a>
<span class="sourceLineNo">823</span>     */<a name="line.823"></a>
<span class="sourceLineNo">824</span>    void error(MessageSupplier msgSupplier, Throwable t);<a name="line.824"></a>
<span class="sourceLineNo">825</span><a name="line.825"></a>
<span class="sourceLineNo">826</span>    /**<a name="line.826"></a>
<span class="sourceLineNo">827</span>     * Logs a message CharSequence with the {@link Level#ERROR ERROR} level.<a name="line.827"></a>
<span class="sourceLineNo">828</span>     *<a name="line.828"></a>
<span class="sourceLineNo">829</span>     * @param message the message CharSequence to log.<a name="line.829"></a>
<span class="sourceLineNo">830</span>     */<a name="line.830"></a>
<span class="sourceLineNo">831</span>    void error(CharSequence message);<a name="line.831"></a>
<span class="sourceLineNo">832</span><a name="line.832"></a>
<span class="sourceLineNo">833</span>    /**<a name="line.833"></a>
<span class="sourceLineNo">834</span>     * Logs a CharSequence at the {@link Level#ERROR ERROR} level including the stack trace of the {@link Throwable}<a name="line.834"></a>
<span class="sourceLineNo">835</span>     * &lt;code&gt;t&lt;/code&gt; passed as parameter.<a name="line.835"></a>
<span class="sourceLineNo">836</span>     *<a name="line.836"></a>
<span class="sourceLineNo">837</span>     * @param message the message CharSequence to log.<a name="line.837"></a>
<span class="sourceLineNo">838</span>     * @param t the exception to log, including its stack trace.<a name="line.838"></a>
<span class="sourceLineNo">839</span>     */<a name="line.839"></a>
<span class="sourceLineNo">840</span>    void error(CharSequence message, Throwable t);<a name="line.840"></a>
<span class="sourceLineNo">841</span><a name="line.841"></a>
<span class="sourceLineNo">842</span>    /**<a name="line.842"></a>
<span class="sourceLineNo">843</span>     * Logs a message object with the {@link Level#ERROR ERROR} level.<a name="line.843"></a>
<span class="sourceLineNo">844</span>     *<a name="line.844"></a>
<span class="sourceLineNo">845</span>     * @param message the message object to log.<a name="line.845"></a>
<span class="sourceLineNo">846</span>     */<a name="line.846"></a>
<span class="sourceLineNo">847</span>    void error(Object message);<a name="line.847"></a>
<span class="sourceLineNo">848</span><a name="line.848"></a>
<span class="sourceLineNo">849</span>    /**<a name="line.849"></a>
<span class="sourceLineNo">850</span>     * Logs a message at the {@link Level#ERROR ERROR} level including the stack trace of the {@link Throwable}<a name="line.850"></a>
<span class="sourceLineNo">851</span>     * &lt;code&gt;t&lt;/code&gt; passed as parameter.<a name="line.851"></a>
<span class="sourceLineNo">852</span>     *<a name="line.852"></a>
<span class="sourceLineNo">853</span>     * @param message the message object to log.<a name="line.853"></a>
<span class="sourceLineNo">854</span>     * @param t the exception to log, including its stack trace.<a name="line.854"></a>
<span class="sourceLineNo">855</span>     */<a name="line.855"></a>
<span class="sourceLineNo">856</span>    void error(Object message, Throwable t);<a name="line.856"></a>
<span class="sourceLineNo">857</span><a name="line.857"></a>
<span class="sourceLineNo">858</span>    /**<a name="line.858"></a>
<span class="sourceLineNo">859</span>     * Logs a message object with the {@link Level#ERROR ERROR} level.<a name="line.859"></a>
<span class="sourceLineNo">860</span>     *<a name="line.860"></a>
<span class="sourceLineNo">861</span>     * @param message the message string to log.<a name="line.861"></a>
<span class="sourceLineNo">862</span>     */<a name="line.862"></a>
<span class="sourceLineNo">863</span>    void error(String message);<a name="line.863"></a>
<span class="sourceLineNo">864</span><a name="line.864"></a>
<span class="sourceLineNo">865</span>    /**<a name="line.865"></a>
<span class="sourceLineNo">866</span>     * Logs a message with parameters at the {@link Level#ERROR ERROR} level.<a name="line.866"></a>
<span class="sourceLineNo">867</span>     *<a name="line.867"></a>
<span class="sourceLineNo">868</span>     * @param message the message to log; the format depends on the message factory.<a name="line.868"></a>
<span class="sourceLineNo">869</span>     * @param params parameters to the message.<a name="line.869"></a>
<span class="sourceLineNo">870</span>     * @see #getMessageFactory()<a name="line.870"></a>
<span class="sourceLineNo">871</span>     */<a name="line.871"></a>
<span class="sourceLineNo">872</span>    void error(String message, Object... params);<a name="line.872"></a>
<span class="sourceLineNo">873</span><a name="line.873"></a>
<span class="sourceLineNo">874</span>    /**<a name="line.874"></a>
<span class="sourceLineNo">875</span>     * Logs a message with parameters which are only to be constructed if the logging level is the {@link Level#ERROR<a name="line.875"></a>
<span class="sourceLineNo">876</span>     * ERROR} level.<a name="line.876"></a>
<span class="sourceLineNo">877</span>     *<a name="line.877"></a>
<span class="sourceLineNo">878</span>     * @param message the message to log; the format depends on the message factory.<a name="line.878"></a>
<span class="sourceLineNo">879</span>     * @param paramSuppliers An array of functions, which when called, produce the desired log message parameters.<a name="line.879"></a>
<span class="sourceLineNo">880</span>     * @since 2.4<a name="line.880"></a>
<span class="sourceLineNo">881</span>     */<a name="line.881"></a>
<span class="sourceLineNo">882</span>    void error(String message, Supplier&lt;?&gt;... paramSuppliers);<a name="line.882"></a>
<span class="sourceLineNo">883</span><a name="line.883"></a>
<span class="sourceLineNo">884</span>    /**<a name="line.884"></a>
<span class="sourceLineNo">885</span>     * Logs a message at the {@link Level#ERROR ERROR} level including the stack trace of the {@link Throwable}<a name="line.885"></a>
<span class="sourceLineNo">886</span>     * &lt;code&gt;t&lt;/code&gt; passed as parameter.<a name="line.886"></a>
<span class="sourceLineNo">887</span>     *<a name="line.887"></a>
<span class="sourceLineNo">888</span>     * @param message the message object to log.<a name="line.888"></a>
<span class="sourceLineNo">889</span>     * @param t the exception to log, including its stack trace.<a name="line.889"></a>
<span class="sourceLineNo">890</span>     */<a name="line.890"></a>
<span class="sourceLineNo">891</span>    void error(String message, Throwable t);<a name="line.891"></a>
<span class="sourceLineNo">892</span><a name="line.892"></a>
<span class="sourceLineNo">893</span>    /**<a name="line.893"></a>
<span class="sourceLineNo">894</span>     * Logs a message which is only to be constructed if the logging level is the {@link Level#ERROR ERROR} level.<a name="line.894"></a>
<span class="sourceLineNo">895</span>     *<a name="line.895"></a>
<span class="sourceLineNo">896</span>     * @param msgSupplier A function, which when called, produces the desired log message; the format depends on the<a name="line.896"></a>
<span class="sourceLineNo">897</span>     *            message factory.<a name="line.897"></a>
<span class="sourceLineNo">898</span>     * @since 2.4<a name="line.898"></a>
<span class="sourceLineNo">899</span>     */<a name="line.899"></a>
<span class="sourceLineNo">900</span>    void error(Supplier&lt;?&gt; msgSupplier);<a name="line.900"></a>
<span class="sourceLineNo">901</span><a name="line.901"></a>
<span class="sourceLineNo">902</span>    /**<a name="line.902"></a>
<span class="sourceLineNo">903</span>     * Logs a message (only to be constructed if the logging level is the {@link Level#ERROR ERROR} level) including the<a name="line.903"></a>
<span class="sourceLineNo">904</span>     * stack trace of the {@link Throwable} &lt;code&gt;t&lt;/code&gt; passed as parameter.<a name="line.904"></a>
<span class="sourceLineNo">905</span>     *<a name="line.905"></a>
<span class="sourceLineNo">906</span>     * @param msgSupplier A function, which when called, produces the desired log message; the format depends on the<a name="line.906"></a>
<span class="sourceLineNo">907</span>     *            message factory.<a name="line.907"></a>
<span class="sourceLineNo">908</span>     * @param t the exception to log, including its stack trace.<a name="line.908"></a>
<span class="sourceLineNo">909</span>     * @since 2.4<a name="line.909"></a>
<span class="sourceLineNo">910</span>     */<a name="line.910"></a>
<span class="sourceLineNo">911</span>    void error(Supplier&lt;?&gt; msgSupplier, Throwable t);<a name="line.911"></a>
<span class="sourceLineNo">912</span><a name="line.912"></a>
<span class="sourceLineNo">913</span>    /**<a name="line.913"></a>
<span class="sourceLineNo">914</span>     * Logs a message with parameters at error level.<a name="line.914"></a>
<span class="sourceLineNo">915</span>     *<a name="line.915"></a>
<span class="sourceLineNo">916</span>     * @param marker the marker data specific to this log statement<a name="line.916"></a>
<span class="sourceLineNo">917</span>     * @param message the message to log; the format depends on the message factory.<a name="line.917"></a>
<span class="sourceLineNo">918</span>     * @param p0 parameter to the message.<a name="line.918"></a>
<span class="sourceLineNo">919</span>     */<a name="line.919"></a>
<span class="sourceLineNo">920</span>    void error(Marker marker, String message, Object p0);<a name="line.920"></a>
<span class="sourceLineNo">921</span><a name="line.921"></a>
<span class="sourceLineNo">922</span>    /**<a name="line.922"></a>
<span class="sourceLineNo">923</span>     * Logs a message with parameters at error level.<a name="line.923"></a>
<span class="sourceLineNo">924</span>     *<a name="line.924"></a>
<span class="sourceLineNo">925</span>     * @param marker the marker data specific to this log statement<a name="line.925"></a>
<span class="sourceLineNo">926</span>     * @param message the message to log; the format depends on the message factory.<a name="line.926"></a>
<span class="sourceLineNo">927</span>     * @param p0 parameter to the message.<a name="line.927"></a>
<span class="sourceLineNo">928</span>     * @param p1 parameter to the message.<a name="line.928"></a>
<span class="sourceLineNo">929</span>     */<a name="line.929"></a>
<span class="sourceLineNo">930</span>    void error(Marker marker, String message, Object p0, Object p1);<a name="line.930"></a>
<span class="sourceLineNo">931</span><a name="line.931"></a>
<span class="sourceLineNo">932</span>    /**<a name="line.932"></a>
<span class="sourceLineNo">933</span>     * Logs a message with parameters at error level.<a name="line.933"></a>
<span class="sourceLineNo">934</span>     *<a name="line.934"></a>
<span class="sourceLineNo">935</span>     * @param marker the marker data specific to this log statement<a name="line.935"></a>
<span class="sourceLineNo">936</span>     * @param message the message to log; the format depends on the message factory.<a name="line.936"></a>
<span class="sourceLineNo">937</span>     * @param p0 parameter to the message.<a name="line.937"></a>
<span class="sourceLineNo">938</span>     * @param p1 parameter to the message.<a name="line.938"></a>
<span class="sourceLineNo">939</span>     * @param p2 parameter to the message.<a name="line.939"></a>
<span class="sourceLineNo">940</span>     */<a name="line.940"></a>
<span class="sourceLineNo">941</span>    void error(Marker marker, String message, Object p0, Object p1, Object p2);<a name="line.941"></a>
<span class="sourceLineNo">942</span><a name="line.942"></a>
<span class="sourceLineNo">943</span>    /**<a name="line.943"></a>
<span class="sourceLineNo">944</span>     * Logs a message with parameters at error level.<a name="line.944"></a>
<span class="sourceLineNo">945</span>     *<a name="line.945"></a>
<span class="sourceLineNo">946</span>     * @param marker the marker data specific to this log statement<a name="line.946"></a>
<span class="sourceLineNo">947</span>     * @param message the message to log; the format depends on the message factory.<a name="line.947"></a>
<span class="sourceLineNo">948</span>     * @param p0 parameter to the message.<a name="line.948"></a>
<span class="sourceLineNo">949</span>     * @param p1 parameter to the message.<a name="line.949"></a>
<span class="sourceLineNo">950</span>     * @param p2 parameter to the message.<a name="line.950"></a>
<span class="sourceLineNo">951</span>     * @param p3 parameter to the message.<a name="line.951"></a>
<span class="sourceLineNo">952</span>     */<a name="line.952"></a>
<span class="sourceLineNo">953</span>    void error(Marker marker, String message, Object p0, Object p1, Object p2, Object p3);<a name="line.953"></a>
<span class="sourceLineNo">954</span><a name="line.954"></a>
<span class="sourceLineNo">955</span>    /**<a name="line.955"></a>
<span class="sourceLineNo">956</span>     * Logs a message with parameters at error level.<a name="line.956"></a>
<span class="sourceLineNo">957</span>     *<a name="line.957"></a>
<span class="sourceLineNo">958</span>     * @param marker the marker data specific to this log statement<a name="line.958"></a>
<span class="sourceLineNo">959</span>     * @param message the message to log; the format depends on the message factory.<a name="line.959"></a>
<span class="sourceLineNo">960</span>     * @param p0 parameter to the message.<a name="line.960"></a>
<span class="sourceLineNo">961</span>     * @param p1 parameter to the message.<a name="line.961"></a>
<span class="sourceLineNo">962</span>     * @param p2 parameter to the message.<a name="line.962"></a>
<span class="sourceLineNo">963</span>     * @param p3 parameter to the message.<a name="line.963"></a>
<span class="sourceLineNo">964</span>     * @param p4 parameter to the message.<a name="line.964"></a>
<span class="sourceLineNo">965</span>     */<a name="line.965"></a>
<span class="sourceLineNo">966</span>    void error(Marker marker, String message, Object p0, Object p1, Object p2, Object p3, Object p4);<a name="line.966"></a>
<span class="sourceLineNo">967</span><a name="line.967"></a>
<span class="sourceLineNo">968</span>    /**<a name="line.968"></a>
<span class="sourceLineNo">969</span>     * Logs a message with parameters at error level.<a name="line.969"></a>
<span class="sourceLineNo">970</span>     *<a name="line.970"></a>
<span class="sourceLineNo">971</span>     * @param marker the marker data specific to this log statement<a name="line.971"></a>
<span class="sourceLineNo">972</span>     * @param message the message to log; the format depends on the message factory.<a name="line.972"></a>
<span class="sourceLineNo">973</span>     * @param p0 parameter to the message.<a name="line.973"></a>
<span class="sourceLineNo">974</span>     * @param p1 parameter to the message.<a name="line.974"></a>
<span class="sourceLineNo">975</span>     * @param p2 parameter to the message.<a name="line.975"></a>
<span class="sourceLineNo">976</span>     * @param p3 parameter to the message.<a name="line.976"></a>
<span class="sourceLineNo">977</span>     * @param p4 parameter to the message.<a name="line.977"></a>
<span class="sourceLineNo">978</span>     * @param p5 parameter to the message.<a name="line.978"></a>
<span class="sourceLineNo">979</span>     */<a name="line.979"></a>
<span class="sourceLineNo">980</span>    void error(Marker marker, String message, Object p0, Object p1, Object p2, Object p3, Object p4, Object p5);<a name="line.980"></a>
<span class="sourceLineNo">981</span><a name="line.981"></a>
<span class="sourceLineNo">982</span>    /**<a name="line.982"></a>
<span class="sourceLineNo">983</span>     * Logs a message with parameters at error level.<a name="line.983"></a>
<span class="sourceLineNo">984</span>     *<a name="line.984"></a>
<span class="sourceLineNo">985</span>     * @param marker the marker data specific to this log statement<a name="line.985"></a>
<span class="sourceLineNo">986</span>     * @param message the message to log; the format depends on the message factory.<a name="line.986"></a>
<span class="sourceLineNo">987</span>     * @param p0 parameter to the message.<a name="line.987"></a>
<span class="sourceLineNo">988</span>     * @param p1 parameter to the message.<a name="line.988"></a>
<span class="sourceLineNo">989</span>     * @param p2 parameter to the message.<a name="line.989"></a>
<span class="sourceLineNo">990</span>     * @param p3 parameter to the message.<a name="line.990"></a>
<span class="sourceLineNo">991</span>     * @param p4 parameter to the message.<a name="line.991"></a>
<span class="sourceLineNo">992</span>     * @param p5 parameter to the message.<a name="line.992"></a>
<span class="sourceLineNo">993</span>     * @param p6 parameter to the message.<a name="line.993"></a>
<span class="sourceLineNo">994</span>     */<a name="line.994"></a>
<span class="sourceLineNo">995</span>    void error(Marker marker, String message, Object p0, Object p1, Object p2, Object p3, Object p4, Object p5,<a name="line.995"></a>
<span class="sourceLineNo">996</span>            Object p6);<a name="line.996"></a>
<span class="sourceLineNo">997</span><a name="line.997"></a>
<span class="sourceLineNo">998</span>    /**<a name="line.998"></a>
<span class="sourceLineNo">999</span>     * Logs a message with parameters at error level.<a name="line.999"></a>
<span class="sourceLineNo">1000</span>     *<a name="line.1000"></a>
<span class="sourceLineNo">1001</span>     * @param marker the marker data specific to this log statement<a name="line.1001"></a>
<span class="sourceLineNo">1002</span>     * @param message the message to log; the format depends on the message factory.<a name="line.1002"></a>
<span class="sourceLineNo">1003</span>     * @param p0 parameter to the message.<a name="line.1003"></a>
<span class="sourceLineNo">1004</span>     * @param p1 parameter to the message.<a name="line.1004"></a>
<span class="sourceLineNo">1005</span>     * @param p2 parameter to the message.<a name="line.1005"></a>
<span class="sourceLineNo">1006</span>     * @param p3 parameter to the message.<a name="line.1006"></a>
<span class="sourceLineNo">1007</span>     * @param p4 parameter to the message.<a name="line.1007"></a>
<span class="sourceLineNo">1008</span>     * @param p5 parameter to the message.<a name="line.1008"></a>
<span class="sourceLineNo">1009</span>     * @param p6 parameter to the message.<a name="line.1009"></a>
<span class="sourceLineNo">1010</span>     * @param p7 parameter to the message.<a name="line.1010"></a>
<span class="sourceLineNo">1011</span>     */<a name="line.1011"></a>
<span class="sourceLineNo">1012</span>    void error(Marker marker, String message, Object p0, Object p1, Object p2, Object p3, Object p4, Object p5, Object p6,<a name="line.1012"></a>
<span class="sourceLineNo">1013</span>            Object p7);<a name="line.1013"></a>
<span class="sourceLineNo">1014</span><a name="line.1014"></a>
<span class="sourceLineNo">1015</span>    /**<a name="line.1015"></a>
<span class="sourceLineNo">1016</span>     * Logs a message with parameters at error level.<a name="line.1016"></a>
<span class="sourceLineNo">1017</span>     *<a name="line.1017"></a>
<span class="sourceLineNo">1018</span>     * @param marker the marker data specific to this log statement<a name="line.1018"></a>
<span class="sourceLineNo">1019</span>     * @param message the message to log; the format depends on the message factory.<a name="line.1019"></a>
<span class="sourceLineNo">1020</span>     * @param p0 parameter to the message.<a name="line.1020"></a>
<span class="sourceLineNo">1021</span>     * @param p1 parameter to the message.<a name="line.1021"></a>
<span class="sourceLineNo">1022</span>     * @param p2 parameter to the message.<a name="line.1022"></a>
<span class="sourceLineNo">1023</span>     * @param p3 parameter to the message.<a name="line.1023"></a>
<span class="sourceLineNo">1024</span>     * @param p4 parameter to the message.<a name="line.1024"></a>
<span class="sourceLineNo">1025</span>     * @param p5 parameter to the message.<a name="line.1025"></a>
<span class="sourceLineNo">1026</span>     * @param p6 parameter to the message.<a name="line.1026"></a>
<span class="sourceLineNo">1027</span>     * @param p7 parameter to the message.<a name="line.1027"></a>
<span class="sourceLineNo">1028</span>     * @param p8 parameter to the message.<a name="line.1028"></a>
<span class="sourceLineNo">1029</span>     */<a name="line.1029"></a>
<span class="sourceLineNo">1030</span>    void error(Marker marker, String message, Object p0, Object p1, Object p2, Object p3, Object p4, Object p5, Object p6,<a name="line.1030"></a>
<span class="sourceLineNo">1031</span>            Object p7, Object p8);<a name="line.1031"></a>
<span class="sourceLineNo">1032</span><a name="line.1032"></a>
<span class="sourceLineNo">1033</span>    /**<a name="line.1033"></a>
<span class="sourceLineNo">1034</span>     * Logs a message with parameters at error level.<a name="line.1034"></a>
<span class="sourceLineNo">1035</span>     *<a name="line.1035"></a>
<span class="sourceLineNo">1036</span>     * @param marker the marker data specific to this log statement<a name="line.1036"></a>
<span class="sourceLineNo">1037</span>     * @param message the message to log; the format depends on the message factory.<a name="line.1037"></a>
<span class="sourceLineNo">1038</span>     * @param p0 parameter to the message.<a name="line.1038"></a>
<span class="sourceLineNo">1039</span>     * @param p1 parameter to the message.<a name="line.1039"></a>
<span class="sourceLineNo">1040</span>     * @param p2 parameter to the message.<a name="line.1040"></a>
<span class="sourceLineNo">1041</span>     * @param p3 parameter to the message.<a name="line.1041"></a>
<span class="sourceLineNo">1042</span>     * @param p4 parameter to the message.<a name="line.1042"></a>
<span class="sourceLineNo">1043</span>     * @param p5 parameter to the message.<a name="line.1043"></a>
<span class="sourceLineNo">1044</span>     * @param p6 parameter to the message.<a name="line.1044"></a>
<span class="sourceLineNo">1045</span>     * @param p7 parameter to the message.<a name="line.1045"></a>
<span class="sourceLineNo">1046</span>     * @param p8 parameter to the message.<a name="line.1046"></a>
<span class="sourceLineNo">1047</span>     * @param p9 parameter to the message.<a name="line.1047"></a>
<span class="sourceLineNo">1048</span>     */<a name="line.1048"></a>
<span class="sourceLineNo">1049</span>    void error(Marker marker, String message, Object p0, Object p1, Object p2, Object p3, Object p4, Object p5, Object p6,<a name="line.1049"></a>
<span class="sourceLineNo">1050</span>            Object p7, Object p8, Object p9);<a name="line.1050"></a>
<span class="sourceLineNo">1051</span><a name="line.1051"></a>
<span class="sourceLineNo">1052</span>    /**<a name="line.1052"></a>
<span class="sourceLineNo">1053</span>     * Logs a message with parameters at error level.<a name="line.1053"></a>
<span class="sourceLineNo">1054</span>     *<a name="line.1054"></a>
<span class="sourceLineNo">1055</span>     * @param message the message to log; the format depends on the message factory.<a name="line.1055"></a>
<span class="sourceLineNo">1056</span>     * @param p0 parameter to the message.<a name="line.1056"></a>
<span class="sourceLineNo">1057</span>     */<a name="line.1057"></a>
<span class="sourceLineNo">1058</span>    void error(String message, Object p0);<a name="line.1058"></a>
<span class="sourceLineNo">1059</span><a name="line.1059"></a>
<span class="sourceLineNo">1060</span>    /**<a name="line.1060"></a>
<span class="sourceLineNo">1061</span>     * Logs a message with parameters at error level.<a name="line.1061"></a>
<span class="sourceLineNo">1062</span>     *<a name="line.1062"></a>
<span class="sourceLineNo">1063</span>     * @param message the message to log; the format depends on the message factory.<a name="line.1063"></a>
<span class="sourceLineNo">1064</span>     * @param p0 parameter to the message.<a name="line.1064"></a>
<span class="sourceLineNo">1065</span>     * @param p1 parameter to the message.<a name="line.1065"></a>
<span class="sourceLineNo">1066</span>     */<a name="line.1066"></a>
<span class="sourceLineNo">1067</span>    void error(String message, Object p0, Object p1);<a name="line.1067"></a>
<span class="sourceLineNo">1068</span><a name="line.1068"></a>
<span class="sourceLineNo">1069</span>    /**<a name="line.1069"></a>
<span class="sourceLineNo">1070</span>     * Logs a message with parameters at error level.<a name="line.1070"></a>
<span class="sourceLineNo">1071</span>     *<a name="line.1071"></a>
<span class="sourceLineNo">1072</span>     * @param message the message to log; the format depends on the message factory.<a name="line.1072"></a>
<span class="sourceLineNo">1073</span>     * @param p0 parameter to the message.<a name="line.1073"></a>
<span class="sourceLineNo">1074</span>     * @param p1 parameter to the message.<a name="line.1074"></a>
<span class="sourceLineNo">1075</span>     * @param p2 parameter to the message.<a name="line.1075"></a>
<span class="sourceLineNo">1076</span>     */<a name="line.1076"></a>
<span class="sourceLineNo">1077</span>    void error(String message, Object p0, Object p1, Object p2);<a name="line.1077"></a>
<span class="sourceLineNo">1078</span><a name="line.1078"></a>
<span class="sourceLineNo">1079</span>    /**<a name="line.1079"></a>
<span class="sourceLineNo">1080</span>     * Logs a message with parameters at error level.<a name="line.1080"></a>
<span class="sourceLineNo">1081</span>     *<a name="line.1081"></a>
<span class="sourceLineNo">1082</span>     * @param message the message to log; the format depends on the message factory.<a name="line.1082"></a>
<span class="sourceLineNo">1083</span>     * @param p0 parameter to the message.<a name="line.1083"></a>
<span class="sourceLineNo">1084</span>     * @param p1 parameter to the message.<a name="line.1084"></a>
<span class="sourceLineNo">1085</span>     * @param p2 parameter to the message.<a name="line.1085"></a>
<span class="sourceLineNo">1086</span>     * @param p3 parameter to the message.<a name="line.1086"></a>
<span class="sourceLineNo">1087</span>     */<a name="line.1087"></a>
<span class="sourceLineNo">1088</span>    void error(String message, Object p0, Object p1, Object p2, Object p3);<a name="line.1088"></a>
<span class="sourceLineNo">1089</span><a name="line.1089"></a>
<span class="sourceLineNo">1090</span>    /**<a name="line.1090"></a>
<span class="sourceLineNo">1091</span>     * Logs a message with parameters at error level.<a name="line.1091"></a>
<span class="sourceLineNo">1092</span>     *<a name="line.1092"></a>
<span class="sourceLineNo">1093</span>     * @param message the message to log; the format depends on the message factory.<a name="line.1093"></a>
<span class="sourceLineNo">1094</span>     * @param p0 parameter to the message.<a name="line.1094"></a>
<span class="sourceLineNo">1095</span>     * @param p1 parameter to the message.<a name="line.1095"></a>
<span class="sourceLineNo">1096</span>     * @param p2 parameter to the message.<a name="line.1096"></a>
<span class="sourceLineNo">1097</span>     * @param p3 parameter to the message.<a name="line.1097"></a>
<span class="sourceLineNo">1098</span>     * @param p4 parameter to the message.<a name="line.1098"></a>
<span class="sourceLineNo">1099</span>     */<a name="line.1099"></a>
<span class="sourceLineNo">1100</span>    void error(String message, Object p0, Object p1, Object p2, Object p3, Object p4);<a name="line.1100"></a>
<span class="sourceLineNo">1101</span><a name="line.1101"></a>
<span class="sourceLineNo">1102</span>    /**<a name="line.1102"></a>
<span class="sourceLineNo">1103</span>     * Logs a message with parameters at error level.<a name="line.1103"></a>
<span class="sourceLineNo">1104</span>     *<a name="line.1104"></a>
<span class="sourceLineNo">1105</span>     * @param message the message to log; the format depends on the message factory.<a name="line.1105"></a>
<span class="sourceLineNo">1106</span>     * @param p0 parameter to the message.<a name="line.1106"></a>
<span class="sourceLineNo">1107</span>     * @param p1 parameter to the message.<a name="line.1107"></a>
<span class="sourceLineNo">1108</span>     * @param p2 parameter to the message.<a name="line.1108"></a>
<span class="sourceLineNo">1109</span>     * @param p3 parameter to the message.<a name="line.1109"></a>
<span class="sourceLineNo">1110</span>     * @param p4 parameter to the message.<a name="line.1110"></a>
<span class="sourceLineNo">1111</span>     * @param p5 parameter to the message.<a name="line.1111"></a>
<span class="sourceLineNo">1112</span>     */<a name="line.1112"></a>
<span class="sourceLineNo">1113</span>    void error(String message, Object p0, Object p1, Object p2, Object p3, Object p4, Object p5);<a name="line.1113"></a>
<span class="sourceLineNo">1114</span><a name="line.1114"></a>
<span class="sourceLineNo">1115</span>    /**<a name="line.1115"></a>
<span class="sourceLineNo">1116</span>     * Logs a message with parameters at error level.<a name="line.1116"></a>
<span class="sourceLineNo">1117</span>     *<a name="line.1117"></a>
<span class="sourceLineNo">1118</span>     * @param message the message to log; the format depends on the message factory.<a name="line.1118"></a>
<span class="sourceLineNo">1119</span>     * @param p0 parameter to the message.<a name="line.1119"></a>
<span class="sourceLineNo">1120</span>     * @param p1 parameter to the message.<a name="line.1120"></a>
<span class="sourceLineNo">1121</span>     * @param p2 parameter to the message.<a name="line.1121"></a>
<span class="sourceLineNo">1122</span>     * @param p3 parameter to the message.<a name="line.1122"></a>
<span class="sourceLineNo">1123</span>     * @param p4 parameter to the message.<a name="line.1123"></a>
<span class="sourceLineNo">1124</span>     * @param p5 parameter to the message.<a name="line.1124"></a>
<span class="sourceLineNo">1125</span>     * @param p6 parameter to the message.<a name="line.1125"></a>
<span class="sourceLineNo">1126</span>     */<a name="line.1126"></a>
<span class="sourceLineNo">1127</span>    void error(String message, Object p0, Object p1, Object p2, Object p3, Object p4, Object p5, Object p6);<a name="line.1127"></a>
<span class="sourceLineNo">1128</span><a name="line.1128"></a>
<span class="sourceLineNo">1129</span>    /**<a name="line.1129"></a>
<span class="sourceLineNo">1130</span>     * Logs a message with parameters at error level.<a name="line.1130"></a>
<span class="sourceLineNo">1131</span>     *<a name="line.1131"></a>
<span class="sourceLineNo">1132</span>     * @param message the message to log; the format depends on the message factory.<a name="line.1132"></a>
<span class="sourceLineNo">1133</span>     * @param p0 parameter to the message.<a name="line.1133"></a>
<span class="sourceLineNo">1134</span>     * @param p1 parameter to the message.<a name="line.1134"></a>
<span class="sourceLineNo">1135</span>     * @param p2 parameter to the message.<a name="line.1135"></a>
<span class="sourceLineNo">1136</span>     * @param p3 parameter to the message.<a name="line.1136"></a>
<span class="sourceLineNo">1137</span>     * @param p4 parameter to the message.<a name="line.1137"></a>
<span class="sourceLineNo">1138</span>     * @param p5 parameter to the message.<a name="line.1138"></a>
<span class="sourceLineNo">1139</span>     * @param p6 parameter to the message.<a name="line.1139"></a>
<span class="sourceLineNo">1140</span>     * @param p7 parameter to the message.<a name="line.1140"></a>
<span class="sourceLineNo">1141</span>     */<a name="line.1141"></a>
<span class="sourceLineNo">1142</span>    void error(String message, Object p0, Object p1, Object p2, Object p3, Object p4, Object p5, Object p6, Object p7);<a name="line.1142"></a>
<span class="sourceLineNo">1143</span><a name="line.1143"></a>
<span class="sourceLineNo">1144</span>    /**<a name="line.1144"></a>
<span class="sourceLineNo">1145</span>     * Logs a message with parameters at error level.<a name="line.1145"></a>
<span class="sourceLineNo">1146</span>     *<a name="line.1146"></a>
<span class="sourceLineNo">1147</span>     * @param message the message to log; the format depends on the message factory.<a name="line.1147"></a>
<span class="sourceLineNo">1148</span>     * @param p0 parameter to the message.<a name="line.1148"></a>
<span class="sourceLineNo">1149</span>     * @param p1 parameter to the message.<a name="line.1149"></a>
<span class="sourceLineNo">1150</span>     * @param p2 parameter to the message.<a name="line.1150"></a>
<span class="sourceLineNo">1151</span>     * @param p3 parameter to the message.<a name="line.1151"></a>
<span class="sourceLineNo">1152</span>     * @param p4 parameter to the message.<a name="line.1152"></a>
<span class="sourceLineNo">1153</span>     * @param p5 parameter to the message.<a name="line.1153"></a>
<span class="sourceLineNo">1154</span>     * @param p6 parameter to the message.<a name="line.1154"></a>
<span class="sourceLineNo">1155</span>     * @param p7 parameter to the message.<a name="line.1155"></a>
<span class="sourceLineNo">1156</span>     * @param p8 parameter to the message.<a name="line.1156"></a>
<span class="sourceLineNo">1157</span>     */<a name="line.1157"></a>
<span class="sourceLineNo">1158</span>    void error(String message, Object p0, Object p1, Object p2, Object p3, Object p4, Object p5, Object p6, Object p7,<a name="line.1158"></a>
<span class="sourceLineNo">1159</span>            Object p8);<a name="line.1159"></a>
<span class="sourceLineNo">1160</span><a name="line.1160"></a>
<span class="sourceLineNo">1161</span>    /**<a name="line.1161"></a>
<span class="sourceLineNo">1162</span>     * Logs a message with parameters at error level.<a name="line.1162"></a>
<span class="sourceLineNo">1163</span>     *<a name="line.1163"></a>
<span class="sourceLineNo">1164</span>     * @param message the message to log; the format depends on the message factory.<a name="line.1164"></a>
<span class="sourceLineNo">1165</span>     * @param p0 parameter to the message.<a name="line.1165"></a>
<span class="sourceLineNo">1166</span>     * @param p1 parameter to the message.<a name="line.1166"></a>
<span class="sourceLineNo">1167</span>     * @param p2 parameter to the message.<a name="line.1167"></a>
<span class="sourceLineNo">1168</span>     * @param p3 parameter to the message.<a name="line.1168"></a>
<span class="sourceLineNo">1169</span>     * @param p4 parameter to the message.<a name="line.1169"></a>
<span class="sourceLineNo">1170</span>     * @param p5 parameter to the message.<a name="line.1170"></a>
<span class="sourceLineNo">1171</span>     * @param p6 parameter to the message.<a name="line.1171"></a>
<span class="sourceLineNo">1172</span>     * @param p7 parameter to the message.<a name="line.1172"></a>
<span class="sourceLineNo">1173</span>     * @param p8 parameter to the message.<a name="line.1173"></a>
<span class="sourceLineNo">1174</span>     * @param p9 parameter to the message.<a name="line.1174"></a>
<span class="sourceLineNo">1175</span>     */<a name="line.1175"></a>
<span class="sourceLineNo">1176</span>    void error(String message, Object p0, Object p1, Object p2, Object p3, Object p4, Object p5, Object p6, Object p7,<a name="line.1176"></a>
<span class="sourceLineNo">1177</span>            Object p8, Object p9);<a name="line.1177"></a>
<span class="sourceLineNo">1178</span><a name="line.1178"></a>
<span class="sourceLineNo">1179</span>    /**<a name="line.1179"></a>
<span class="sourceLineNo">1180</span>     * Logs exit from a method. Used for methods that do not return anything.<a name="line.1180"></a>
<span class="sourceLineNo">1181</span>     * @deprecated Use {@link #traceExit()} instead which performs the same function.<a name="line.1181"></a>
<span class="sourceLineNo">1182</span>     */<a name="line.1182"></a>
<span class="sourceLineNo">1183</span>    @Deprecated<a name="line.1183"></a>
<span class="sourceLineNo">1184</span>    void exit();<a name="line.1184"></a>
<span class="sourceLineNo">1185</span><a name="line.1185"></a>
<span class="sourceLineNo">1186</span>    /**<a name="line.1186"></a>
<span class="sourceLineNo">1187</span>     * Logs exiting from a method with the result. This may be coded as:<a name="line.1187"></a>
<span class="sourceLineNo">1188</span>     *<a name="line.1188"></a>
<span class="sourceLineNo">1189</span>     * &lt;pre&gt;<a name="line.1189"></a>
<span class="sourceLineNo">1190</span>     * return LOGGER.exit(myResult);<a name="line.1190"></a>
<span class="sourceLineNo">1191</span>     * &lt;/pre&gt;<a name="line.1191"></a>
<span class="sourceLineNo">1192</span>     *<a name="line.1192"></a>
<span class="sourceLineNo">1193</span>     * @param &lt;R&gt; The type of the parameter and object being returned.<a name="line.1193"></a>
<span class="sourceLineNo">1194</span>     * @param result The result being returned from the method call.<a name="line.1194"></a>
<span class="sourceLineNo">1195</span>     * @return the result.<a name="line.1195"></a>
<span class="sourceLineNo">1196</span>     * @deprecated Use {@link #traceExit(Object)} instead which performs the same function.<a name="line.1196"></a>
<span class="sourceLineNo">1197</span>     */<a name="line.1197"></a>
<span class="sourceLineNo">1198</span>    @Deprecated<a name="line.1198"></a>
<span class="sourceLineNo">1199</span>    &lt;R&gt; R exit(R result);<a name="line.1199"></a>
<span class="sourceLineNo">1200</span><a name="line.1200"></a>
<span class="sourceLineNo">1201</span>    /**<a name="line.1201"></a>
<span class="sourceLineNo">1202</span>     * Logs a message with the specific Marker at the {@link Level#FATAL FATAL} level.<a name="line.1202"></a>
<span class="sourceLineNo">1203</span>     *<a name="line.1203"></a>
<span class="sourceLineNo">1204</span>     * @param marker the marker data specific to this log statement<a name="line.1204"></a>
<span class="sourceLineNo">1205</span>     * @param msg the message string to be logged<a name="line.1205"></a>
<span class="sourceLineNo">1206</span>     */<a name="line.1206"></a>
<span class="sourceLineNo">1207</span>    void fatal(Marker marker, Message msg);<a name="line.1207"></a>
<span class="sourceLineNo">1208</span><a name="line.1208"></a>
<span class="sourceLineNo">1209</span>    /**<a name="line.1209"></a>
<span class="sourceLineNo">1210</span>     * Logs a message with the specific Marker at the {@link Level#FATAL FATAL} level.<a name="line.1210"></a>
<span class="sourceLineNo">1211</span>     *<a name="line.1211"></a>
<span class="sourceLineNo">1212</span>     * @param marker the marker data specific to this log statement<a name="line.1212"></a>
<span class="sourceLineNo">1213</span>     * @param msg the message string to be logged<a name="line.1213"></a>
<span class="sourceLineNo">1214</span>     * @param t A Throwable or null.<a name="line.1214"></a>
<span class="sourceLineNo">1215</span>     */<a name="line.1215"></a>
<span class="sourceLineNo">1216</span>    void fatal(Marker marker, Message msg, Throwable t);<a name="line.1216"></a>
<span class="sourceLineNo">1217</span><a name="line.1217"></a>
<span class="sourceLineNo">1218</span>    /**<a name="line.1218"></a>
<span class="sourceLineNo">1219</span>     * Logs a message which is only to be constructed if the logging level is the {@link Level#FATAL FATAL} level with<a name="line.1219"></a>
<span class="sourceLineNo">1220</span>     * the specified Marker. The {@code MessageSupplier} may or may not use the {@link MessageFactory} to construct the<a name="line.1220"></a>
<span class="sourceLineNo">1221</span>     * {@code Message}.<a name="line.1221"></a>
<span class="sourceLineNo">1222</span>     *<a name="line.1222"></a>
<span class="sourceLineNo">1223</span>     * @param marker the marker data specific to this log statement<a name="line.1223"></a>
<span class="sourceLineNo">1224</span>     * @param msgSupplier A function, which when called, produces the desired log message.<a name="line.1224"></a>
<span class="sourceLineNo">1225</span>     * @since 2.4<a name="line.1225"></a>
<span class="sourceLineNo">1226</span>     */<a name="line.1226"></a>
<span class="sourceLineNo">1227</span>    void fatal(Marker marker, MessageSupplier msgSupplier);<a name="line.1227"></a>
<span class="sourceLineNo">1228</span><a name="line.1228"></a>
<span class="sourceLineNo">1229</span>    /**<a name="line.1229"></a>
<span class="sourceLineNo">1230</span>     * Logs a message (only to be constructed if the logging level is the {@link Level#FATAL FATAL} level) with the<a name="line.1230"></a>
<span class="sourceLineNo">1231</span>     * specified Marker and including the stack trace of the {@link Throwable} &lt;code&gt;t&lt;/code&gt; passed as parameter. The<a name="line.1231"></a>
<span class="sourceLineNo">1232</span>     * {@code MessageSupplier} may or may not use the {@link MessageFactory} to construct the {@code Message}.<a name="line.1232"></a>
<span class="sourceLineNo">1233</span>     *<a name="line.1233"></a>
<span class="sourceLineNo">1234</span>     * @param marker the marker data specific to this log statement<a name="line.1234"></a>
<span class="sourceLineNo">1235</span>     * @param msgSupplier A function, which when called, produces the desired log message.<a name="line.1235"></a>
<span class="sourceLineNo">1236</span>     * @param t A Throwable or null.<a name="line.1236"></a>
<span class="sourceLineNo">1237</span>     * @since 2.4<a name="line.1237"></a>
<span class="sourceLineNo">1238</span>     */<a name="line.1238"></a>
<span class="sourceLineNo">1239</span>    void fatal(Marker marker, MessageSupplier msgSupplier, Throwable t);<a name="line.1239"></a>
<span class="sourceLineNo">1240</span><a name="line.1240"></a>
<span class="sourceLineNo">1241</span>    /**<a name="line.1241"></a>
<span class="sourceLineNo">1242</span>     * Logs a message CharSequence with the {@link Level#FATAL FATAL} level.<a name="line.1242"></a>
<span class="sourceLineNo">1243</span>     *<a name="line.1243"></a>
<span class="sourceLineNo">1244</span>     * @param marker The marker data specific to this log statement.<a name="line.1244"></a>
<span class="sourceLineNo">1245</span>     * @param message the message CharSequence to log.<a name="line.1245"></a>
<span class="sourceLineNo">1246</span>     */<a name="line.1246"></a>
<span class="sourceLineNo">1247</span>    void fatal(Marker marker, CharSequence message);<a name="line.1247"></a>
<span class="sourceLineNo">1248</span><a name="line.1248"></a>
<span class="sourceLineNo">1249</span>    /**<a name="line.1249"></a>
<span class="sourceLineNo">1250</span>     * Logs a CharSequence at the {@link Level#FATAL FATAL} level including the stack trace of the {@link Throwable}<a name="line.1250"></a>
<span class="sourceLineNo">1251</span>     * &lt;code&gt;t&lt;/code&gt; passed as parameter.<a name="line.1251"></a>
<span class="sourceLineNo">1252</span>     *<a name="line.1252"></a>
<span class="sourceLineNo">1253</span>     * @param marker The marker data specific to this log statement.<a name="line.1253"></a>
<span class="sourceLineNo">1254</span>     * @param message the message CharSequence to log.<a name="line.1254"></a>
<span class="sourceLineNo">1255</span>     * @param t the exception to log, including its stack trace.<a name="line.1255"></a>
<span class="sourceLineNo">1256</span>     */<a name="line.1256"></a>
<span class="sourceLineNo">1257</span>    void fatal(Marker marker, CharSequence message, Throwable t);<a name="line.1257"></a>
<span class="sourceLineNo">1258</span><a name="line.1258"></a>
<span class="sourceLineNo">1259</span>    /**<a name="line.1259"></a>
<span class="sourceLineNo">1260</span>     * Logs a message object with the {@link Level#FATAL FATAL} level.<a name="line.1260"></a>
<span class="sourceLineNo">1261</span>     *<a name="line.1261"></a>
<span class="sourceLineNo">1262</span>     * @param marker The marker data specific to this log statement.<a name="line.1262"></a>
<span class="sourceLineNo">1263</span>     * @param message the message object to log.<a name="line.1263"></a>
<span class="sourceLineNo">1264</span>     */<a name="line.1264"></a>
<span class="sourceLineNo">1265</span>    void fatal(Marker marker, Object message);<a name="line.1265"></a>
<span class="sourceLineNo">1266</span><a name="line.1266"></a>
<span class="sourceLineNo">1267</span>    /**<a name="line.1267"></a>
<span class="sourceLineNo">1268</span>     * Logs a message at the {@link Level#FATAL FATAL} level including the stack trace of the {@link Throwable}<a name="line.1268"></a>
<span class="sourceLineNo">1269</span>     * &lt;code&gt;t&lt;/code&gt; passed as parameter.<a name="line.1269"></a>
<span class="sourceLineNo">1270</span>     *<a name="line.1270"></a>
<span class="sourceLineNo">1271</span>     * @param marker The marker data specific to this log statement.<a name="line.1271"></a>
<span class="sourceLineNo">1272</span>     * @param message the message object to log.<a name="line.1272"></a>
<span class="sourceLineNo">1273</span>     * @param t the exception to log, including its stack trace.<a name="line.1273"></a>
<span class="sourceLineNo">1274</span>     */<a name="line.1274"></a>
<span class="sourceLineNo">1275</span>    void fatal(Marker marker, Object message, Throwable t);<a name="line.1275"></a>
<span class="sourceLineNo">1276</span><a name="line.1276"></a>
<span class="sourceLineNo">1277</span>    /**<a name="line.1277"></a>
<span class="sourceLineNo">1278</span>     * Logs a message object with the {@link Level#FATAL FATAL} level.<a name="line.1278"></a>
<span class="sourceLineNo">1279</span>     *<a name="line.1279"></a>
<span class="sourceLineNo">1280</span>     * @param marker The marker data specific to this log statement.<a name="line.1280"></a>
<span class="sourceLineNo">1281</span>     * @param message the message object to log.<a name="line.1281"></a>
<span class="sourceLineNo">1282</span>     */<a name="line.1282"></a>
<span class="sourceLineNo">1283</span>    void fatal(Marker marker, String message);<a name="line.1283"></a>
<span class="sourceLineNo">1284</span><a name="line.1284"></a>
<span class="sourceLineNo">1285</span>    /**<a name="line.1285"></a>
<span class="sourceLineNo">1286</span>     * Logs a message with parameters at the {@link Level#FATAL FATAL} level.<a name="line.1286"></a>
<span class="sourceLineNo">1287</span>     *<a name="line.1287"></a>
<span class="sourceLineNo">1288</span>     * @param marker The marker data specific to this log statement.<a name="line.1288"></a>
<span class="sourceLineNo">1289</span>     * @param message the message to log; the format depends on the message factory.<a name="line.1289"></a>
<span class="sourceLineNo">1290</span>     * @param params parameters to the message.<a name="line.1290"></a>
<span class="sourceLineNo">1291</span>     * @see #getMessageFactory()<a name="line.1291"></a>
<span class="sourceLineNo">1292</span>     */<a name="line.1292"></a>
<span class="sourceLineNo">1293</span>    void fatal(Marker marker, String message, Object... params);<a name="line.1293"></a>
<span class="sourceLineNo">1294</span><a name="line.1294"></a>
<span class="sourceLineNo">1295</span>    /**<a name="line.1295"></a>
<span class="sourceLineNo">1296</span>     * Logs a message with parameters which are only to be constructed if the logging level is the {@link Level#FATAL<a name="line.1296"></a>
<span class="sourceLineNo">1297</span>     * FATAL} level.<a name="line.1297"></a>
<span class="sourceLineNo">1298</span>     *<a name="line.1298"></a>
<span class="sourceLineNo">1299</span>     * @param marker the marker data specific to this log statement<a name="line.1299"></a>
<span class="sourceLineNo">1300</span>     * @param message the message to log; the format depends on the message factory.<a name="line.1300"></a>
<span class="sourceLineNo">1301</span>     * @param paramSuppliers An array of functions, which when called, produce the desired log message parameters.<a name="line.1301"></a>
<span class="sourceLineNo">1302</span>     * @since 2.4<a name="line.1302"></a>
<span class="sourceLineNo">1303</span>     */<a name="line.1303"></a>
<span class="sourceLineNo">1304</span>    void fatal(Marker marker, String message, Supplier&lt;?&gt;... paramSuppliers);<a name="line.1304"></a>
<span class="sourceLineNo">1305</span><a name="line.1305"></a>
<span class="sourceLineNo">1306</span>    /**<a name="line.1306"></a>
<span class="sourceLineNo">1307</span>     * Logs a message at the {@link Level#FATAL FATAL} level including the stack trace of the {@link Throwable}<a name="line.1307"></a>
<span class="sourceLineNo">1308</span>     * &lt;code&gt;t&lt;/code&gt; passed as parameter.<a name="line.1308"></a>
<span class="sourceLineNo">1309</span>     *<a name="line.1309"></a>
<span class="sourceLineNo">1310</span>     * @param marker The marker data specific to this log statement.<a name="line.1310"></a>
<span class="sourceLineNo">1311</span>     * @param message the message object to log.<a name="line.1311"></a>
<span class="sourceLineNo">1312</span>     * @param t the exception to log, including its stack trace.<a name="line.1312"></a>
<span class="sourceLineNo">1313</span>     */<a name="line.1313"></a>
<span class="sourceLineNo">1314</span>    void fatal(Marker marker, String message, Throwable t);<a name="line.1314"></a>
<span class="sourceLineNo">1315</span><a name="line.1315"></a>
<span class="sourceLineNo">1316</span>    /**<a name="line.1316"></a>
<span class="sourceLineNo">1317</span>     * Logs a message which is only to be constructed if the logging level is the {@link Level#FATAL FATAL} level with<a name="line.1317"></a>
<span class="sourceLineNo">1318</span>     * the specified Marker.<a name="line.1318"></a>
<span class="sourceLineNo">1319</span>     *<a name="line.1319"></a>
<span class="sourceLineNo">1320</span>     * @param marker the marker data specific to this log statement<a name="line.1320"></a>
<span class="sourceLineNo">1321</span>     * @param msgSupplier A function, which when called, produces the desired log message; the format depends on the<a name="line.1321"></a>
<span class="sourceLineNo">1322</span>     *            message factory.<a name="line.1322"></a>
<span class="sourceLineNo">1323</span>     * @since 2.4<a name="line.1323"></a>
<span class="sourceLineNo">1324</span>     */<a name="line.1324"></a>
<span class="sourceLineNo">1325</span>    void fatal(Marker marker, Supplier&lt;?&gt; msgSupplier);<a name="line.1325"></a>
<span class="sourceLineNo">1326</span><a name="line.1326"></a>
<span class="sourceLineNo">1327</span>    /**<a name="line.1327"></a>
<span class="sourceLineNo">1328</span>     * Logs a message (only to be constructed if the logging level is the {@link Level#FATAL FATAL} level) with the<a name="line.1328"></a>
<span class="sourceLineNo">1329</span>     * specified Marker and including the stack trace of the {@link Throwable} &lt;code&gt;t&lt;/code&gt; passed as parameter.<a name="line.1329"></a>
<span class="sourceLineNo">1330</span>     *<a name="line.1330"></a>
<span class="sourceLineNo">1331</span>     * @param marker the marker data specific to this log statement<a name="line.1331"></a>
<span class="sourceLineNo">1332</span>     * @param msgSupplier A function, which when called, produces the desired log message; the format depends on the<a name="line.1332"></a>
<span class="sourceLineNo">1333</span>     *            message factory.<a name="line.1333"></a>
<span class="sourceLineNo">1334</span>     * @param t A Throwable or null.<a name="line.1334"></a>
<span class="sourceLineNo">1335</span>     * @since 2.4<a name="line.1335"></a>
<span class="sourceLineNo">1336</span>     */<a name="line.1336"></a>
<span class="sourceLineNo">1337</span>    void fatal(Marker marker, Supplier&lt;?&gt; msgSupplier, Throwable t);<a name="line.1337"></a>
<span class="sourceLineNo">1338</span><a name="line.1338"></a>
<span class="sourceLineNo">1339</span>    /**<a name="line.1339"></a>
<span class="sourceLineNo">1340</span>     * Logs a message with the specific Marker at the {@link Level#FATAL FATAL} level.<a name="line.1340"></a>
<span class="sourceLineNo">1341</span>     *<a name="line.1341"></a>
<span class="sourceLineNo">1342</span>     * @param msg the message string to be logged<a name="line.1342"></a>
<span class="sourceLineNo">1343</span>     */<a name="line.1343"></a>
<span class="sourceLineNo">1344</span>    void fatal(Message msg);<a name="line.1344"></a>
<span class="sourceLineNo">1345</span><a name="line.1345"></a>
<span class="sourceLineNo">1346</span>    /**<a name="line.1346"></a>
<span class="sourceLineNo">1347</span>     * Logs a message with the specific Marker at the {@link Level#FATAL FATAL} level.<a name="line.1347"></a>
<span class="sourceLineNo">1348</span>     *<a name="line.1348"></a>
<span class="sourceLineNo">1349</span>     * @param msg the message string to be logged<a name="line.1349"></a>
<span class="sourceLineNo">1350</span>     * @param t A Throwable or null.<a name="line.1350"></a>
<span class="sourceLineNo">1351</span>     */<a name="line.1351"></a>
<span class="sourceLineNo">1352</span>    void fatal(Message msg, Throwable t);<a name="line.1352"></a>
<span class="sourceLineNo">1353</span><a name="line.1353"></a>
<span class="sourceLineNo">1354</span>    /**<a name="line.1354"></a>
<span class="sourceLineNo">1355</span>     * Logs a message which is only to be constructed if the logging level is the {@link Level#FATAL FATAL} level. The<a name="line.1355"></a>
<span class="sourceLineNo">1356</span>     * {@code MessageSupplier} may or may not use the {@link MessageFactory} to construct the {@code Message}.<a name="line.1356"></a>
<span class="sourceLineNo">1357</span>     *<a name="line.1357"></a>
<span class="sourceLineNo">1358</span>     * @param msgSupplier A function, which when called, produces the desired log message.<a name="line.1358"></a>
<span class="sourceLineNo">1359</span>     * @since 2.4<a name="line.1359"></a>
<span class="sourceLineNo">1360</span>     */<a name="line.1360"></a>
<span class="sourceLineNo">1361</span>    void fatal(MessageSupplier msgSupplier);<a name="line.1361"></a>
<span class="sourceLineNo">1362</span><a name="line.1362"></a>
<span class="sourceLineNo">1363</span>    /**<a name="line.1363"></a>
<span class="sourceLineNo">1364</span>     * Logs a message (only to be constructed if the logging level is the {@link Level#FATAL FATAL} level) including the<a name="line.1364"></a>
<span class="sourceLineNo">1365</span>     * stack trace of the {@link Throwable} &lt;code&gt;t&lt;/code&gt; passed as parameter. The {@code MessageSupplier} may or may<a name="line.1365"></a>
<span class="sourceLineNo">1366</span>     * not use the {@link MessageFactory} to construct the {@code Message}.<a name="line.1366"></a>
<span class="sourceLineNo">1367</span>     *<a name="line.1367"></a>
<span class="sourceLineNo">1368</span>     * @param msgSupplier A function, which when called, produces the desired log message.<a name="line.1368"></a>
<span class="sourceLineNo">1369</span>     * @param t the exception to log, including its stack trace.<a name="line.1369"></a>
<span class="sourceLineNo">1370</span>     * @since 2.4<a name="line.1370"></a>
<span class="sourceLineNo">1371</span>     */<a name="line.1371"></a>
<span class="sourceLineNo">1372</span>    void fatal(MessageSupplier msgSupplier, Throwable t);<a name="line.1372"></a>
<span class="sourceLineNo">1373</span><a name="line.1373"></a>
<span class="sourceLineNo">1374</span>    /**<a name="line.1374"></a>
<span class="sourceLineNo">1375</span>     * Logs a message CharSequence with the {@link Level#FATAL FATAL} level.<a name="line.1375"></a>
<span class="sourceLineNo">1376</span>     *<a name="line.1376"></a>
<span class="sourceLineNo">1377</span>     * @param message the message CharSequence to log.<a name="line.1377"></a>
<span class="sourceLineNo">1378</span>     */<a name="line.1378"></a>
<span class="sourceLineNo">1379</span>    void fatal(CharSequence message);<a name="line.1379"></a>
<span class="sourceLineNo">1380</span><a name="line.1380"></a>
<span class="sourceLineNo">1381</span>    /**<a name="line.1381"></a>
<span class="sourceLineNo">1382</span>     * Logs a CharSequence at the {@link Level#FATAL FATAL} level including the stack trace of the {@link Throwable}<a name="line.1382"></a>
<span class="sourceLineNo">1383</span>     * &lt;code&gt;t&lt;/code&gt; passed as parameter.<a name="line.1383"></a>
<span class="sourceLineNo">1384</span>     *<a name="line.1384"></a>
<span class="sourceLineNo">1385</span>     * @param message the message CharSequence to log.<a name="line.1385"></a>
<span class="sourceLineNo">1386</span>     * @param t the exception to log, including its stack trace.<a name="line.1386"></a>
<span class="sourceLineNo">1387</span>     */<a name="line.1387"></a>
<span class="sourceLineNo">1388</span>    void fatal(CharSequence message, Throwable t);<a name="line.1388"></a>
<span class="sourceLineNo">1389</span><a name="line.1389"></a>
<span class="sourceLineNo">1390</span>    /**<a name="line.1390"></a>
<span class="sourceLineNo">1391</span>     * Logs a message object with the {@link Level#FATAL FATAL} level.<a name="line.1391"></a>
<span class="sourceLineNo">1392</span>     *<a name="line.1392"></a>
<span class="sourceLineNo">1393</span>     * @param message the message object to log.<a name="line.1393"></a>
<span class="sourceLineNo">1394</span>     */<a name="line.1394"></a>
<span class="sourceLineNo">1395</span>    void fatal(Object message);<a name="line.1395"></a>
<span class="sourceLineNo">1396</span><a name="line.1396"></a>
<span class="sourceLineNo">1397</span>    /**<a name="line.1397"></a>
<span class="sourceLineNo">1398</span>     * Logs a message at the {@link Level#FATAL FATAL} level including the stack trace of the {@link Throwable}<a name="line.1398"></a>
<span class="sourceLineNo">1399</span>     * &lt;code&gt;t&lt;/code&gt; passed as parameter.<a name="line.1399"></a>
<span class="sourceLineNo">1400</span>     *<a name="line.1400"></a>
<span class="sourceLineNo">1401</span>     * @param message the message object to log.<a name="line.1401"></a>
<span class="sourceLineNo">1402</span>     * @param t the exception to log, including its stack trace.<a name="line.1402"></a>
<span class="sourceLineNo">1403</span>     */<a name="line.1403"></a>
<span class="sourceLineNo">1404</span>    void fatal(Object message, Throwable t);<a name="line.1404"></a>
<span class="sourceLineNo">1405</span><a name="line.1405"></a>
<span class="sourceLineNo">1406</span>    /**<a name="line.1406"></a>
<span class="sourceLineNo">1407</span>     * Logs a message object with the {@link Level#FATAL FATAL} level.<a name="line.1407"></a>
<span class="sourceLineNo">1408</span>     *<a name="line.1408"></a>
<span class="sourceLineNo">1409</span>     * @param message the message string to log.<a name="line.1409"></a>
<span class="sourceLineNo">1410</span>     */<a name="line.1410"></a>
<span class="sourceLineNo">1411</span>    void fatal(String message);<a name="line.1411"></a>
<span class="sourceLineNo">1412</span><a name="line.1412"></a>
<span class="sourceLineNo">1413</span>    /**<a name="line.1413"></a>
<span class="sourceLineNo">1414</span>     * Logs a message with parameters at the {@link Level#FATAL FATAL} level.<a name="line.1414"></a>
<span class="sourceLineNo">1415</span>     *<a name="line.1415"></a>
<span class="sourceLineNo">1416</span>     * @param message the message to log; the format depends on the message factory.<a name="line.1416"></a>
<span class="sourceLineNo">1417</span>     * @param params parameters to the message.<a name="line.1417"></a>
<span class="sourceLineNo">1418</span>     * @see #getMessageFactory()<a name="line.1418"></a>
<span class="sourceLineNo">1419</span>     */<a name="line.1419"></a>
<span class="sourceLineNo">1420</span>    void fatal(String message, Object... params);<a name="line.1420"></a>
<span class="sourceLineNo">1421</span><a name="line.1421"></a>
<span class="sourceLineNo">1422</span>    /**<a name="line.1422"></a>
<span class="sourceLineNo">1423</span>     * Logs a message with parameters which are only to be constructed if the logging level is the {@link Level#FATAL<a name="line.1423"></a>
<span class="sourceLineNo">1424</span>     * FATAL} level.<a name="line.1424"></a>
<span class="sourceLineNo">1425</span>     *<a name="line.1425"></a>
<span class="sourceLineNo">1426</span>     * @param message the message to log; the format depends on the message factory.<a name="line.1426"></a>
<span class="sourceLineNo">1427</span>     * @param paramSuppliers An array of functions, which when called, produce the desired log message parameters.<a name="line.1427"></a>
<span class="sourceLineNo">1428</span>     * @since 2.4<a name="line.1428"></a>
<span class="sourceLineNo">1429</span>     */<a name="line.1429"></a>
<span class="sourceLineNo">1430</span>    void fatal(String message, Supplier&lt;?&gt;... paramSuppliers);<a name="line.1430"></a>
<span class="sourceLineNo">1431</span><a name="line.1431"></a>
<span class="sourceLineNo">1432</span>    /**<a name="line.1432"></a>
<span class="sourceLineNo">1433</span>     * Logs a message at the {@link Level#FATAL FATAL} level including the stack trace of the {@link Throwable}<a name="line.1433"></a>
<span class="sourceLineNo">1434</span>     * &lt;code&gt;t&lt;/code&gt; passed as parameter.<a name="line.1434"></a>
<span class="sourceLineNo">1435</span>     *<a name="line.1435"></a>
<span class="sourceLineNo">1436</span>     * @param message the message object to log.<a name="line.1436"></a>
<span class="sourceLineNo">1437</span>     * @param t the exception to log, including its stack trace.<a name="line.1437"></a>
<span class="sourceLineNo">1438</span>     */<a name="line.1438"></a>
<span class="sourceLineNo">1439</span>    void fatal(String message, Throwable t);<a name="line.1439"></a>
<span class="sourceLineNo">1440</span><a name="line.1440"></a>
<span class="sourceLineNo">1441</span>    /**<a name="line.1441"></a>
<span class="sourceLineNo">1442</span>     * Logs a message which is only to be constructed if the logging level is the {@link Level#FATAL FATAL} level.<a name="line.1442"></a>
<span class="sourceLineNo">1443</span>     *<a name="line.1443"></a>
<span class="sourceLineNo">1444</span>     * @param msgSupplier A function, which when called, produces the desired log message; the format depends on the<a name="line.1444"></a>
<span class="sourceLineNo">1445</span>     *            message factory.<a name="line.1445"></a>
<span class="sourceLineNo">1446</span>     * @since 2.4<a name="line.1446"></a>
<span class="sourceLineNo">1447</span>     */<a name="line.1447"></a>
<span class="sourceLineNo">1448</span>    void fatal(Supplier&lt;?&gt; msgSupplier);<a name="line.1448"></a>
<span class="sourceLineNo">1449</span><a name="line.1449"></a>
<span class="sourceLineNo">1450</span>    /**<a name="line.1450"></a>
<span class="sourceLineNo">1451</span>     * Logs a message (only to be constructed if the logging level is the {@link Level#FATAL FATAL} level) including the<a name="line.1451"></a>
<span class="sourceLineNo">1452</span>     * stack trace of the {@link Throwable} &lt;code&gt;t&lt;/code&gt; passed as parameter.<a name="line.1452"></a>
<span class="sourceLineNo">1453</span>     *<a name="line.1453"></a>
<span class="sourceLineNo">1454</span>     * @param msgSupplier A function, which when called, produces the desired log message; the format depends on the<a name="line.1454"></a>
<span class="sourceLineNo">1455</span>     *            message factory.<a name="line.1455"></a>
<span class="sourceLineNo">1456</span>     * @param t the exception to log, including its stack trace.<a name="line.1456"></a>
<span class="sourceLineNo">1457</span>     * @since 2.4<a name="line.1457"></a>
<span class="sourceLineNo">1458</span>     */<a name="line.1458"></a>
<span class="sourceLineNo">1459</span>    void fatal(Supplier&lt;?&gt; msgSupplier, Throwable t);<a name="line.1459"></a>
<span class="sourceLineNo">1460</span><a name="line.1460"></a>
<span class="sourceLineNo">1461</span>    /**<a name="line.1461"></a>
<span class="sourceLineNo">1462</span>     * Logs a message with parameters at fatal level.<a name="line.1462"></a>
<span class="sourceLineNo">1463</span>     *<a name="line.1463"></a>
<span class="sourceLineNo">1464</span>     * @param marker the marker data specific to this log statement<a name="line.1464"></a>
<span class="sourceLineNo">1465</span>     * @param message the message to log; the format depends on the message factory.<a name="line.1465"></a>
<span class="sourceLineNo">1466</span>     * @param p0 parameter to the message.<a name="line.1466"></a>
<span class="sourceLineNo">1467</span>     */<a name="line.1467"></a>
<span class="sourceLineNo">1468</span>    void fatal(Marker marker, String message, Object p0);<a name="line.1468"></a>
<span class="sourceLineNo">1469</span><a name="line.1469"></a>
<span class="sourceLineNo">1470</span>    /**<a name="line.1470"></a>
<span class="sourceLineNo">1471</span>     * Logs a message with parameters at fatal level.<a name="line.1471"></a>
<span class="sourceLineNo">1472</span>     *<a name="line.1472"></a>
<span class="sourceLineNo">1473</span>     * @param marker the marker data specific to this log statement<a name="line.1473"></a>
<span class="sourceLineNo">1474</span>     * @param message the message to log; the format depends on the message factory.<a name="line.1474"></a>
<span class="sourceLineNo">1475</span>     * @param p0 parameter to the message.<a name="line.1475"></a>
<span class="sourceLineNo">1476</span>     * @param p1 parameter to the message.<a name="line.1476"></a>
<span class="sourceLineNo">1477</span>     */<a name="line.1477"></a>
<span class="sourceLineNo">1478</span>    void fatal(Marker marker, String message, Object p0, Object p1);<a name="line.1478"></a>
<span class="sourceLineNo">1479</span><a name="line.1479"></a>
<span class="sourceLineNo">1480</span>    /**<a name="line.1480"></a>
<span class="sourceLineNo">1481</span>     * Logs a message with parameters at fatal level.<a name="line.1481"></a>
<span class="sourceLineNo">1482</span>     *<a name="line.1482"></a>
<span class="sourceLineNo">1483</span>     * @param marker the marker data specific to this log statement<a name="line.1483"></a>
<span class="sourceLineNo">1484</span>     * @param message the message to log; the format depends on the message factory.<a name="line.1484"></a>
<span class="sourceLineNo">1485</span>     * @param p0 parameter to the message.<a name="line.1485"></a>
<span class="sourceLineNo">1486</span>     * @param p1 parameter to the message.<a name="line.1486"></a>
<span class="sourceLineNo">1487</span>     * @param p2 parameter to the message.<a name="line.1487"></a>
<span class="sourceLineNo">1488</span>     */<a name="line.1488"></a>
<span class="sourceLineNo">1489</span>    void fatal(Marker marker, String message, Object p0, Object p1, Object p2);<a name="line.1489"></a>
<span class="sourceLineNo">1490</span><a name="line.1490"></a>
<span class="sourceLineNo">1491</span>    /**<a name="line.1491"></a>
<span class="sourceLineNo">1492</span>     * Logs a message with parameters at fatal level.<a name="line.1492"></a>
<span class="sourceLineNo">1493</span>     *<a name="line.1493"></a>
<span class="sourceLineNo">1494</span>     * @param marker the marker data specific to this log statement<a name="line.1494"></a>
<span class="sourceLineNo">1495</span>     * @param message the message to log; the format depends on the message factory.<a name="line.1495"></a>
<span class="sourceLineNo">1496</span>     * @param p0 parameter to the message.<a name="line.1496"></a>
<span class="sourceLineNo">1497</span>     * @param p1 parameter to the message.<a name="line.1497"></a>
<span class="sourceLineNo">1498</span>     * @param p2 parameter to the message.<a name="line.1498"></a>
<span class="sourceLineNo">1499</span>     * @param p3 parameter to the message.<a name="line.1499"></a>
<span class="sourceLineNo">1500</span>     */<a name="line.1500"></a>
<span class="sourceLineNo">1501</span>    void fatal(Marker marker, String message, Object p0, Object p1, Object p2, Object p3);<a name="line.1501"></a>
<span class="sourceLineNo">1502</span><a name="line.1502"></a>
<span class="sourceLineNo">1503</span>    /**<a name="line.1503"></a>
<span class="sourceLineNo">1504</span>     * Logs a message with parameters at fatal level.<a name="line.1504"></a>
<span class="sourceLineNo">1505</span>     *<a name="line.1505"></a>
<span class="sourceLineNo">1506</span>     * @param marker the marker data specific to this log statement<a name="line.1506"></a>
<span class="sourceLineNo">1507</span>     * @param message the message to log; the format depends on the message factory.<a name="line.1507"></a>
<span class="sourceLineNo">1508</span>     * @param p0 parameter to the message.<a name="line.1508"></a>
<span class="sourceLineNo">1509</span>     * @param p1 parameter to the message.<a name="line.1509"></a>
<span class="sourceLineNo">1510</span>     * @param p2 parameter to the message.<a name="line.1510"></a>
<span class="sourceLineNo">1511</span>     * @param p3 parameter to the message.<a name="line.1511"></a>
<span class="sourceLineNo">1512</span>     * @param p4 parameter to the message.<a name="line.1512"></a>
<span class="sourceLineNo">1513</span>     */<a name="line.1513"></a>
<span class="sourceLineNo">1514</span>    void fatal(Marker marker, String message, Object p0, Object p1, Object p2, Object p3, Object p4);<a name="line.1514"></a>
<span class="sourceLineNo">1515</span><a name="line.1515"></a>
<span class="sourceLineNo">1516</span>    /**<a name="line.1516"></a>
<span class="sourceLineNo">1517</span>     * Logs a message with parameters at fatal level.<a name="line.1517"></a>
<span class="sourceLineNo">1518</span>     *<a name="line.1518"></a>
<span class="sourceLineNo">1519</span>     * @param marker the marker data specific to this log statement<a name="line.1519"></a>
<span class="sourceLineNo">1520</span>     * @param message the message to log; the format depends on the message factory.<a name="line.1520"></a>
<span class="sourceLineNo">1521</span>     * @param p0 parameter to the message.<a name="line.1521"></a>
<span class="sourceLineNo">1522</span>     * @param p1 parameter to the message.<a name="line.1522"></a>
<span class="sourceLineNo">1523</span>     * @param p2 parameter to the message.<a name="line.1523"></a>
<span class="sourceLineNo">1524</span>     * @param p3 parameter to the message.<a name="line.1524"></a>
<span class="sourceLineNo">1525</span>     * @param p4 parameter to the message.<a name="line.1525"></a>
<span class="sourceLineNo">1526</span>     * @param p5 parameter to the message.<a name="line.1526"></a>
<span class="sourceLineNo">1527</span>     */<a name="line.1527"></a>
<span class="sourceLineNo">1528</span>    void fatal(Marker marker, String message, Object p0, Object p1, Object p2, Object p3, Object p4, Object p5);<a name="line.1528"></a>
<span class="sourceLineNo">1529</span><a name="line.1529"></a>
<span class="sourceLineNo">1530</span>    /**<a name="line.1530"></a>
<span class="sourceLineNo">1531</span>     * Logs a message with parameters at fatal level.<a name="line.1531"></a>
<span class="sourceLineNo">1532</span>     *<a name="line.1532"></a>
<span class="sourceLineNo">1533</span>     * @param marker the marker data specific to this log statement<a name="line.1533"></a>
<span class="sourceLineNo">1534</span>     * @param message the message to log; the format depends on the message factory.<a name="line.1534"></a>
<span class="sourceLineNo">1535</span>     * @param p0 parameter to the message.<a name="line.1535"></a>
<span class="sourceLineNo">1536</span>     * @param p1 parameter to the message.<a name="line.1536"></a>
<span class="sourceLineNo">1537</span>     * @param p2 parameter to the message.<a name="line.1537"></a>
<span class="sourceLineNo">1538</span>     * @param p3 parameter to the message.<a name="line.1538"></a>
<span class="sourceLineNo">1539</span>     * @param p4 parameter to the message.<a name="line.1539"></a>
<span class="sourceLineNo">1540</span>     * @param p5 parameter to the message.<a name="line.1540"></a>
<span class="sourceLineNo">1541</span>     * @param p6 parameter to the message.<a name="line.1541"></a>
<span class="sourceLineNo">1542</span>     */<a name="line.1542"></a>
<span class="sourceLineNo">1543</span>    void fatal(Marker marker, String message, Object p0, Object p1, Object p2, Object p3, Object p4, Object p5,<a name="line.1543"></a>
<span class="sourceLineNo">1544</span>            Object p6);<a name="line.1544"></a>
<span class="sourceLineNo">1545</span><a name="line.1545"></a>
<span class="sourceLineNo">1546</span>    /**<a name="line.1546"></a>
<span class="sourceLineNo">1547</span>     * Logs a message with parameters at fatal level.<a name="line.1547"></a>
<span class="sourceLineNo">1548</span>     *<a name="line.1548"></a>
<span class="sourceLineNo">1549</span>     * @param marker the marker data specific to this log statement<a name="line.1549"></a>
<span class="sourceLineNo">1550</span>     * @param message the message to log; the format depends on the message factory.<a name="line.1550"></a>
<span class="sourceLineNo">1551</span>     * @param p0 parameter to the message.<a name="line.1551"></a>
<span class="sourceLineNo">1552</span>     * @param p1 parameter to the message.<a name="line.1552"></a>
<span class="sourceLineNo">1553</span>     * @param p2 parameter to the message.<a name="line.1553"></a>
<span class="sourceLineNo">1554</span>     * @param p3 parameter to the message.<a name="line.1554"></a>
<span class="sourceLineNo">1555</span>     * @param p4 parameter to the message.<a name="line.1555"></a>
<span class="sourceLineNo">1556</span>     * @param p5 parameter to the message.<a name="line.1556"></a>
<span class="sourceLineNo">1557</span>     * @param p6 parameter to the message.<a name="line.1557"></a>
<span class="sourceLineNo">1558</span>     * @param p7 parameter to the message.<a name="line.1558"></a>
<span class="sourceLineNo">1559</span>     */<a name="line.1559"></a>
<span class="sourceLineNo">1560</span>    void fatal(Marker marker, String message, Object p0, Object p1, Object p2, Object p3, Object p4, Object p5, Object p6,<a name="line.1560"></a>
<span class="sourceLineNo">1561</span>            Object p7);<a name="line.1561"></a>
<span class="sourceLineNo">1562</span><a name="line.1562"></a>
<span class="sourceLineNo">1563</span>    /**<a name="line.1563"></a>
<span class="sourceLineNo">1564</span>     * Logs a message with parameters at fatal level.<a name="line.1564"></a>
<span class="sourceLineNo">1565</span>     *<a name="line.1565"></a>
<span class="sourceLineNo">1566</span>     * @param marker the marker data specific to this log statement<a name="line.1566"></a>
<span class="sourceLineNo">1567</span>     * @param message the message to log; the format depends on the message factory.<a name="line.1567"></a>
<span class="sourceLineNo">1568</span>     * @param p0 parameter to the message.<a name="line.1568"></a>
<span class="sourceLineNo">1569</span>     * @param p1 parameter to the message.<a name="line.1569"></a>
<span class="sourceLineNo">1570</span>     * @param p2 parameter to the message.<a name="line.1570"></a>
<span class="sourceLineNo">1571</span>     * @param p3 parameter to the message.<a name="line.1571"></a>
<span class="sourceLineNo">1572</span>     * @param p4 parameter to the message.<a name="line.1572"></a>
<span class="sourceLineNo">1573</span>     * @param p5 parameter to the message.<a name="line.1573"></a>
<span class="sourceLineNo">1574</span>     * @param p6 parameter to the message.<a name="line.1574"></a>
<span class="sourceLineNo">1575</span>     * @param p7 parameter to the message.<a name="line.1575"></a>
<span class="sourceLineNo">1576</span>     * @param p8 parameter to the message.<a name="line.1576"></a>
<span class="sourceLineNo">1577</span>     */<a name="line.1577"></a>
<span class="sourceLineNo">1578</span>    void fatal(Marker marker, String message, Object p0, Object p1, Object p2, Object p3, Object p4, Object p5, Object p6,<a name="line.1578"></a>
<span class="sourceLineNo">1579</span>            Object p7, Object p8);<a name="line.1579"></a>
<span class="sourceLineNo">1580</span><a name="line.1580"></a>
<span class="sourceLineNo">1581</span>    /**<a name="line.1581"></a>
<span class="sourceLineNo">1582</span>     * Logs a message with parameters at fatal level.<a name="line.1582"></a>
<span class="sourceLineNo">1583</span>     *<a name="line.1583"></a>
<span class="sourceLineNo">1584</span>     * @param marker the marker data specific to this log statement<a name="line.1584"></a>
<span class="sourceLineNo">1585</span>     * @param message the message to log; the format depends on the message factory.<a name="line.1585"></a>
<span class="sourceLineNo">1586</span>     * @param p0 parameter to the message.<a name="line.1586"></a>
<span class="sourceLineNo">1587</span>     * @param p1 parameter to the message.<a name="line.1587"></a>
<span class="sourceLineNo">1588</span>     * @param p2 parameter to the message.<a name="line.1588"></a>
<span class="sourceLineNo">1589</span>     * @param p3 parameter to the message.<a name="line.1589"></a>
<span class="sourceLineNo">1590</span>     * @param p4 parameter to the message.<a name="line.1590"></a>
<span class="sourceLineNo">1591</span>     * @param p5 parameter to the message.<a name="line.1591"></a>
<span class="sourceLineNo">1592</span>     * @param p6 parameter to the message.<a name="line.1592"></a>
<span class="sourceLineNo">1593</span>     * @param p7 parameter to the message.<a name="line.1593"></a>
<span class="sourceLineNo">1594</span>     * @param p8 parameter to the message.<a name="line.1594"></a>
<span class="sourceLineNo">1595</span>     * @param p9 parameter to the message.<a name="line.1595"></a>
<span class="sourceLineNo">1596</span>     */<a name="line.1596"></a>
<span class="sourceLineNo">1597</span>    void fatal(Marker marker, String message, Object p0, Object p1, Object p2, Object p3, Object p4, Object p5, Object p6,<a name="line.1597"></a>
<span class="sourceLineNo">1598</span>            Object p7, Object p8, Object p9);<a name="line.1598"></a>
<span class="sourceLineNo">1599</span><a name="line.1599"></a>
<span class="sourceLineNo">1600</span>    /**<a name="line.1600"></a>
<span class="sourceLineNo">1601</span>     * Logs a message with parameters at fatal level.<a name="line.1601"></a>
<span class="sourceLineNo">1602</span>     *<a name="line.1602"></a>
<span class="sourceLineNo">1603</span>     * @param message the message to log; the format depends on the message factory.<a name="line.1603"></a>
<span class="sourceLineNo">1604</span>     * @param p0 parameter to the message.<a name="line.1604"></a>
<span class="sourceLineNo">1605</span>     */<a name="line.1605"></a>
<span class="sourceLineNo">1606</span>    void fatal(String message, Object p0);<a name="line.1606"></a>
<span class="sourceLineNo">1607</span><a name="line.1607"></a>
<span class="sourceLineNo">1608</span>    /**<a name="line.1608"></a>
<span class="sourceLineNo">1609</span>     * Logs a message with parameters at fatal level.<a name="line.1609"></a>
<span class="sourceLineNo">1610</span>     *<a name="line.1610"></a>
<span class="sourceLineNo">1611</span>     * @param message the message to log; the format depends on the message factory.<a name="line.1611"></a>
<span class="sourceLineNo">1612</span>     * @param p0 parameter to the message.<a name="line.1612"></a>
<span class="sourceLineNo">1613</span>     * @param p1 parameter to the message.<a name="line.1613"></a>
<span class="sourceLineNo">1614</span>     */<a name="line.1614"></a>
<span class="sourceLineNo">1615</span>    void fatal(String message, Object p0, Object p1);<a name="line.1615"></a>
<span class="sourceLineNo">1616</span><a name="line.1616"></a>
<span class="sourceLineNo">1617</span>    /**<a name="line.1617"></a>
<span class="sourceLineNo">1618</span>     * Logs a message with parameters at fatal level.<a name="line.1618"></a>
<span class="sourceLineNo">1619</span>     *<a name="line.1619"></a>
<span class="sourceLineNo">1620</span>     * @param message the message to log; the format depends on the message factory.<a name="line.1620"></a>
<span class="sourceLineNo">1621</span>     * @param p0 parameter to the message.<a name="line.1621"></a>
<span class="sourceLineNo">1622</span>     * @param p1 parameter to the message.<a name="line.1622"></a>
<span class="sourceLineNo">1623</span>     * @param p2 parameter to the message.<a name="line.1623"></a>
<span class="sourceLineNo">1624</span>     */<a name="line.1624"></a>
<span class="sourceLineNo">1625</span>    void fatal(String message, Object p0, Object p1, Object p2);<a name="line.1625"></a>
<span class="sourceLineNo">1626</span><a name="line.1626"></a>
<span class="sourceLineNo">1627</span>    /**<a name="line.1627"></a>
<span class="sourceLineNo">1628</span>     * Logs a message with parameters at fatal level.<a name="line.1628"></a>
<span class="sourceLineNo">1629</span>     *<a name="line.1629"></a>
<span class="sourceLineNo">1630</span>     * @param message the message to log; the format depends on the message factory.<a name="line.1630"></a>
<span class="sourceLineNo">1631</span>     * @param p0 parameter to the message.<a name="line.1631"></a>
<span class="sourceLineNo">1632</span>     * @param p1 parameter to the message.<a name="line.1632"></a>
<span class="sourceLineNo">1633</span>     * @param p2 parameter to the message.<a name="line.1633"></a>
<span class="sourceLineNo">1634</span>     * @param p3 parameter to the message.<a name="line.1634"></a>
<span class="sourceLineNo">1635</span>     */<a name="line.1635"></a>
<span class="sourceLineNo">1636</span>    void fatal(String message, Object p0, Object p1, Object p2, Object p3);<a name="line.1636"></a>
<span class="sourceLineNo">1637</span><a name="line.1637"></a>
<span class="sourceLineNo">1638</span>    /**<a name="line.1638"></a>
<span class="sourceLineNo">1639</span>     * Logs a message with parameters at fatal level.<a name="line.1639"></a>
<span class="sourceLineNo">1640</span>     *<a name="line.1640"></a>
<span class="sourceLineNo">1641</span>     * @param message the message to log; the format depends on the message factory.<a name="line.1641"></a>
<span class="sourceLineNo">1642</span>     * @param p0 parameter to the message.<a name="line.1642"></a>
<span class="sourceLineNo">1643</span>     * @param p1 parameter to the message.<a name="line.1643"></a>
<span class="sourceLineNo">1644</span>     * @param p2 parameter to the message.<a name="line.1644"></a>
<span class="sourceLineNo">1645</span>     * @param p3 parameter to the message.<a name="line.1645"></a>
<span class="sourceLineNo">1646</span>     * @param p4 parameter to the message.<a name="line.1646"></a>
<span class="sourceLineNo">1647</span>     */<a name="line.1647"></a>
<span class="sourceLineNo">1648</span>    void fatal(String message, Object p0, Object p1, Object p2, Object p3, Object p4);<a name="line.1648"></a>
<span class="sourceLineNo">1649</span><a name="line.1649"></a>
<span class="sourceLineNo">1650</span>    /**<a name="line.1650"></a>
<span class="sourceLineNo">1651</span>     * Logs a message with parameters at fatal level.<a name="line.1651"></a>
<span class="sourceLineNo">1652</span>     *<a name="line.1652"></a>
<span class="sourceLineNo">1653</span>     * @param message the message to log; the format depends on the message factory.<a name="line.1653"></a>
<span class="sourceLineNo">1654</span>     * @param p0 parameter to the message.<a name="line.1654"></a>
<span class="sourceLineNo">1655</span>     * @param p1 parameter to the message.<a name="line.1655"></a>
<span class="sourceLineNo">1656</span>     * @param p2 parameter to the message.<a name="line.1656"></a>
<span class="sourceLineNo">1657</span>     * @param p3 parameter to the message.<a name="line.1657"></a>
<span class="sourceLineNo">1658</span>     * @param p4 parameter to the message.<a name="line.1658"></a>
<span class="sourceLineNo">1659</span>     * @param p5 parameter to the message.<a name="line.1659"></a>
<span class="sourceLineNo">1660</span>     */<a name="line.1660"></a>
<span class="sourceLineNo">1661</span>    void fatal(String message, Object p0, Object p1, Object p2, Object p3, Object p4, Object p5);<a name="line.1661"></a>
<span class="sourceLineNo">1662</span><a name="line.1662"></a>
<span class="sourceLineNo">1663</span>    /**<a name="line.1663"></a>
<span class="sourceLineNo">1664</span>     * Logs a message with parameters at fatal level.<a name="line.1664"></a>
<span class="sourceLineNo">1665</span>     *<a name="line.1665"></a>
<span class="sourceLineNo">1666</span>     * @param message the message to log; the format depends on the message factory.<a name="line.1666"></a>
<span class="sourceLineNo">1667</span>     * @param p0 parameter to the message.<a name="line.1667"></a>
<span class="sourceLineNo">1668</span>     * @param p1 parameter to the message.<a name="line.1668"></a>
<span class="sourceLineNo">1669</span>     * @param p2 parameter to the message.<a name="line.1669"></a>
<span class="sourceLineNo">1670</span>     * @param p3 parameter to the message.<a name="line.1670"></a>
<span class="sourceLineNo">1671</span>     * @param p4 parameter to the message.<a name="line.1671"></a>
<span class="sourceLineNo">1672</span>     * @param p5 parameter to the message.<a name="line.1672"></a>
<span class="sourceLineNo">1673</span>     * @param p6 parameter to the message.<a name="line.1673"></a>
<span class="sourceLineNo">1674</span>     */<a name="line.1674"></a>
<span class="sourceLineNo">1675</span>    void fatal(String message, Object p0, Object p1, Object p2, Object p3, Object p4, Object p5, Object p6);<a name="line.1675"></a>
<span class="sourceLineNo">1676</span><a name="line.1676"></a>
<span class="sourceLineNo">1677</span>    /**<a name="line.1677"></a>
<span class="sourceLineNo">1678</span>     * Logs a message with parameters at fatal level.<a name="line.1678"></a>
<span class="sourceLineNo">1679</span>     *<a name="line.1679"></a>
<span class="sourceLineNo">1680</span>     * @param message the message to log; the format depends on the message factory.<a name="line.1680"></a>
<span class="sourceLineNo">1681</span>     * @param p0 parameter to the message.<a name="line.1681"></a>
<span class="sourceLineNo">1682</span>     * @param p1 parameter to the message.<a name="line.1682"></a>
<span class="sourceLineNo">1683</span>     * @param p2 parameter to the message.<a name="line.1683"></a>
<span class="sourceLineNo">1684</span>     * @param p3 parameter to the message.<a name="line.1684"></a>
<span class="sourceLineNo">1685</span>     * @param p4 parameter to the message.<a name="line.1685"></a>
<span class="sourceLineNo">1686</span>     * @param p5 parameter to the message.<a name="line.1686"></a>
<span class="sourceLineNo">1687</span>     * @param p6 parameter to the message.<a name="line.1687"></a>
<span class="sourceLineNo">1688</span>     * @param p7 parameter to the message.<a name="line.1688"></a>
<span class="sourceLineNo">1689</span>     */<a name="line.1689"></a>
<span class="sourceLineNo">1690</span>    void fatal(String message, Object p0, Object p1, Object p2, Object p3, Object p4, Object p5, Object p6, Object p7);<a name="line.1690"></a>
<span class="sourceLineNo">1691</span><a name="line.1691"></a>
<span class="sourceLineNo">1692</span>    /**<a name="line.1692"></a>
<span class="sourceLineNo">1693</span>     * Logs a message with parameters at fatal level.<a name="line.1693"></a>
<span class="sourceLineNo">1694</span>     *<a name="line.1694"></a>
<span class="sourceLineNo">1695</span>     * @param message the message to log; the format depends on the message factory.<a name="line.1695"></a>
<span class="sourceLineNo">1696</span>     * @param p0 parameter to the message.<a name="line.1696"></a>
<span class="sourceLineNo">1697</span>     * @param p1 parameter to the message.<a name="line.1697"></a>
<span class="sourceLineNo">1698</span>     * @param p2 parameter to the message.<a name="line.1698"></a>
<span class="sourceLineNo">1699</span>     * @param p3 parameter to the message.<a name="line.1699"></a>
<span class="sourceLineNo">1700</span>     * @param p4 parameter to the message.<a name="line.1700"></a>
<span class="sourceLineNo">1701</span>     * @param p5 parameter to the message.<a name="line.1701"></a>
<span class="sourceLineNo">1702</span>     * @param p6 parameter to the message.<a name="line.1702"></a>
<span class="sourceLineNo">1703</span>     * @param p7 parameter to the message.<a name="line.1703"></a>
<span class="sourceLineNo">1704</span>     * @param p8 parameter to the message.<a name="line.1704"></a>
<span class="sourceLineNo">1705</span>     */<a name="line.1705"></a>
<span class="sourceLineNo">1706</span>    void fatal(String message, Object p0, Object p1, Object p2, Object p3, Object p4, Object p5, Object p6, Object p7,<a name="line.1706"></a>
<span class="sourceLineNo">1707</span>            Object p8);<a name="line.1707"></a>
<span class="sourceLineNo">1708</span><a name="line.1708"></a>
<span class="sourceLineNo">1709</span>    /**<a name="line.1709"></a>
<span class="sourceLineNo">1710</span>     * Logs a message with parameters at fatal level.<a name="line.1710"></a>
<span class="sourceLineNo">1711</span>     *<a name="line.1711"></a>
<span class="sourceLineNo">1712</span>     * @param message the message to log; the format depends on the message factory.<a name="line.1712"></a>
<span class="sourceLineNo">1713</span>     * @param p0 parameter to the message.<a name="line.1713"></a>
<span class="sourceLineNo">1714</span>     * @param p1 parameter to the message.<a name="line.1714"></a>
<span class="sourceLineNo">1715</span>     * @param p2 parameter to the message.<a name="line.1715"></a>
<span class="sourceLineNo">1716</span>     * @param p3 parameter to the message.<a name="line.1716"></a>
<span class="sourceLineNo">1717</span>     * @param p4 parameter to the message.<a name="line.1717"></a>
<span class="sourceLineNo">1718</span>     * @param p5 parameter to the message.<a name="line.1718"></a>
<span class="sourceLineNo">1719</span>     * @param p6 parameter to the message.<a name="line.1719"></a>
<span class="sourceLineNo">1720</span>     * @param p7 parameter to the message.<a name="line.1720"></a>
<span class="sourceLineNo">1721</span>     * @param p8 parameter to the message.<a name="line.1721"></a>
<span class="sourceLineNo">1722</span>     * @param p9 parameter to the message.<a name="line.1722"></a>
<span class="sourceLineNo">1723</span>     */<a name="line.1723"></a>
<span class="sourceLineNo">1724</span>    void fatal(String message, Object p0, Object p1, Object p2, Object p3, Object p4, Object p5, Object p6, Object p7,<a name="line.1724"></a>
<span class="sourceLineNo">1725</span>            Object p8, Object p9);<a name="line.1725"></a>
<span class="sourceLineNo">1726</span><a name="line.1726"></a>
<span class="sourceLineNo">1727</span>    /**<a name="line.1727"></a>
<span class="sourceLineNo">1728</span>     * Gets the Level associated with the Logger.<a name="line.1728"></a>
<span class="sourceLineNo">1729</span>     *<a name="line.1729"></a>
<span class="sourceLineNo">1730</span>     * @return the Level associate with the Logger.<a name="line.1730"></a>
<span class="sourceLineNo">1731</span>     */<a name="line.1731"></a>
<span class="sourceLineNo">1732</span>    Level getLevel();<a name="line.1732"></a>
<span class="sourceLineNo">1733</span><a name="line.1733"></a>
<span class="sourceLineNo">1734</span>    /**<a name="line.1734"></a>
<span class="sourceLineNo">1735</span>     * Gets the message factory used to convert message Objects and Strings/CharSequences into actual log Messages.<a name="line.1735"></a>
<span class="sourceLineNo">1736</span>     *<a name="line.1736"></a>
<span class="sourceLineNo">1737</span>     * Since version 2.6, Log4j internally uses message factories that implement the {@link MessageFactory2} interface.<a name="line.1737"></a>
<span class="sourceLineNo">1738</span>     * From version 2.6.2, the return type of this method was changed from {@link MessageFactory} to<a name="line.1738"></a>
<span class="sourceLineNo">1739</span>     * {@code &lt;MF extends MessageFactory&gt; MF}. The returned factory will always implement {@link MessageFactory2},<a name="line.1739"></a>
<span class="sourceLineNo">1740</span>     * but the return type of this method could not be changed to {@link MessageFactory2} without breaking binary<a name="line.1740"></a>
<span class="sourceLineNo">1741</span>     * compatibility.<a name="line.1741"></a>
<span class="sourceLineNo">1742</span>     *<a name="line.1742"></a>
<span class="sourceLineNo">1743</span>     * @return the message factory, as an instance of {@link MessageFactory2}<a name="line.1743"></a>
<span class="sourceLineNo">1744</span>     */<a name="line.1744"></a>
<span class="sourceLineNo">1745</span>    &lt;MF extends MessageFactory&gt; MF getMessageFactory();<a name="line.1745"></a>
<span class="sourceLineNo">1746</span><a name="line.1746"></a>
<span class="sourceLineNo">1747</span>    /**<a name="line.1747"></a>
<span class="sourceLineNo">1748</span>     * Gets the logger name.<a name="line.1748"></a>
<span class="sourceLineNo">1749</span>     *<a name="line.1749"></a>
<span class="sourceLineNo">1750</span>     * @return the logger name.<a name="line.1750"></a>
<span class="sourceLineNo">1751</span>     */<a name="line.1751"></a>
<span class="sourceLineNo">1752</span>    String getName();<a name="line.1752"></a>
<span class="sourceLineNo">1753</span><a name="line.1753"></a>
<span class="sourceLineNo">1754</span>    /**<a name="line.1754"></a>
<span class="sourceLineNo">1755</span>     * Logs a message with the specific Marker at the {@link Level#INFO INFO} level.<a name="line.1755"></a>
<span class="sourceLineNo">1756</span>     *<a name="line.1756"></a>
<span class="sourceLineNo">1757</span>     * @param marker the marker data specific to this log statement<a name="line.1757"></a>
<span class="sourceLineNo">1758</span>     * @param msg the message string to be logged<a name="line.1758"></a>
<span class="sourceLineNo">1759</span>     */<a name="line.1759"></a>
<span class="sourceLineNo">1760</span>    void info(Marker marker, Message msg);<a name="line.1760"></a>
<span class="sourceLineNo">1761</span><a name="line.1761"></a>
<span class="sourceLineNo">1762</span>    /**<a name="line.1762"></a>
<span class="sourceLineNo">1763</span>     * Logs a message with the specific Marker at the {@link Level#INFO INFO} level.<a name="line.1763"></a>
<span class="sourceLineNo">1764</span>     *<a name="line.1764"></a>
<span class="sourceLineNo">1765</span>     * @param marker the marker data specific to this log statement<a name="line.1765"></a>
<span class="sourceLineNo">1766</span>     * @param msg the message string to be logged<a name="line.1766"></a>
<span class="sourceLineNo">1767</span>     * @param t A Throwable or null.<a name="line.1767"></a>
<span class="sourceLineNo">1768</span>     */<a name="line.1768"></a>
<span class="sourceLineNo">1769</span>    void info(Marker marker, Message msg, Throwable t);<a name="line.1769"></a>
<span class="sourceLineNo">1770</span><a name="line.1770"></a>
<span class="sourceLineNo">1771</span>    /**<a name="line.1771"></a>
<span class="sourceLineNo">1772</span>     * Logs a message which is only to be constructed if the logging level is the {@link Level#INFO INFO} level with the<a name="line.1772"></a>
<span class="sourceLineNo">1773</span>     * specified Marker. The {@code MessageSupplier} may or may not use the {@link MessageFactory} to construct the<a name="line.1773"></a>
<span class="sourceLineNo">1774</span>     * {@code Message}.<a name="line.1774"></a>
<span class="sourceLineNo">1775</span>     *<a name="line.1775"></a>
<span class="sourceLineNo">1776</span>     * @param marker the marker data specific to this log statement<a name="line.1776"></a>
<span class="sourceLineNo">1777</span>     * @param msgSupplier A function, which when called, produces the desired log message.<a name="line.1777"></a>
<span class="sourceLineNo">1778</span>     * @since 2.4<a name="line.1778"></a>
<span class="sourceLineNo">1779</span>     */<a name="line.1779"></a>
<span class="sourceLineNo">1780</span>    void info(Marker marker, MessageSupplier msgSupplier);<a name="line.1780"></a>
<span class="sourceLineNo">1781</span><a name="line.1781"></a>
<span class="sourceLineNo">1782</span>    /**<a name="line.1782"></a>
<span class="sourceLineNo">1783</span>     * Logs a message (only to be constructed if the logging level is the {@link Level#INFO INFO} level) with the<a name="line.1783"></a>
<span class="sourceLineNo">1784</span>     * specified Marker and including the stack trace of the {@link Throwable} &lt;code&gt;t&lt;/code&gt; passed as parameter. The<a name="line.1784"></a>
<span class="sourceLineNo">1785</span>     * {@code MessageSupplier} may or may not use the {@link MessageFactory} to construct the {@code Message}.<a name="line.1785"></a>
<span class="sourceLineNo">1786</span>     *<a name="line.1786"></a>
<span class="sourceLineNo">1787</span>     * @param marker the marker data specific to this log statement<a name="line.1787"></a>
<span class="sourceLineNo">1788</span>     * @param msgSupplier A function, which when called, produces the desired log message.<a name="line.1788"></a>
<span class="sourceLineNo">1789</span>     * @param t A Throwable or null.<a name="line.1789"></a>
<span class="sourceLineNo">1790</span>     * @since 2.4<a name="line.1790"></a>
<span class="sourceLineNo">1791</span>     */<a name="line.1791"></a>
<span class="sourceLineNo">1792</span>    void info(Marker marker, MessageSupplier msgSupplier, Throwable t);<a name="line.1792"></a>
<span class="sourceLineNo">1793</span><a name="line.1793"></a>
<span class="sourceLineNo">1794</span>    /**<a name="line.1794"></a>
<span class="sourceLineNo">1795</span>     * Logs a message CharSequence with the {@link Level#INFO INFO} level.<a name="line.1795"></a>
<span class="sourceLineNo">1796</span>     *<a name="line.1796"></a>
<span class="sourceLineNo">1797</span>     * @param marker the marker data specific to this log statement<a name="line.1797"></a>
<span class="sourceLineNo">1798</span>     * @param message the message CharSequence to log.<a name="line.1798"></a>
<span class="sourceLineNo">1799</span>     */<a name="line.1799"></a>
<span class="sourceLineNo">1800</span>    void info(Marker marker, CharSequence message);<a name="line.1800"></a>
<span class="sourceLineNo">1801</span><a name="line.1801"></a>
<span class="sourceLineNo">1802</span>    /**<a name="line.1802"></a>
<span class="sourceLineNo">1803</span>     * Logs a CharSequence at the {@link Level#INFO INFO} level including the stack trace of the {@link Throwable}<a name="line.1803"></a>
<span class="sourceLineNo">1804</span>     * &lt;code&gt;t&lt;/code&gt; passed as parameter.<a name="line.1804"></a>
<span class="sourceLineNo">1805</span>     *<a name="line.1805"></a>
<span class="sourceLineNo">1806</span>     * @param marker the marker data specific to this log statement<a name="line.1806"></a>
<span class="sourceLineNo">1807</span>     * @param message the message CharSequence to log.<a name="line.1807"></a>
<span class="sourceLineNo">1808</span>     * @param t the exception to log, including its stack trace.<a name="line.1808"></a>
<span class="sourceLineNo">1809</span>     */<a name="line.1809"></a>
<span class="sourceLineNo">1810</span>    void info(Marker marker, CharSequence message, Throwable t);<a name="line.1810"></a>
<span class="sourceLineNo">1811</span><a name="line.1811"></a>
<span class="sourceLineNo">1812</span>    /**<a name="line.1812"></a>
<span class="sourceLineNo">1813</span>     * Logs a message object with the {@link Level#INFO INFO} level.<a name="line.1813"></a>
<span class="sourceLineNo">1814</span>     *<a name="line.1814"></a>
<span class="sourceLineNo">1815</span>     * @param marker the marker data specific to this log statement<a name="line.1815"></a>
<span class="sourceLineNo">1816</span>     * @param message the message object to log.<a name="line.1816"></a>
<span class="sourceLineNo">1817</span>     */<a name="line.1817"></a>
<span class="sourceLineNo">1818</span>    void info(Marker marker, Object message);<a name="line.1818"></a>
<span class="sourceLineNo">1819</span><a name="line.1819"></a>
<span class="sourceLineNo">1820</span>    /**<a name="line.1820"></a>
<span class="sourceLineNo">1821</span>     * Logs a message at the {@link Level#INFO INFO} level including the stack trace of the {@link Throwable}<a name="line.1821"></a>
<span class="sourceLineNo">1822</span>     * &lt;code&gt;t&lt;/code&gt; passed as parameter.<a name="line.1822"></a>
<span class="sourceLineNo">1823</span>     *<a name="line.1823"></a>
<span class="sourceLineNo">1824</span>     * @param marker the marker data specific to this log statement<a name="line.1824"></a>
<span class="sourceLineNo">1825</span>     * @param message the message object to log.<a name="line.1825"></a>
<span class="sourceLineNo">1826</span>     * @param t the exception to log, including its stack trace.<a name="line.1826"></a>
<span class="sourceLineNo">1827</span>     */<a name="line.1827"></a>
<span class="sourceLineNo">1828</span>    void info(Marker marker, Object message, Throwable t);<a name="line.1828"></a>
<span class="sourceLineNo">1829</span><a name="line.1829"></a>
<span class="sourceLineNo">1830</span>    /**<a name="line.1830"></a>
<span class="sourceLineNo">1831</span>     * Logs a message object with the {@link Level#INFO INFO} level.<a name="line.1831"></a>
<span class="sourceLineNo">1832</span>     *<a name="line.1832"></a>
<span class="sourceLineNo">1833</span>     * @param marker the marker data specific to this log statement<a name="line.1833"></a>
<span class="sourceLineNo">1834</span>     * @param message the message object to log.<a name="line.1834"></a>
<span class="sourceLineNo">1835</span>     */<a name="line.1835"></a>
<span class="sourceLineNo">1836</span>    void info(Marker marker, String message);<a name="line.1836"></a>
<span class="sourceLineNo">1837</span><a name="line.1837"></a>
<span class="sourceLineNo">1838</span>    /**<a name="line.1838"></a>
<span class="sourceLineNo">1839</span>     * Logs a message with parameters at the {@link Level#INFO INFO} level.<a name="line.1839"></a>
<span class="sourceLineNo">1840</span>     *<a name="line.1840"></a>
<span class="sourceLineNo">1841</span>     * @param marker the marker data specific to this log statement<a name="line.1841"></a>
<span class="sourceLineNo">1842</span>     * @param message the message to log; the format depends on the message factory.<a name="line.1842"></a>
<span class="sourceLineNo">1843</span>     * @param params parameters to the message.<a name="line.1843"></a>
<span class="sourceLineNo">1844</span>     * @see #getMessageFactory()<a name="line.1844"></a>
<span class="sourceLineNo">1845</span>     */<a name="line.1845"></a>
<span class="sourceLineNo">1846</span>    void info(Marker marker, String message, Object... params);<a name="line.1846"></a>
<span class="sourceLineNo">1847</span><a name="line.1847"></a>
<span class="sourceLineNo">1848</span>    /**<a name="line.1848"></a>
<span class="sourceLineNo">1849</span>     * Logs a message with parameters which are only to be constructed if the logging level is the {@link Level#INFO<a name="line.1849"></a>
<span class="sourceLineNo">1850</span>     * INFO} level.<a name="line.1850"></a>
<span class="sourceLineNo">1851</span>     *<a name="line.1851"></a>
<span class="sourceLineNo">1852</span>     * @param marker the marker data specific to this log statement<a name="line.1852"></a>
<span class="sourceLineNo">1853</span>     * @param message the message to log; the format depends on the message factory.<a name="line.1853"></a>
<span class="sourceLineNo">1854</span>     * @param paramSuppliers An array of functions, which when called, produce the desired log message parameters.<a name="line.1854"></a>
<span class="sourceLineNo">1855</span>     * @since 2.4<a name="line.1855"></a>
<span class="sourceLineNo">1856</span>     */<a name="line.1856"></a>
<span class="sourceLineNo">1857</span>    void info(Marker marker, String message, Supplier&lt;?&gt;... paramSuppliers);<a name="line.1857"></a>
<span class="sourceLineNo">1858</span><a name="line.1858"></a>
<span class="sourceLineNo">1859</span>    /**<a name="line.1859"></a>
<span class="sourceLineNo">1860</span>     * Logs a message at the {@link Level#INFO INFO} level including the stack trace of the {@link Throwable}<a name="line.1860"></a>
<span class="sourceLineNo">1861</span>     * &lt;code&gt;t&lt;/code&gt; passed as parameter.<a name="line.1861"></a>
<span class="sourceLineNo">1862</span>     *<a name="line.1862"></a>
<span class="sourceLineNo">1863</span>     * @param marker the marker data specific to this log statement<a name="line.1863"></a>
<span class="sourceLineNo">1864</span>     * @param message the message object to log.<a name="line.1864"></a>
<span class="sourceLineNo">1865</span>     * @param t the exception to log, including its stack trace.<a name="line.1865"></a>
<span class="sourceLineNo">1866</span>     */<a name="line.1866"></a>
<span class="sourceLineNo">1867</span>    void info(Marker marker, String message, Throwable t);<a name="line.1867"></a>
<span class="sourceLineNo">1868</span><a name="line.1868"></a>
<span class="sourceLineNo">1869</span>    /**<a name="line.1869"></a>
<span class="sourceLineNo">1870</span>     * Logs a message which is only to be constructed if the logging level is the {@link Level#INFO INFO} level with the<a name="line.1870"></a>
<span class="sourceLineNo">1871</span>     * specified Marker.<a name="line.1871"></a>
<span class="sourceLineNo">1872</span>     *<a name="line.1872"></a>
<span class="sourceLineNo">1873</span>     * @param marker the marker data specific to this log statement<a name="line.1873"></a>
<span class="sourceLineNo">1874</span>     * @param msgSupplier A function, which when called, produces the desired log message; the format depends on the<a name="line.1874"></a>
<span class="sourceLineNo">1875</span>     *            message factory.<a name="line.1875"></a>
<span class="sourceLineNo">1876</span>     * @since 2.4<a name="line.1876"></a>
<span class="sourceLineNo">1877</span>     */<a name="line.1877"></a>
<span class="sourceLineNo">1878</span>    void info(Marker marker, Supplier&lt;?&gt; msgSupplier);<a name="line.1878"></a>
<span class="sourceLineNo">1879</span><a name="line.1879"></a>
<span class="sourceLineNo">1880</span>    /**<a name="line.1880"></a>
<span class="sourceLineNo">1881</span>     * Logs a message (only to be constructed if the logging level is the {@link Level#INFO INFO} level) with the<a name="line.1881"></a>
<span class="sourceLineNo">1882</span>     * specified Marker and including the stack trace of the {@link Throwable} &lt;code&gt;t&lt;/code&gt; passed as parameter.<a name="line.1882"></a>
<span class="sourceLineNo">1883</span>     *<a name="line.1883"></a>
<span class="sourceLineNo">1884</span>     * @param marker the marker data specific to this log statement<a name="line.1884"></a>
<span class="sourceLineNo">1885</span>     * @param msgSupplier A function, which when called, produces the desired log message; the format depends on the<a name="line.1885"></a>
<span class="sourceLineNo">1886</span>     *            message factory.<a name="line.1886"></a>
<span class="sourceLineNo">1887</span>     * @param t A Throwable or null.<a name="line.1887"></a>
<span class="sourceLineNo">1888</span>     * @since 2.4<a name="line.1888"></a>
<span class="sourceLineNo">1889</span>     */<a name="line.1889"></a>
<span class="sourceLineNo">1890</span>    void info(Marker marker, Supplier&lt;?&gt; msgSupplier, Throwable t);<a name="line.1890"></a>
<span class="sourceLineNo">1891</span><a name="line.1891"></a>
<span class="sourceLineNo">1892</span>    /**<a name="line.1892"></a>
<span class="sourceLineNo">1893</span>     * Logs a message with the specific Marker at the {@link Level#INFO INFO} level.<a name="line.1893"></a>
<span class="sourceLineNo">1894</span>     *<a name="line.1894"></a>
<span class="sourceLineNo">1895</span>     * @param msg the message string to be logged<a name="line.1895"></a>
<span class="sourceLineNo">1896</span>     */<a name="line.1896"></a>
<span class="sourceLineNo">1897</span>    void info(Message msg);<a name="line.1897"></a>
<span class="sourceLineNo">1898</span><a name="line.1898"></a>
<span class="sourceLineNo">1899</span>    /**<a name="line.1899"></a>
<span class="sourceLineNo">1900</span>     * Logs a message with the specific Marker at the {@link Level#INFO INFO} level.<a name="line.1900"></a>
<span class="sourceLineNo">1901</span>     *<a name="line.1901"></a>
<span class="sourceLineNo">1902</span>     * @param msg the message string to be logged<a name="line.1902"></a>
<span class="sourceLineNo">1903</span>     * @param t A Throwable or null.<a name="line.1903"></a>
<span class="sourceLineNo">1904</span>     */<a name="line.1904"></a>
<span class="sourceLineNo">1905</span>    void info(Message msg, Throwable t);<a name="line.1905"></a>
<span class="sourceLineNo">1906</span><a name="line.1906"></a>
<span class="sourceLineNo">1907</span>    /**<a name="line.1907"></a>
<span class="sourceLineNo">1908</span>     * Logs a message which is only to be constructed if the logging level is the {@link Level#INFO INFO} level. The<a name="line.1908"></a>
<span class="sourceLineNo">1909</span>     * {@code MessageSupplier} may or may not use the {@link MessageFactory} to construct the {@code Message}.<a name="line.1909"></a>
<span class="sourceLineNo">1910</span>     *<a name="line.1910"></a>
<span class="sourceLineNo">1911</span>     * @param msgSupplier A function, which when called, produces the desired log message.<a name="line.1911"></a>
<span class="sourceLineNo">1912</span>     * @since 2.4<a name="line.1912"></a>
<span class="sourceLineNo">1913</span>     */<a name="line.1913"></a>
<span class="sourceLineNo">1914</span>    void info(MessageSupplier msgSupplier);<a name="line.1914"></a>
<span class="sourceLineNo">1915</span><a name="line.1915"></a>
<span class="sourceLineNo">1916</span>    /**<a name="line.1916"></a>
<span class="sourceLineNo">1917</span>     * Logs a message (only to be constructed if the logging level is the {@link Level#INFO INFO} level) including the<a name="line.1917"></a>
<span class="sourceLineNo">1918</span>     * stack trace of the {@link Throwable} &lt;code&gt;t&lt;/code&gt; passed as parameter. The {@code MessageSupplier} may or may<a name="line.1918"></a>
<span class="sourceLineNo">1919</span>     * not use the {@link MessageFactory} to construct the {@code Message}.<a name="line.1919"></a>
<span class="sourceLineNo">1920</span>     *<a name="line.1920"></a>
<span class="sourceLineNo">1921</span>     * @param msgSupplier A function, which when called, produces the desired log message.<a name="line.1921"></a>
<span class="sourceLineNo">1922</span>     * @param t the exception to log, including its stack trace.<a name="line.1922"></a>
<span class="sourceLineNo">1923</span>     * @since 2.4<a name="line.1923"></a>
<span class="sourceLineNo">1924</span>     */<a name="line.1924"></a>
<span class="sourceLineNo">1925</span>    void info(MessageSupplier msgSupplier, Throwable t);<a name="line.1925"></a>
<span class="sourceLineNo">1926</span><a name="line.1926"></a>
<span class="sourceLineNo">1927</span>    /**<a name="line.1927"></a>
<span class="sourceLineNo">1928</span>     * Logs a message CharSequence with the {@link Level#INFO INFO} level.<a name="line.1928"></a>
<span class="sourceLineNo">1929</span>     *<a name="line.1929"></a>
<span class="sourceLineNo">1930</span>     * @param message the message CharSequence to log.<a name="line.1930"></a>
<span class="sourceLineNo">1931</span>     */<a name="line.1931"></a>
<span class="sourceLineNo">1932</span>    void info(CharSequence message);<a name="line.1932"></a>
<span class="sourceLineNo">1933</span><a name="line.1933"></a>
<span class="sourceLineNo">1934</span>    /**<a name="line.1934"></a>
<span class="sourceLineNo">1935</span>     * Logs a CharSequence at the {@link Level#INFO INFO} level including the stack trace of the {@link Throwable}<a name="line.1935"></a>
<span class="sourceLineNo">1936</span>     * &lt;code&gt;t&lt;/code&gt; passed as parameter.<a name="line.1936"></a>
<span class="sourceLineNo">1937</span>     *<a name="line.1937"></a>
<span class="sourceLineNo">1938</span>     * @param message the message CharSequence to log.<a name="line.1938"></a>
<span class="sourceLineNo">1939</span>     * @param t the exception to log, including its stack trace.<a name="line.1939"></a>
<span class="sourceLineNo">1940</span>     */<a name="line.1940"></a>
<span class="sourceLineNo">1941</span>    void info(CharSequence message, Throwable t);<a name="line.1941"></a>
<span class="sourceLineNo">1942</span><a name="line.1942"></a>
<span class="sourceLineNo">1943</span>    /**<a name="line.1943"></a>
<span class="sourceLineNo">1944</span>     * Logs a message object with the {@link Level#INFO INFO} level.<a name="line.1944"></a>
<span class="sourceLineNo">1945</span>     *<a name="line.1945"></a>
<span class="sourceLineNo">1946</span>     * @param message the message object to log.<a name="line.1946"></a>
<span class="sourceLineNo">1947</span>     */<a name="line.1947"></a>
<span class="sourceLineNo">1948</span>    void info(Object message);<a name="line.1948"></a>
<span class="sourceLineNo">1949</span><a name="line.1949"></a>
<span class="sourceLineNo">1950</span>    /**<a name="line.1950"></a>
<span class="sourceLineNo">1951</span>     * Logs a message at the {@link Level#INFO INFO} level including the stack trace of the {@link Throwable}<a name="line.1951"></a>
<span class="sourceLineNo">1952</span>     * &lt;code&gt;t&lt;/code&gt; passed as parameter.<a name="line.1952"></a>
<span class="sourceLineNo">1953</span>     *<a name="line.1953"></a>
<span class="sourceLineNo">1954</span>     * @param message the message object to log.<a name="line.1954"></a>
<span class="sourceLineNo">1955</span>     * @param t the exception to log, including its stack trace.<a name="line.1955"></a>
<span class="sourceLineNo">1956</span>     */<a name="line.1956"></a>
<span class="sourceLineNo">1957</span>    void info(Object message, Throwable t);<a name="line.1957"></a>
<span class="sourceLineNo">1958</span><a name="line.1958"></a>
<span class="sourceLineNo">1959</span>    /**<a name="line.1959"></a>
<span class="sourceLineNo">1960</span>     * Logs a message object with the {@link Level#INFO INFO} level.<a name="line.1960"></a>
<span class="sourceLineNo">1961</span>     *<a name="line.1961"></a>
<span class="sourceLineNo">1962</span>     * @param message the message string to log.<a name="line.1962"></a>
<span class="sourceLineNo">1963</span>     */<a name="line.1963"></a>
<span class="sourceLineNo">1964</span>    void info(String message);<a name="line.1964"></a>
<span class="sourceLineNo">1965</span><a name="line.1965"></a>
<span class="sourceLineNo">1966</span>    /**<a name="line.1966"></a>
<span class="sourceLineNo">1967</span>     * Logs a message with parameters at the {@link Level#INFO INFO} level.<a name="line.1967"></a>
<span class="sourceLineNo">1968</span>     *<a name="line.1968"></a>
<span class="sourceLineNo">1969</span>     * @param message the message to log; the format depends on the message factory.<a name="line.1969"></a>
<span class="sourceLineNo">1970</span>     * @param params parameters to the message.<a name="line.1970"></a>
<span class="sourceLineNo">1971</span>     * @see #getMessageFactory()<a name="line.1971"></a>
<span class="sourceLineNo">1972</span>     */<a name="line.1972"></a>
<span class="sourceLineNo">1973</span>    void info(String message, Object... params);<a name="line.1973"></a>
<span class="sourceLineNo">1974</span><a name="line.1974"></a>
<span class="sourceLineNo">1975</span>    /**<a name="line.1975"></a>
<span class="sourceLineNo">1976</span>     * Logs a message with parameters which are only to be constructed if the logging level is the {@link Level#INFO<a name="line.1976"></a>
<span class="sourceLineNo">1977</span>     * INFO} level.<a name="line.1977"></a>
<span class="sourceLineNo">1978</span>     *<a name="line.1978"></a>
<span class="sourceLineNo">1979</span>     * @param message the message to log; the format depends on the message factory.<a name="line.1979"></a>
<span class="sourceLineNo">1980</span>     * @param paramSuppliers An array of functions, which when called, produce the desired log message parameters.<a name="line.1980"></a>
<span class="sourceLineNo">1981</span>     * @since 2.4<a name="line.1981"></a>
<span class="sourceLineNo">1982</span>     */<a name="line.1982"></a>
<span class="sourceLineNo">1983</span>    void info(String message, Supplier&lt;?&gt;... paramSuppliers);<a name="line.1983"></a>
<span class="sourceLineNo">1984</span><a name="line.1984"></a>
<span class="sourceLineNo">1985</span>    /**<a name="line.1985"></a>
<span class="sourceLineNo">1986</span>     * Logs a message at the {@link Level#INFO INFO} level including the stack trace of the {@link Throwable}<a name="line.1986"></a>
<span class="sourceLineNo">1987</span>     * &lt;code&gt;t&lt;/code&gt; passed as parameter.<a name="line.1987"></a>
<span class="sourceLineNo">1988</span>     *<a name="line.1988"></a>
<span class="sourceLineNo">1989</span>     * @param message the message object to log.<a name="line.1989"></a>
<span class="sourceLineNo">1990</span>     * @param t the exception to log, including its stack trace.<a name="line.1990"></a>
<span class="sourceLineNo">1991</span>     */<a name="line.1991"></a>
<span class="sourceLineNo">1992</span>    void info(String message, Throwable t);<a name="line.1992"></a>
<span class="sourceLineNo">1993</span><a name="line.1993"></a>
<span class="sourceLineNo">1994</span>    /**<a name="line.1994"></a>
<span class="sourceLineNo">1995</span>     * Logs a message which is only to be constructed if the logging level is the {@link Level#INFO INFO} level.<a name="line.1995"></a>
<span class="sourceLineNo">1996</span>     *<a name="line.1996"></a>
<span class="sourceLineNo">1997</span>     * @param msgSupplier A function, which when called, produces the desired log message; the format depends on the<a name="line.1997"></a>
<span class="sourceLineNo">1998</span>     *            message factory.<a name="line.1998"></a>
<span class="sourceLineNo">1999</span>     * @since 2.4<a name="line.1999"></a>
<span class="sourceLineNo">2000</span>     */<a name="line.2000"></a>
<span class="sourceLineNo">2001</span>    void info(Supplier&lt;?&gt; msgSupplier);<a name="line.2001"></a>
<span class="sourceLineNo">2002</span><a name="line.2002"></a>
<span class="sourceLineNo">2003</span>    /**<a name="line.2003"></a>
<span class="sourceLineNo">2004</span>     * Logs a message (only to be constructed if the logging level is the {@link Level#INFO INFO} level) including the<a name="line.2004"></a>
<span class="sourceLineNo">2005</span>     * stack trace of the {@link Throwable} &lt;code&gt;t&lt;/code&gt; passed as parameter.<a name="line.2005"></a>
<span class="sourceLineNo">2006</span>     *<a name="line.2006"></a>
<span class="sourceLineNo">2007</span>     * @param msgSupplier A function, which when called, produces the desired log message; the format depends on the<a name="line.2007"></a>
<span class="sourceLineNo">2008</span>     *            message factory.<a name="line.2008"></a>
<span class="sourceLineNo">2009</span>     * @param t the exception to log, including its stack trace.<a name="line.2009"></a>
<span class="sourceLineNo">2010</span>     * @since 2.4<a name="line.2010"></a>
<span class="sourceLineNo">2011</span>     */<a name="line.2011"></a>
<span class="sourceLineNo">2012</span>    void info(Supplier&lt;?&gt; msgSupplier, Throwable t);<a name="line.2012"></a>
<span class="sourceLineNo">2013</span><a name="line.2013"></a>
<span class="sourceLineNo">2014</span>    /**<a name="line.2014"></a>
<span class="sourceLineNo">2015</span>     * Logs a message with parameters at info level.<a name="line.2015"></a>
<span class="sourceLineNo">2016</span>     *<a name="line.2016"></a>
<span class="sourceLineNo">2017</span>     * @param marker the marker data specific to this log statement<a name="line.2017"></a>
<span class="sourceLineNo">2018</span>     * @param message the message to log; the format depends on the message factory.<a name="line.2018"></a>
<span class="sourceLineNo">2019</span>     * @param p0 parameter to the message.<a name="line.2019"></a>
<span class="sourceLineNo">2020</span>     */<a name="line.2020"></a>
<span class="sourceLineNo">2021</span>    void info(Marker marker, String message, Object p0);<a name="line.2021"></a>
<span class="sourceLineNo">2022</span><a name="line.2022"></a>
<span class="sourceLineNo">2023</span>    /**<a name="line.2023"></a>
<span class="sourceLineNo">2024</span>     * Logs a message with parameters at info level.<a name="line.2024"></a>
<span class="sourceLineNo">2025</span>     *<a name="line.2025"></a>
<span class="sourceLineNo">2026</span>     * @param marker the marker data specific to this log statement<a name="line.2026"></a>
<span class="sourceLineNo">2027</span>     * @param message the message to log; the format depends on the message factory.<a name="line.2027"></a>
<span class="sourceLineNo">2028</span>     * @param p0 parameter to the message.<a name="line.2028"></a>
<span class="sourceLineNo">2029</span>     * @param p1 parameter to the message.<a name="line.2029"></a>
<span class="sourceLineNo">2030</span>     */<a name="line.2030"></a>
<span class="sourceLineNo">2031</span>    void info(Marker marker, String message, Object p0, Object p1);<a name="line.2031"></a>
<span class="sourceLineNo">2032</span><a name="line.2032"></a>
<span class="sourceLineNo">2033</span>    /**<a name="line.2033"></a>
<span class="sourceLineNo">2034</span>     * Logs a message with parameters at info level.<a name="line.2034"></a>
<span class="sourceLineNo">2035</span>     *<a name="line.2035"></a>
<span class="sourceLineNo">2036</span>     * @param marker the marker data specific to this log statement<a name="line.2036"></a>
<span class="sourceLineNo">2037</span>     * @param message the message to log; the format depends on the message factory.<a name="line.2037"></a>
<span class="sourceLineNo">2038</span>     * @param p0 parameter to the message.<a name="line.2038"></a>
<span class="sourceLineNo">2039</span>     * @param p1 parameter to the message.<a name="line.2039"></a>
<span class="sourceLineNo">2040</span>     * @param p2 parameter to the message.<a name="line.2040"></a>
<span class="sourceLineNo">2041</span>     */<a name="line.2041"></a>
<span class="sourceLineNo">2042</span>    void info(Marker marker, String message, Object p0, Object p1, Object p2);<a name="line.2042"></a>
<span class="sourceLineNo">2043</span><a name="line.2043"></a>
<span class="sourceLineNo">2044</span>    /**<a name="line.2044"></a>
<span class="sourceLineNo">2045</span>     * Logs a message with parameters at info level.<a name="line.2045"></a>
<span class="sourceLineNo">2046</span>     *<a name="line.2046"></a>
<span class="sourceLineNo">2047</span>     * @param marker the marker data specific to this log statement<a name="line.2047"></a>
<span class="sourceLineNo">2048</span>     * @param message the message to log; the format depends on the message factory.<a name="line.2048"></a>
<span class="sourceLineNo">2049</span>     * @param p0 parameter to the message.<a name="line.2049"></a>
<span class="sourceLineNo">2050</span>     * @param p1 parameter to the message.<a name="line.2050"></a>
<span class="sourceLineNo">2051</span>     * @param p2 parameter to the message.<a name="line.2051"></a>
<span class="sourceLineNo">2052</span>     * @param p3 parameter to the message.<a name="line.2052"></a>
<span class="sourceLineNo">2053</span>     */<a name="line.2053"></a>
<span class="sourceLineNo">2054</span>    void info(Marker marker, String message, Object p0, Object p1, Object p2, Object p3);<a name="line.2054"></a>
<span class="sourceLineNo">2055</span><a name="line.2055"></a>
<span class="sourceLineNo">2056</span>    /**<a name="line.2056"></a>
<span class="sourceLineNo">2057</span>     * Logs a message with parameters at info level.<a name="line.2057"></a>
<span class="sourceLineNo">2058</span>     *<a name="line.2058"></a>
<span class="sourceLineNo">2059</span>     * @param marker the marker data specific to this log statement<a name="line.2059"></a>
<span class="sourceLineNo">2060</span>     * @param message the message to log; the format depends on the message factory.<a name="line.2060"></a>
<span class="sourceLineNo">2061</span>     * @param p0 parameter to the message.<a name="line.2061"></a>
<span class="sourceLineNo">2062</span>     * @param p1 parameter to the message.<a name="line.2062"></a>
<span class="sourceLineNo">2063</span>     * @param p2 parameter to the message.<a name="line.2063"></a>
<span class="sourceLineNo">2064</span>     * @param p3 parameter to the message.<a name="line.2064"></a>
<span class="sourceLineNo">2065</span>     * @param p4 parameter to the message.<a name="line.2065"></a>
<span class="sourceLineNo">2066</span>     */<a name="line.2066"></a>
<span class="sourceLineNo">2067</span>    void info(Marker marker, String message, Object p0, Object p1, Object p2, Object p3, Object p4);<a name="line.2067"></a>
<span class="sourceLineNo">2068</span><a name="line.2068"></a>
<span class="sourceLineNo">2069</span>    /**<a name="line.2069"></a>
<span class="sourceLineNo">2070</span>     * Logs a message with parameters at info level.<a name="line.2070"></a>
<span class="sourceLineNo">2071</span>     *<a name="line.2071"></a>
<span class="sourceLineNo">2072</span>     * @param marker the marker data specific to this log statement<a name="line.2072"></a>
<span class="sourceLineNo">2073</span>     * @param message the message to log; the format depends on the message factory.<a name="line.2073"></a>
<span class="sourceLineNo">2074</span>     * @param p0 parameter to the message.<a name="line.2074"></a>
<span class="sourceLineNo">2075</span>     * @param p1 parameter to the message.<a name="line.2075"></a>
<span class="sourceLineNo">2076</span>     * @param p2 parameter to the message.<a name="line.2076"></a>
<span class="sourceLineNo">2077</span>     * @param p3 parameter to the message.<a name="line.2077"></a>
<span class="sourceLineNo">2078</span>     * @param p4 parameter to the message.<a name="line.2078"></a>
<span class="sourceLineNo">2079</span>     * @param p5 parameter to the message.<a name="line.2079"></a>
<span class="sourceLineNo">2080</span>     */<a name="line.2080"></a>
<span class="sourceLineNo">2081</span>    void info(Marker marker, String message, Object p0, Object p1, Object p2, Object p3, Object p4, Object p5);<a name="line.2081"></a>
<span class="sourceLineNo">2082</span><a name="line.2082"></a>
<span class="sourceLineNo">2083</span>    /**<a name="line.2083"></a>
<span class="sourceLineNo">2084</span>     * Logs a message with parameters at info level.<a name="line.2084"></a>
<span class="sourceLineNo">2085</span>     *<a name="line.2085"></a>
<span class="sourceLineNo">2086</span>     * @param marker the marker data specific to this log statement<a name="line.2086"></a>
<span class="sourceLineNo">2087</span>     * @param message the message to log; the format depends on the message factory.<a name="line.2087"></a>
<span class="sourceLineNo">2088</span>     * @param p0 parameter to the message.<a name="line.2088"></a>
<span class="sourceLineNo">2089</span>     * @param p1 parameter to the message.<a name="line.2089"></a>
<span class="sourceLineNo">2090</span>     * @param p2 parameter to the message.<a name="line.2090"></a>
<span class="sourceLineNo">2091</span>     * @param p3 parameter to the message.<a name="line.2091"></a>
<span class="sourceLineNo">2092</span>     * @param p4 parameter to the message.<a name="line.2092"></a>
<span class="sourceLineNo">2093</span>     * @param p5 parameter to the message.<a name="line.2093"></a>
<span class="sourceLineNo">2094</span>     * @param p6 parameter to the message.<a name="line.2094"></a>
<span class="sourceLineNo">2095</span>     */<a name="line.2095"></a>
<span class="sourceLineNo">2096</span>    void info(Marker marker, String message, Object p0, Object p1, Object p2, Object p3, Object p4, Object p5,<a name="line.2096"></a>
<span class="sourceLineNo">2097</span>            Object p6);<a name="line.2097"></a>
<span class="sourceLineNo">2098</span><a name="line.2098"></a>
<span class="sourceLineNo">2099</span>    /**<a name="line.2099"></a>
<span class="sourceLineNo">2100</span>     * Logs a message with parameters at info level.<a name="line.2100"></a>
<span class="sourceLineNo">2101</span>     *<a name="line.2101"></a>
<span class="sourceLineNo">2102</span>     * @param marker the marker data specific to this log statement<a name="line.2102"></a>
<span class="sourceLineNo">2103</span>     * @param message the message to log; the format depends on the message factory.<a name="line.2103"></a>
<span class="sourceLineNo">2104</span>     * @param p0 parameter to the message.<a name="line.2104"></a>
<span class="sourceLineNo">2105</span>     * @param p1 parameter to the message.<a name="line.2105"></a>
<span class="sourceLineNo">2106</span>     * @param p2 parameter to the message.<a name="line.2106"></a>
<span class="sourceLineNo">2107</span>     * @param p3 parameter to the message.<a name="line.2107"></a>
<span class="sourceLineNo">2108</span>     * @param p4 parameter to the message.<a name="line.2108"></a>
<span class="sourceLineNo">2109</span>     * @param p5 parameter to the message.<a name="line.2109"></a>
<span class="sourceLineNo">2110</span>     * @param p6 parameter to the message.<a name="line.2110"></a>
<span class="sourceLineNo">2111</span>     * @param p7 parameter to the message.<a name="line.2111"></a>
<span class="sourceLineNo">2112</span>     */<a name="line.2112"></a>
<span class="sourceLineNo">2113</span>    void info(Marker marker, String message, Object p0, Object p1, Object p2, Object p3, Object p4, Object p5, Object p6,<a name="line.2113"></a>
<span class="sourceLineNo">2114</span>            Object p7);<a name="line.2114"></a>
<span class="sourceLineNo">2115</span><a name="line.2115"></a>
<span class="sourceLineNo">2116</span>    /**<a name="line.2116"></a>
<span class="sourceLineNo">2117</span>     * Logs a message with parameters at info level.<a name="line.2117"></a>
<span class="sourceLineNo">2118</span>     *<a name="line.2118"></a>
<span class="sourceLineNo">2119</span>     * @param marker the marker data specific to this log statement<a name="line.2119"></a>
<span class="sourceLineNo">2120</span>     * @param message the message to log; the format depends on the message factory.<a name="line.2120"></a>
<span class="sourceLineNo">2121</span>     * @param p0 parameter to the message.<a name="line.2121"></a>
<span class="sourceLineNo">2122</span>     * @param p1 parameter to the message.<a name="line.2122"></a>
<span class="sourceLineNo">2123</span>     * @param p2 parameter to the message.<a name="line.2123"></a>
<span class="sourceLineNo">2124</span>     * @param p3 parameter to the message.<a name="line.2124"></a>
<span class="sourceLineNo">2125</span>     * @param p4 parameter to the message.<a name="line.2125"></a>
<span class="sourceLineNo">2126</span>     * @param p5 parameter to the message.<a name="line.2126"></a>
<span class="sourceLineNo">2127</span>     * @param p6 parameter to the message.<a name="line.2127"></a>
<span class="sourceLineNo">2128</span>     * @param p7 parameter to the message.<a name="line.2128"></a>
<span class="sourceLineNo">2129</span>     * @param p8 parameter to the message.<a name="line.2129"></a>
<span class="sourceLineNo">2130</span>     */<a name="line.2130"></a>
<span class="sourceLineNo">2131</span>    void info(Marker marker, String message, Object p0, Object p1, Object p2, Object p3, Object p4, Object p5, Object p6,<a name="line.2131"></a>
<span class="sourceLineNo">2132</span>            Object p7, Object p8);<a name="line.2132"></a>
<span class="sourceLineNo">2133</span><a name="line.2133"></a>
<span class="sourceLineNo">2134</span>    /**<a name="line.2134"></a>
<span class="sourceLineNo">2135</span>     * Logs a message with parameters at info level.<a name="line.2135"></a>
<span class="sourceLineNo">2136</span>     *<a name="line.2136"></a>
<span class="sourceLineNo">2137</span>     * @param marker the marker data specific to this log statement<a name="line.2137"></a>
<span class="sourceLineNo">2138</span>     * @param message the message to log; the format depends on the message factory.<a name="line.2138"></a>
<span class="sourceLineNo">2139</span>     * @param p0 parameter to the message.<a name="line.2139"></a>
<span class="sourceLineNo">2140</span>     * @param p1 parameter to the message.<a name="line.2140"></a>
<span class="sourceLineNo">2141</span>     * @param p2 parameter to the message.<a name="line.2141"></a>
<span class="sourceLineNo">2142</span>     * @param p3 parameter to the message.<a name="line.2142"></a>
<span class="sourceLineNo">2143</span>     * @param p4 parameter to the message.<a name="line.2143"></a>
<span class="sourceLineNo">2144</span>     * @param p5 parameter to the message.<a name="line.2144"></a>
<span class="sourceLineNo">2145</span>     * @param p6 parameter to the message.<a name="line.2145"></a>
<span class="sourceLineNo">2146</span>     * @param p7 parameter to the message.<a name="line.2146"></a>
<span class="sourceLineNo">2147</span>     * @param p8 parameter to the message.<a name="line.2147"></a>
<span class="sourceLineNo">2148</span>     * @param p9 parameter to the message.<a name="line.2148"></a>
<span class="sourceLineNo">2149</span>     */<a name="line.2149"></a>
<span class="sourceLineNo">2150</span>    void info(Marker marker, String message, Object p0, Object p1, Object p2, Object p3, Object p4, Object p5, Object p6,<a name="line.2150"></a>
<span class="sourceLineNo">2151</span>            Object p7, Object p8, Object p9);<a name="line.2151"></a>
<span class="sourceLineNo">2152</span><a name="line.2152"></a>
<span class="sourceLineNo">2153</span>    /**<a name="line.2153"></a>
<span class="sourceLineNo">2154</span>     * Logs a message with parameters at info level.<a name="line.2154"></a>
<span class="sourceLineNo">2155</span>     *<a name="line.2155"></a>
<span class="sourceLineNo">2156</span>     * @param message the message to log; the format depends on the message factory.<a name="line.2156"></a>
<span class="sourceLineNo">2157</span>     * @param p0 parameter to the message.<a name="line.2157"></a>
<span class="sourceLineNo">2158</span>     */<a name="line.2158"></a>
<span class="sourceLineNo">2159</span>    void info(String message, Object p0);<a name="line.2159"></a>
<span class="sourceLineNo">2160</span><a name="line.2160"></a>
<span class="sourceLineNo">2161</span>    /**<a name="line.2161"></a>
<span class="sourceLineNo">2162</span>     * Logs a message with parameters at info level.<a name="line.2162"></a>
<span class="sourceLineNo">2163</span>     *<a name="line.2163"></a>
<span class="sourceLineNo">2164</span>     * @param message the message to log; the format depends on the message factory.<a name="line.2164"></a>
<span class="sourceLineNo">2165</span>     * @param p0 parameter to the message.<a name="line.2165"></a>
<span class="sourceLineNo">2166</span>     * @param p1 parameter to the message.<a name="line.2166"></a>
<span class="sourceLineNo">2167</span>     */<a name="line.2167"></a>
<span class="sourceLineNo">2168</span>    void info(String message, Object p0, Object p1);<a name="line.2168"></a>
<span class="sourceLineNo">2169</span><a name="line.2169"></a>
<span class="sourceLineNo">2170</span>    /**<a name="line.2170"></a>
<span class="sourceLineNo">2171</span>     * Logs a message with parameters at info level.<a name="line.2171"></a>
<span class="sourceLineNo">2172</span>     *<a name="line.2172"></a>
<span class="sourceLineNo">2173</span>     * @param message the message to log; the format depends on the message factory.<a name="line.2173"></a>
<span class="sourceLineNo">2174</span>     * @param p0 parameter to the message.<a name="line.2174"></a>
<span class="sourceLineNo">2175</span>     * @param p1 parameter to the message.<a name="line.2175"></a>
<span class="sourceLineNo">2176</span>     * @param p2 parameter to the message.<a name="line.2176"></a>
<span class="sourceLineNo">2177</span>     */<a name="line.2177"></a>
<span class="sourceLineNo">2178</span>    void info(String message, Object p0, Object p1, Object p2);<a name="line.2178"></a>
<span class="sourceLineNo">2179</span><a name="line.2179"></a>
<span class="sourceLineNo">2180</span>    /**<a name="line.2180"></a>
<span class="sourceLineNo">2181</span>     * Logs a message with parameters at info level.<a name="line.2181"></a>
<span class="sourceLineNo">2182</span>     *<a name="line.2182"></a>
<span class="sourceLineNo">2183</span>     * @param message the message to log; the format depends on the message factory.<a name="line.2183"></a>
<span class="sourceLineNo">2184</span>     * @param p0 parameter to the message.<a name="line.2184"></a>
<span class="sourceLineNo">2185</span>     * @param p1 parameter to the message.<a name="line.2185"></a>
<span class="sourceLineNo">2186</span>     * @param p2 parameter to the message.<a name="line.2186"></a>
<span class="sourceLineNo">2187</span>     * @param p3 parameter to the message.<a name="line.2187"></a>
<span class="sourceLineNo">2188</span>     */<a name="line.2188"></a>
<span class="sourceLineNo">2189</span>    void info(String message, Object p0, Object p1, Object p2, Object p3);<a name="line.2189"></a>
<span class="sourceLineNo">2190</span><a name="line.2190"></a>
<span class="sourceLineNo">2191</span>    /**<a name="line.2191"></a>
<span class="sourceLineNo">2192</span>     * Logs a message with parameters at info level.<a name="line.2192"></a>
<span class="sourceLineNo">2193</span>     *<a name="line.2193"></a>
<span class="sourceLineNo">2194</span>     * @param message the message to log; the format depends on the message factory.<a name="line.2194"></a>
<span class="sourceLineNo">2195</span>     * @param p0 parameter to the message.<a name="line.2195"></a>
<span class="sourceLineNo">2196</span>     * @param p1 parameter to the message.<a name="line.2196"></a>
<span class="sourceLineNo">2197</span>     * @param p2 parameter to the message.<a name="line.2197"></a>
<span class="sourceLineNo">2198</span>     * @param p3 parameter to the message.<a name="line.2198"></a>
<span class="sourceLineNo">2199</span>     * @param p4 parameter to the message.<a name="line.2199"></a>
<span class="sourceLineNo">2200</span>     */<a name="line.2200"></a>
<span class="sourceLineNo">2201</span>    void info(String message, Object p0, Object p1, Object p2, Object p3, Object p4);<a name="line.2201"></a>
<span class="sourceLineNo">2202</span><a name="line.2202"></a>
<span class="sourceLineNo">2203</span>    /**<a name="line.2203"></a>
<span class="sourceLineNo">2204</span>     * Logs a message with parameters at info level.<a name="line.2204"></a>
<span class="sourceLineNo">2205</span>     *<a name="line.2205"></a>
<span class="sourceLineNo">2206</span>     * @param message the message to log; the format depends on the message factory.<a name="line.2206"></a>
<span class="sourceLineNo">2207</span>     * @param p0 parameter to the message.<a name="line.2207"></a>
<span class="sourceLineNo">2208</span>     * @param p1 parameter to the message.<a name="line.2208"></a>
<span class="sourceLineNo">2209</span>     * @param p2 parameter to the message.<a name="line.2209"></a>
<span class="sourceLineNo">2210</span>     * @param p3 parameter to the message.<a name="line.2210"></a>
<span class="sourceLineNo">2211</span>     * @param p4 parameter to the message.<a name="line.2211"></a>
<span class="sourceLineNo">2212</span>     * @param p5 parameter to the message.<a name="line.2212"></a>
<span class="sourceLineNo">2213</span>     */<a name="line.2213"></a>
<span class="sourceLineNo">2214</span>    void info(String message, Object p0, Object p1, Object p2, Object p3, Object p4, Object p5);<a name="line.2214"></a>
<span class="sourceLineNo">2215</span><a name="line.2215"></a>
<span class="sourceLineNo">2216</span>    /**<a name="line.2216"></a>
<span class="sourceLineNo">2217</span>     * Logs a message with parameters at info level.<a name="line.2217"></a>
<span class="sourceLineNo">2218</span>     *<a name="line.2218"></a>
<span class="sourceLineNo">2219</span>     * @param message the message to log; the format depends on the message factory.<a name="line.2219"></a>
<span class="sourceLineNo">2220</span>     * @param p0 parameter to the message.<a name="line.2220"></a>
<span class="sourceLineNo">2221</span>     * @param p1 parameter to the message.<a name="line.2221"></a>
<span class="sourceLineNo">2222</span>     * @param p2 parameter to the message.<a name="line.2222"></a>
<span class="sourceLineNo">2223</span>     * @param p3 parameter to the message.<a name="line.2223"></a>
<span class="sourceLineNo">2224</span>     * @param p4 parameter to the message.<a name="line.2224"></a>
<span class="sourceLineNo">2225</span>     * @param p5 parameter to the message.<a name="line.2225"></a>
<span class="sourceLineNo">2226</span>     * @param p6 parameter to the message.<a name="line.2226"></a>
<span class="sourceLineNo">2227</span>     */<a name="line.2227"></a>
<span class="sourceLineNo">2228</span>    void info(String message, Object p0, Object p1, Object p2, Object p3, Object p4, Object p5, Object p6);<a name="line.2228"></a>
<span class="sourceLineNo">2229</span><a name="line.2229"></a>
<span class="sourceLineNo">2230</span>    /**<a name="line.2230"></a>
<span class="sourceLineNo">2231</span>     * Logs a message with parameters at info level.<a name="line.2231"></a>
<span class="sourceLineNo">2232</span>     *<a name="line.2232"></a>
<span class="sourceLineNo">2233</span>     * @param message the message to log; the format depends on the message factory.<a name="line.2233"></a>
<span class="sourceLineNo">2234</span>     * @param p0 parameter to the message.<a name="line.2234"></a>
<span class="sourceLineNo">2235</span>     * @param p1 parameter to the message.<a name="line.2235"></a>
<span class="sourceLineNo">2236</span>     * @param p2 parameter to the message.<a name="line.2236"></a>
<span class="sourceLineNo">2237</span>     * @param p3 parameter to the message.<a name="line.2237"></a>
<span class="sourceLineNo">2238</span>     * @param p4 parameter to the message.<a name="line.2238"></a>
<span class="sourceLineNo">2239</span>     * @param p5 parameter to the message.<a name="line.2239"></a>
<span class="sourceLineNo">2240</span>     * @param p6 parameter to the message.<a name="line.2240"></a>
<span class="sourceLineNo">2241</span>     * @param p7 parameter to the message.<a name="line.2241"></a>
<span class="sourceLineNo">2242</span>     */<a name="line.2242"></a>
<span class="sourceLineNo">2243</span>    void info(String message, Object p0, Object p1, Object p2, Object p3, Object p4, Object p5, Object p6, Object p7);<a name="line.2243"></a>
<span class="sourceLineNo">2244</span><a name="line.2244"></a>
<span class="sourceLineNo">2245</span>    /**<a name="line.2245"></a>
<span class="sourceLineNo">2246</span>     * Logs a message with parameters at info level.<a name="line.2246"></a>
<span class="sourceLineNo">2247</span>     *<a name="line.2247"></a>
<span class="sourceLineNo">2248</span>     * @param message the message to log; the format depends on the message factory.<a name="line.2248"></a>
<span class="sourceLineNo">2249</span>     * @param p0 parameter to the message.<a name="line.2249"></a>
<span class="sourceLineNo">2250</span>     * @param p1 parameter to the message.<a name="line.2250"></a>
<span class="sourceLineNo">2251</span>     * @param p2 parameter to the message.<a name="line.2251"></a>
<span class="sourceLineNo">2252</span>     * @param p3 parameter to the message.<a name="line.2252"></a>
<span class="sourceLineNo">2253</span>     * @param p4 parameter to the message.<a name="line.2253"></a>
<span class="sourceLineNo">2254</span>     * @param p5 parameter to the message.<a name="line.2254"></a>
<span class="sourceLineNo">2255</span>     * @param p6 parameter to the message.<a name="line.2255"></a>
<span class="sourceLineNo">2256</span>     * @param p7 parameter to the message.<a name="line.2256"></a>
<span class="sourceLineNo">2257</span>     * @param p8 parameter to the message.<a name="line.2257"></a>
<span class="sourceLineNo">2258</span>     */<a name="line.2258"></a>
<span class="sourceLineNo">2259</span>    void info(String message, Object p0, Object p1, Object p2, Object p3, Object p4, Object p5, Object p6, Object p7,<a name="line.2259"></a>
<span class="sourceLineNo">2260</span>            Object p8);<a name="line.2260"></a>
<span class="sourceLineNo">2261</span><a name="line.2261"></a>
<span class="sourceLineNo">2262</span>    /**<a name="line.2262"></a>
<span class="sourceLineNo">2263</span>     * Logs a message with parameters at info level.<a name="line.2263"></a>
<span class="sourceLineNo">2264</span>     *<a name="line.2264"></a>
<span class="sourceLineNo">2265</span>     * @param message the message to log; the format depends on the message factory.<a name="line.2265"></a>
<span class="sourceLineNo">2266</span>     * @param p0 parameter to the message.<a name="line.2266"></a>
<span class="sourceLineNo">2267</span>     * @param p1 parameter to the message.<a name="line.2267"></a>
<span class="sourceLineNo">2268</span>     * @param p2 parameter to the message.<a name="line.2268"></a>
<span class="sourceLineNo">2269</span>     * @param p3 parameter to the message.<a name="line.2269"></a>
<span class="sourceLineNo">2270</span>     * @param p4 parameter to the message.<a name="line.2270"></a>
<span class="sourceLineNo">2271</span>     * @param p5 parameter to the message.<a name="line.2271"></a>
<span class="sourceLineNo">2272</span>     * @param p6 parameter to the message.<a name="line.2272"></a>
<span class="sourceLineNo">2273</span>     * @param p7 parameter to the message.<a name="line.2273"></a>
<span class="sourceLineNo">2274</span>     * @param p8 parameter to the message.<a name="line.2274"></a>
<span class="sourceLineNo">2275</span>     * @param p9 parameter to the message.<a name="line.2275"></a>
<span class="sourceLineNo">2276</span>     */<a name="line.2276"></a>
<span class="sourceLineNo">2277</span>    void info(String message, Object p0, Object p1, Object p2, Object p3, Object p4, Object p5, Object p6, Object p7,<a name="line.2277"></a>
<span class="sourceLineNo">2278</span>            Object p8, Object p9);<a name="line.2278"></a>
<span class="sourceLineNo">2279</span><a name="line.2279"></a>
<span class="sourceLineNo">2280</span>    /**<a name="line.2280"></a>
<span class="sourceLineNo">2281</span>     * Checks whether this Logger is enabled for the {@link Level#DEBUG DEBUG} Level.<a name="line.2281"></a>
<span class="sourceLineNo">2282</span>     *<a name="line.2282"></a>
<span class="sourceLineNo">2283</span>     * @return boolean - {@code true} if this Logger is enabled for level DEBUG, {@code false} otherwise.<a name="line.2283"></a>
<span class="sourceLineNo">2284</span>     */<a name="line.2284"></a>
<span class="sourceLineNo">2285</span>    boolean isDebugEnabled();<a name="line.2285"></a>
<span class="sourceLineNo">2286</span><a name="line.2286"></a>
<span class="sourceLineNo">2287</span>    /**<a name="line.2287"></a>
<span class="sourceLineNo">2288</span>     * Checks whether this Logger is enabled for the {@link Level#DEBUG DEBUG} Level.<a name="line.2288"></a>
<span class="sourceLineNo">2289</span>     *<a name="line.2289"></a>
<span class="sourceLineNo">2290</span>     * @param marker The Marker to check<a name="line.2290"></a>
<span class="sourceLineNo">2291</span>     * @return boolean - {@code true} if this Logger is enabled for level DEBUG, {@code false} otherwise.<a name="line.2291"></a>
<span class="sourceLineNo">2292</span>     */<a name="line.2292"></a>
<span class="sourceLineNo">2293</span>    boolean isDebugEnabled(Marker marker);<a name="line.2293"></a>
<span class="sourceLineNo">2294</span><a name="line.2294"></a>
<span class="sourceLineNo">2295</span>    /**<a name="line.2295"></a>
<span class="sourceLineNo">2296</span>     * Checks whether this Logger is enabled for the given Level.<a name="line.2296"></a>
<span class="sourceLineNo">2297</span>     * &lt;p&gt;<a name="line.2297"></a>
<span class="sourceLineNo">2298</span>     * Note that passing in {@link Level#OFF OFF} always returns {@code true}.<a name="line.2298"></a>
<span class="sourceLineNo">2299</span>     * &lt;/p&gt;<a name="line.2299"></a>
<span class="sourceLineNo">2300</span>     *<a name="line.2300"></a>
<span class="sourceLineNo">2301</span>     * @param level the Level to check<a name="line.2301"></a>
<span class="sourceLineNo">2302</span>     * @return boolean - {@code true} if this Logger is enabled for level, {@code false} otherwise.<a name="line.2302"></a>
<span class="sourceLineNo">2303</span>     */<a name="line.2303"></a>
<span class="sourceLineNo">2304</span>    boolean isEnabled(Level level);<a name="line.2304"></a>
<span class="sourceLineNo">2305</span><a name="line.2305"></a>
<span class="sourceLineNo">2306</span>    /**<a name="line.2306"></a>
<span class="sourceLineNo">2307</span>     * Checks whether this Logger is enabled for the given Level and Marker.<a name="line.2307"></a>
<span class="sourceLineNo">2308</span>     *<a name="line.2308"></a>
<span class="sourceLineNo">2309</span>     * @param level The Level to check<a name="line.2309"></a>
<span class="sourceLineNo">2310</span>     * @param marker The Marker to check<a name="line.2310"></a>
<span class="sourceLineNo">2311</span>     * @return boolean - {@code true} if this Logger is enabled for level and marker, {@code false} otherwise.<a name="line.2311"></a>
<span class="sourceLineNo">2312</span>     */<a name="line.2312"></a>
<span class="sourceLineNo">2313</span>    boolean isEnabled(Level level, Marker marker);<a name="line.2313"></a>
<span class="sourceLineNo">2314</span><a name="line.2314"></a>
<span class="sourceLineNo">2315</span>    /**<a name="line.2315"></a>
<span class="sourceLineNo">2316</span>     * Checks whether this Logger is enabled for the {@link Level#ERROR ERROR} Level.<a name="line.2316"></a>
<span class="sourceLineNo">2317</span>     *<a name="line.2317"></a>
<span class="sourceLineNo">2318</span>     * @return boolean - {@code true} if this Logger is enabled for level {@link Level#ERROR ERROR}, {@code false}<a name="line.2318"></a>
<span class="sourceLineNo">2319</span>     *         otherwise.<a name="line.2319"></a>
<span class="sourceLineNo">2320</span>     */<a name="line.2320"></a>
<span class="sourceLineNo">2321</span>    boolean isErrorEnabled();<a name="line.2321"></a>
<span class="sourceLineNo">2322</span><a name="line.2322"></a>
<span class="sourceLineNo">2323</span>    /**<a name="line.2323"></a>
<span class="sourceLineNo">2324</span>     * Checks whether this Logger is enabled for the {@link Level#ERROR ERROR} Level.<a name="line.2324"></a>
<span class="sourceLineNo">2325</span>     *<a name="line.2325"></a>
<span class="sourceLineNo">2326</span>     * @param marker The Marker to check<a name="line.2326"></a>
<span class="sourceLineNo">2327</span>     * @return boolean - {@code true} if this Logger is enabled for level {@link Level#ERROR ERROR}, {@code false}<a name="line.2327"></a>
<span class="sourceLineNo">2328</span>     *         otherwise.<a name="line.2328"></a>
<span class="sourceLineNo">2329</span>     */<a name="line.2329"></a>
<span class="sourceLineNo">2330</span>    boolean isErrorEnabled(Marker marker);<a name="line.2330"></a>
<span class="sourceLineNo">2331</span><a name="line.2331"></a>
<span class="sourceLineNo">2332</span>    /**<a name="line.2332"></a>
<span class="sourceLineNo">2333</span>     * Checks whether this Logger is enabled for the {@link Level#FATAL FATAL} Level.<a name="line.2333"></a>
<span class="sourceLineNo">2334</span>     *<a name="line.2334"></a>
<span class="sourceLineNo">2335</span>     * @return boolean - {@code true} if this Logger is enabled for level {@link Level#FATAL FATAL}, {@code false}<a name="line.2335"></a>
<span class="sourceLineNo">2336</span>     *         otherwise.<a name="line.2336"></a>
<span class="sourceLineNo">2337</span>     */<a name="line.2337"></a>
<span class="sourceLineNo">2338</span>    boolean isFatalEnabled();<a name="line.2338"></a>
<span class="sourceLineNo">2339</span><a name="line.2339"></a>
<span class="sourceLineNo">2340</span>    /**<a name="line.2340"></a>
<span class="sourceLineNo">2341</span>     * Checks whether this Logger is enabled for the {@link Level#FATAL FATAL} Level.<a name="line.2341"></a>
<span class="sourceLineNo">2342</span>     *<a name="line.2342"></a>
<span class="sourceLineNo">2343</span>     * @param marker The Marker to check<a name="line.2343"></a>
<span class="sourceLineNo">2344</span>     * @return boolean - {@code true} if this Logger is enabled for level {@link Level#FATAL FATAL}, {@code false}<a name="line.2344"></a>
<span class="sourceLineNo">2345</span>     *         otherwise.<a name="line.2345"></a>
<span class="sourceLineNo">2346</span>     */<a name="line.2346"></a>
<span class="sourceLineNo">2347</span>    boolean isFatalEnabled(Marker marker);<a name="line.2347"></a>
<span class="sourceLineNo">2348</span><a name="line.2348"></a>
<span class="sourceLineNo">2349</span>    /**<a name="line.2349"></a>
<span class="sourceLineNo">2350</span>     * Checks whether this Logger is enabled for the {@link Level#INFO INFO} Level.<a name="line.2350"></a>
<span class="sourceLineNo">2351</span>     *<a name="line.2351"></a>
<span class="sourceLineNo">2352</span>     * @return boolean - {@code true} if this Logger is enabled for level INFO, {@code false} otherwise.<a name="line.2352"></a>
<span class="sourceLineNo">2353</span>     */<a name="line.2353"></a>
<span class="sourceLineNo">2354</span>    boolean isInfoEnabled();<a name="line.2354"></a>
<span class="sourceLineNo">2355</span><a name="line.2355"></a>
<span class="sourceLineNo">2356</span>    /**<a name="line.2356"></a>
<span class="sourceLineNo">2357</span>     * Checks whether this Logger is enabled for the {@link Level#INFO INFO} Level.<a name="line.2357"></a>
<span class="sourceLineNo">2358</span>     *<a name="line.2358"></a>
<span class="sourceLineNo">2359</span>     * @param marker The Marker to check<a name="line.2359"></a>
<span class="sourceLineNo">2360</span>     * @return boolean - {@code true} if this Logger is enabled for level INFO, {@code false} otherwise.<a name="line.2360"></a>
<span class="sourceLineNo">2361</span>     */<a name="line.2361"></a>
<span class="sourceLineNo">2362</span>    boolean isInfoEnabled(Marker marker);<a name="line.2362"></a>
<span class="sourceLineNo">2363</span><a name="line.2363"></a>
<span class="sourceLineNo">2364</span>    /**<a name="line.2364"></a>
<span class="sourceLineNo">2365</span>     * Checks whether this Logger is enabled for the {@link Level#TRACE TRACE} level.<a name="line.2365"></a>
<span class="sourceLineNo">2366</span>     *<a name="line.2366"></a>
<span class="sourceLineNo">2367</span>     * @return boolean - {@code true} if this Logger is enabled for level TRACE, {@code false} otherwise.<a name="line.2367"></a>
<span class="sourceLineNo">2368</span>     */<a name="line.2368"></a>
<span class="sourceLineNo">2369</span>    boolean isTraceEnabled();<a name="line.2369"></a>
<span class="sourceLineNo">2370</span><a name="line.2370"></a>
<span class="sourceLineNo">2371</span>    /**<a name="line.2371"></a>
<span class="sourceLineNo">2372</span>     * Checks whether this Logger is enabled for the {@link Level#TRACE TRACE} level.<a name="line.2372"></a>
<span class="sourceLineNo">2373</span>     *<a name="line.2373"></a>
<span class="sourceLineNo">2374</span>     * @param marker The Marker to check<a name="line.2374"></a>
<span class="sourceLineNo">2375</span>     * @return boolean - {@code true} if this Logger is enabled for level TRACE, {@code false} otherwise.<a name="line.2375"></a>
<span class="sourceLineNo">2376</span>     */<a name="line.2376"></a>
<span class="sourceLineNo">2377</span>    boolean isTraceEnabled(Marker marker);<a name="line.2377"></a>
<span class="sourceLineNo">2378</span><a name="line.2378"></a>
<span class="sourceLineNo">2379</span>    /**<a name="line.2379"></a>
<span class="sourceLineNo">2380</span>     * Checks whether this Logger is enabled for the {@link Level#WARN WARN} Level.<a name="line.2380"></a>
<span class="sourceLineNo">2381</span>     *<a name="line.2381"></a>
<span class="sourceLineNo">2382</span>     * @return boolean - {@code true} if this Logger is enabled for level {@link Level#WARN WARN}, {@code false}<a name="line.2382"></a>
<span class="sourceLineNo">2383</span>     *         otherwise.<a name="line.2383"></a>
<span class="sourceLineNo">2384</span>     */<a name="line.2384"></a>
<span class="sourceLineNo">2385</span>    boolean isWarnEnabled();<a name="line.2385"></a>
<span class="sourceLineNo">2386</span><a name="line.2386"></a>
<span class="sourceLineNo">2387</span>    /**<a name="line.2387"></a>
<span class="sourceLineNo">2388</span>     * Checks whether this Logger is enabled for the {@link Level#WARN WARN} Level.<a name="line.2388"></a>
<span class="sourceLineNo">2389</span>     *<a name="line.2389"></a>
<span class="sourceLineNo">2390</span>     * @param marker The Marker to check<a name="line.2390"></a>
<span class="sourceLineNo">2391</span>     * @return boolean - {@code true} if this Logger is enabled for level {@link Level#WARN WARN}, {@code false}<a name="line.2391"></a>
<span class="sourceLineNo">2392</span>     *         otherwise.<a name="line.2392"></a>
<span class="sourceLineNo">2393</span>     */<a name="line.2393"></a>
<span class="sourceLineNo">2394</span>    boolean isWarnEnabled(Marker marker);<a name="line.2394"></a>
<span class="sourceLineNo">2395</span><a name="line.2395"></a>
<span class="sourceLineNo">2396</span>    /**<a name="line.2396"></a>
<span class="sourceLineNo">2397</span>     * Logs a message with the specific Marker at the given level.<a name="line.2397"></a>
<span class="sourceLineNo">2398</span>     *<a name="line.2398"></a>
<span class="sourceLineNo">2399</span>     * @param level the logging level<a name="line.2399"></a>
<span class="sourceLineNo">2400</span>     * @param marker the marker data specific to this log statement<a name="line.2400"></a>
<span class="sourceLineNo">2401</span>     * @param msg the message string to be logged<a name="line.2401"></a>
<span class="sourceLineNo">2402</span>     */<a name="line.2402"></a>
<span class="sourceLineNo">2403</span>    void log(Level level, Marker marker, Message msg);<a name="line.2403"></a>
<span class="sourceLineNo">2404</span><a name="line.2404"></a>
<span class="sourceLineNo">2405</span>    /**<a name="line.2405"></a>
<span class="sourceLineNo">2406</span>     * Logs a message with the specific Marker at the given level.<a name="line.2406"></a>
<span class="sourceLineNo">2407</span>     *<a name="line.2407"></a>
<span class="sourceLineNo">2408</span>     * @param level the logging level<a name="line.2408"></a>
<span class="sourceLineNo">2409</span>     * @param marker the marker data specific to this log statement<a name="line.2409"></a>
<span class="sourceLineNo">2410</span>     * @param msg the message string to be logged<a name="line.2410"></a>
<span class="sourceLineNo">2411</span>     * @param t A Throwable or null.<a name="line.2411"></a>
<span class="sourceLineNo">2412</span>     */<a name="line.2412"></a>
<span class="sourceLineNo">2413</span>    void log(Level level, Marker marker, Message msg, Throwable t);<a name="line.2413"></a>
<span class="sourceLineNo">2414</span><a name="line.2414"></a>
<span class="sourceLineNo">2415</span>    /**<a name="line.2415"></a>
<span class="sourceLineNo">2416</span>     * Logs a message which is only to be constructed if the logging level is the specified level with the specified<a name="line.2416"></a>
<span class="sourceLineNo">2417</span>     * Marker. The {@code MessageSupplier} may or may not use the {@link MessageFactory} to construct the<a name="line.2417"></a>
<span class="sourceLineNo">2418</span>     * {@code Message}.<a name="line.2418"></a>
<span class="sourceLineNo">2419</span>     *<a name="line.2419"></a>
<span class="sourceLineNo">2420</span>     * @param level the logging level<a name="line.2420"></a>
<span class="sourceLineNo">2421</span>     * @param marker the marker data specific to this log statement<a name="line.2421"></a>
<span class="sourceLineNo">2422</span>     * @param msgSupplier A function, which when called, produces the desired log message.<a name="line.2422"></a>
<span class="sourceLineNo">2423</span>     * @since 2.4<a name="line.2423"></a>
<span class="sourceLineNo">2424</span>     */<a name="line.2424"></a>
<span class="sourceLineNo">2425</span>    void log(Level level, Marker marker, MessageSupplier msgSupplier);<a name="line.2425"></a>
<span class="sourceLineNo">2426</span><a name="line.2426"></a>
<span class="sourceLineNo">2427</span>    /**<a name="line.2427"></a>
<span class="sourceLineNo">2428</span>     * Logs a message (only to be constructed if the logging level is the specified level) with the specified Marker and<a name="line.2428"></a>
<span class="sourceLineNo">2429</span>     * including the stack log of the {@link Throwable} &lt;code&gt;t&lt;/code&gt; passed as parameter. The {@code MessageSupplier}<a name="line.2429"></a>
<span class="sourceLineNo">2430</span>     * may or may not use the {@link MessageFactory} to construct the {@code Message}.<a name="line.2430"></a>
<span class="sourceLineNo">2431</span>     *<a name="line.2431"></a>
<span class="sourceLineNo">2432</span>     * @param level the logging level<a name="line.2432"></a>
<span class="sourceLineNo">2433</span>     * @param marker the marker data specific to this log statement<a name="line.2433"></a>
<span class="sourceLineNo">2434</span>     * @param msgSupplier A function, which when called, produces the desired log message.<a name="line.2434"></a>
<span class="sourceLineNo">2435</span>     * @param t A Throwable or null.<a name="line.2435"></a>
<span class="sourceLineNo">2436</span>     * @since 2.4<a name="line.2436"></a>
<span class="sourceLineNo">2437</span>     */<a name="line.2437"></a>
<span class="sourceLineNo">2438</span>    void log(Level level, Marker marker, MessageSupplier msgSupplier, Throwable t);<a name="line.2438"></a>
<span class="sourceLineNo">2439</span><a name="line.2439"></a>
<span class="sourceLineNo">2440</span>    /**<a name="line.2440"></a>
<span class="sourceLineNo">2441</span>     * Logs a message CharSequence with the given level.<a name="line.2441"></a>
<span class="sourceLineNo">2442</span>     *<a name="line.2442"></a>
<span class="sourceLineNo">2443</span>     * @param level the logging level<a name="line.2443"></a>
<span class="sourceLineNo">2444</span>     * @param marker the marker data specific to this log statement<a name="line.2444"></a>
<span class="sourceLineNo">2445</span>     * @param message the message CharSequence to log.<a name="line.2445"></a>
<span class="sourceLineNo">2446</span>     */<a name="line.2446"></a>
<span class="sourceLineNo">2447</span>    void log(Level level, Marker marker, CharSequence message);<a name="line.2447"></a>
<span class="sourceLineNo">2448</span><a name="line.2448"></a>
<span class="sourceLineNo">2449</span>    /**<a name="line.2449"></a>
<span class="sourceLineNo">2450</span>     * Logs a CharSequence at the given level including the stack trace of the {@link Throwable} &lt;code&gt;t&lt;/code&gt; passed as<a name="line.2450"></a>
<span class="sourceLineNo">2451</span>     * parameter.<a name="line.2451"></a>
<span class="sourceLineNo">2452</span>     *<a name="line.2452"></a>
<span class="sourceLineNo">2453</span>     * @param level the logging level<a name="line.2453"></a>
<span class="sourceLineNo">2454</span>     * @param marker the marker data specific to this log statement<a name="line.2454"></a>
<span class="sourceLineNo">2455</span>     * @param message the message CharSequence to log.<a name="line.2455"></a>
<span class="sourceLineNo">2456</span>     * @param t the exception to log, including its stack trace.<a name="line.2456"></a>
<span class="sourceLineNo">2457</span>     */<a name="line.2457"></a>
<span class="sourceLineNo">2458</span>    void log(Level level, Marker marker, CharSequence message, Throwable t);<a name="line.2458"></a>
<span class="sourceLineNo">2459</span><a name="line.2459"></a>
<span class="sourceLineNo">2460</span>    /**<a name="line.2460"></a>
<span class="sourceLineNo">2461</span>     * Logs a message object with the given level.<a name="line.2461"></a>
<span class="sourceLineNo">2462</span>     *<a name="line.2462"></a>
<span class="sourceLineNo">2463</span>     * @param level the logging level<a name="line.2463"></a>
<span class="sourceLineNo">2464</span>     * @param marker the marker data specific to this log statement<a name="line.2464"></a>
<span class="sourceLineNo">2465</span>     * @param message the message object to log.<a name="line.2465"></a>
<span class="sourceLineNo">2466</span>     */<a name="line.2466"></a>
<span class="sourceLineNo">2467</span>    void log(Level level, Marker marker, Object message);<a name="line.2467"></a>
<span class="sourceLineNo">2468</span><a name="line.2468"></a>
<span class="sourceLineNo">2469</span>    /**<a name="line.2469"></a>
<span class="sourceLineNo">2470</span>     * Logs a message at the given level including the stack trace of the {@link Throwable} &lt;code&gt;t&lt;/code&gt; passed as<a name="line.2470"></a>
<span class="sourceLineNo">2471</span>     * parameter.<a name="line.2471"></a>
<span class="sourceLineNo">2472</span>     *<a name="line.2472"></a>
<span class="sourceLineNo">2473</span>     * @param level the logging level<a name="line.2473"></a>
<span class="sourceLineNo">2474</span>     * @param marker the marker data specific to this log statement<a name="line.2474"></a>
<span class="sourceLineNo">2475</span>     * @param message the message to log.<a name="line.2475"></a>
<span class="sourceLineNo">2476</span>     * @param t the exception to log, including its stack trace.<a name="line.2476"></a>
<span class="sourceLineNo">2477</span>     */<a name="line.2477"></a>
<span class="sourceLineNo">2478</span>    void log(Level level, Marker marker, Object message, Throwable t);<a name="line.2478"></a>
<span class="sourceLineNo">2479</span><a name="line.2479"></a>
<span class="sourceLineNo">2480</span>    /**<a name="line.2480"></a>
<span class="sourceLineNo">2481</span>     * Logs a message object with the given level.<a name="line.2481"></a>
<span class="sourceLineNo">2482</span>     *<a name="line.2482"></a>
<span class="sourceLineNo">2483</span>     * @param level the logging level<a name="line.2483"></a>
<span class="sourceLineNo">2484</span>     * @param marker the marker data specific to this log statement<a name="line.2484"></a>
<span class="sourceLineNo">2485</span>     * @param message the message object to log.<a name="line.2485"></a>
<span class="sourceLineNo">2486</span>     */<a name="line.2486"></a>
<span class="sourceLineNo">2487</span>    void log(Level level, Marker marker, String message);<a name="line.2487"></a>
<span class="sourceLineNo">2488</span><a name="line.2488"></a>
<span class="sourceLineNo">2489</span>    /**<a name="line.2489"></a>
<span class="sourceLineNo">2490</span>     * Logs a message with parameters at the given level.<a name="line.2490"></a>
<span class="sourceLineNo">2491</span>     *<a name="line.2491"></a>
<span class="sourceLineNo">2492</span>     * @param level the logging level<a name="line.2492"></a>
<span class="sourceLineNo">2493</span>     * @param marker the marker data specific to this log statement<a name="line.2493"></a>
<span class="sourceLineNo">2494</span>     * @param message the message to log; the format depends on the message factory.<a name="line.2494"></a>
<span class="sourceLineNo">2495</span>     * @param params parameters to the message.<a name="line.2495"></a>
<span class="sourceLineNo">2496</span>     * @see #getMessageFactory()<a name="line.2496"></a>
<span class="sourceLineNo">2497</span>     */<a name="line.2497"></a>
<span class="sourceLineNo">2498</span>    void log(Level level, Marker marker, String message, Object... params);<a name="line.2498"></a>
<span class="sourceLineNo">2499</span><a name="line.2499"></a>
<span class="sourceLineNo">2500</span>    /**<a name="line.2500"></a>
<span class="sourceLineNo">2501</span>     * Logs a message with parameters which are only to be constructed if the logging level is the specified level.<a name="line.2501"></a>
<span class="sourceLineNo">2502</span>     *<a name="line.2502"></a>
<span class="sourceLineNo">2503</span>     * @param level the logging level<a name="line.2503"></a>
<span class="sourceLineNo">2504</span>     * @param marker the marker data specific to this log statement<a name="line.2504"></a>
<span class="sourceLineNo">2505</span>     * @param message the message to log; the format depends on the message factory.<a name="line.2505"></a>
<span class="sourceLineNo">2506</span>     * @param paramSuppliers An array of functions, which when called, produce the desired log message parameters.<a name="line.2506"></a>
<span class="sourceLineNo">2507</span>     * @since 2.4<a name="line.2507"></a>
<span class="sourceLineNo">2508</span>     */<a name="line.2508"></a>
<span class="sourceLineNo">2509</span>    void log(Level level, Marker marker, String message, Supplier&lt;?&gt;... paramSuppliers);<a name="line.2509"></a>
<span class="sourceLineNo">2510</span><a name="line.2510"></a>
<span class="sourceLineNo">2511</span>    /**<a name="line.2511"></a>
<span class="sourceLineNo">2512</span>     * Logs a message at the given level including the stack trace of the {@link Throwable} &lt;code&gt;t&lt;/code&gt; passed as<a name="line.2512"></a>
<span class="sourceLineNo">2513</span>     * parameter.<a name="line.2513"></a>
<span class="sourceLineNo">2514</span>     *<a name="line.2514"></a>
<span class="sourceLineNo">2515</span>     * @param level the logging level<a name="line.2515"></a>
<span class="sourceLineNo">2516</span>     * @param marker the marker data specific to this log statement<a name="line.2516"></a>
<span class="sourceLineNo">2517</span>     * @param message the message to log.<a name="line.2517"></a>
<span class="sourceLineNo">2518</span>     * @param t the exception to log, including its stack trace.<a name="line.2518"></a>
<span class="sourceLineNo">2519</span>     */<a name="line.2519"></a>
<span class="sourceLineNo">2520</span>    void log(Level level, Marker marker, String message, Throwable t);<a name="line.2520"></a>
<span class="sourceLineNo">2521</span><a name="line.2521"></a>
<span class="sourceLineNo">2522</span>    /**<a name="line.2522"></a>
<span class="sourceLineNo">2523</span>     * Logs a message (only to be constructed if the logging level is the specified level) with the specified Marker.<a name="line.2523"></a>
<span class="sourceLineNo">2524</span>     *<a name="line.2524"></a>
<span class="sourceLineNo">2525</span>     * @param level the logging level<a name="line.2525"></a>
<span class="sourceLineNo">2526</span>     * @param marker the marker data specific to this log statement<a name="line.2526"></a>
<span class="sourceLineNo">2527</span>     * @param msgSupplier A function, which when called, produces the desired log message; the format depends on the<a name="line.2527"></a>
<span class="sourceLineNo">2528</span>     *            message factory.<a name="line.2528"></a>
<span class="sourceLineNo">2529</span>     * @since 2.4<a name="line.2529"></a>
<span class="sourceLineNo">2530</span>     */<a name="line.2530"></a>
<span class="sourceLineNo">2531</span>    void log(Level level, Marker marker, Supplier&lt;?&gt; msgSupplier);<a name="line.2531"></a>
<span class="sourceLineNo">2532</span><a name="line.2532"></a>
<span class="sourceLineNo">2533</span>    /**<a name="line.2533"></a>
<span class="sourceLineNo">2534</span>     * Logs a message (only to be constructed if the logging level is the specified level) with the specified Marker and<a name="line.2534"></a>
<span class="sourceLineNo">2535</span>     * including the stack log of the {@link Throwable} &lt;code&gt;t&lt;/code&gt; passed as parameter.<a name="line.2535"></a>
<span class="sourceLineNo">2536</span>     *<a name="line.2536"></a>
<span class="sourceLineNo">2537</span>     * @param level the logging level<a name="line.2537"></a>
<span class="sourceLineNo">2538</span>     * @param marker the marker data specific to this log statement<a name="line.2538"></a>
<span class="sourceLineNo">2539</span>     * @param msgSupplier A function, which when called, produces the desired log message; the format depends on the<a name="line.2539"></a>
<span class="sourceLineNo">2540</span>     *            message factory.<a name="line.2540"></a>
<span class="sourceLineNo">2541</span>     * @param t A Throwable or null.<a name="line.2541"></a>
<span class="sourceLineNo">2542</span>     * @since 2.4<a name="line.2542"></a>
<span class="sourceLineNo">2543</span>     */<a name="line.2543"></a>
<span class="sourceLineNo">2544</span>    void log(Level level, Marker marker, Supplier&lt;?&gt; msgSupplier, Throwable t);<a name="line.2544"></a>
<span class="sourceLineNo">2545</span><a name="line.2545"></a>
<span class="sourceLineNo">2546</span>    /**<a name="line.2546"></a>
<span class="sourceLineNo">2547</span>     * Logs a message with the specific Marker at the given level.<a name="line.2547"></a>
<span class="sourceLineNo">2548</span>     *<a name="line.2548"></a>
<span class="sourceLineNo">2549</span>     * @param level the logging level<a name="line.2549"></a>
<span class="sourceLineNo">2550</span>     * @param msg the message string to be logged<a name="line.2550"></a>
<span class="sourceLineNo">2551</span>     */<a name="line.2551"></a>
<span class="sourceLineNo">2552</span>    void log(Level level, Message msg);<a name="line.2552"></a>
<span class="sourceLineNo">2553</span><a name="line.2553"></a>
<span class="sourceLineNo">2554</span>    /**<a name="line.2554"></a>
<span class="sourceLineNo">2555</span>     * Logs a message with the specific Marker at the given level.<a name="line.2555"></a>
<span class="sourceLineNo">2556</span>     *<a name="line.2556"></a>
<span class="sourceLineNo">2557</span>     * @param level the logging level<a name="line.2557"></a>
<span class="sourceLineNo">2558</span>     * @param msg the message string to be logged<a name="line.2558"></a>
<span class="sourceLineNo">2559</span>     * @param t A Throwable or null.<a name="line.2559"></a>
<span class="sourceLineNo">2560</span>     */<a name="line.2560"></a>
<span class="sourceLineNo">2561</span>    void log(Level level, Message msg, Throwable t);<a name="line.2561"></a>
<span class="sourceLineNo">2562</span><a name="line.2562"></a>
<span class="sourceLineNo">2563</span>    /**<a name="line.2563"></a>
<span class="sourceLineNo">2564</span>     * Logs a message which is only to be constructed if the logging level is the specified level. The<a name="line.2564"></a>
<span class="sourceLineNo">2565</span>     * {@code MessageSupplier} may or may not use the {@link MessageFactory} to construct the {@code Message}.<a name="line.2565"></a>
<span class="sourceLineNo">2566</span>     *<a name="line.2566"></a>
<span class="sourceLineNo">2567</span>     * @param level the logging level<a name="line.2567"></a>
<span class="sourceLineNo">2568</span>     * @param msgSupplier A function, which when called, produces the desired log message.<a name="line.2568"></a>
<span class="sourceLineNo">2569</span>     * @since 2.4<a name="line.2569"></a>
<span class="sourceLineNo">2570</span>     */<a name="line.2570"></a>
<span class="sourceLineNo">2571</span>    void log(Level level, MessageSupplier msgSupplier);<a name="line.2571"></a>
<span class="sourceLineNo">2572</span><a name="line.2572"></a>
<span class="sourceLineNo">2573</span>    /**<a name="line.2573"></a>
<span class="sourceLineNo">2574</span>     * Logs a message (only to be constructed if the logging level is the specified level) including the stack log of<a name="line.2574"></a>
<span class="sourceLineNo">2575</span>     * the {@link Throwable} &lt;code&gt;t&lt;/code&gt; passed as parameter. The {@code MessageSupplier} may or may not use the<a name="line.2575"></a>
<span class="sourceLineNo">2576</span>     * {@link MessageFactory} to construct the {@code Message}.<a name="line.2576"></a>
<span class="sourceLineNo">2577</span>     *<a name="line.2577"></a>
<span class="sourceLineNo">2578</span>     * @param level the logging level<a name="line.2578"></a>
<span class="sourceLineNo">2579</span>     * @param msgSupplier A function, which when called, produces the desired log message.<a name="line.2579"></a>
<span class="sourceLineNo">2580</span>     * @param t the exception to log, including its stack log.<a name="line.2580"></a>
<span class="sourceLineNo">2581</span>     * @since 2.4<a name="line.2581"></a>
<span class="sourceLineNo">2582</span>     */<a name="line.2582"></a>
<span class="sourceLineNo">2583</span>    void log(Level level, MessageSupplier msgSupplier, Throwable t);<a name="line.2583"></a>
<span class="sourceLineNo">2584</span><a name="line.2584"></a>
<span class="sourceLineNo">2585</span>    /**<a name="line.2585"></a>
<span class="sourceLineNo">2586</span>     * Logs a message CharSequence with the given level.<a name="line.2586"></a>
<span class="sourceLineNo">2587</span>     *<a name="line.2587"></a>
<span class="sourceLineNo">2588</span>     * @param level the logging level<a name="line.2588"></a>
<span class="sourceLineNo">2589</span>     * @param message the message CharSequence to log.<a name="line.2589"></a>
<span class="sourceLineNo">2590</span>     */<a name="line.2590"></a>
<span class="sourceLineNo">2591</span>    void log(Level level, CharSequence message);<a name="line.2591"></a>
<span class="sourceLineNo">2592</span><a name="line.2592"></a>
<span class="sourceLineNo">2593</span>    /**<a name="line.2593"></a>
<span class="sourceLineNo">2594</span>     * Logs a CharSequence at the given level including the stack trace of the {@link Throwable} &lt;code&gt;t&lt;/code&gt; passed as<a name="line.2594"></a>
<span class="sourceLineNo">2595</span>     * parameter.<a name="line.2595"></a>
<span class="sourceLineNo">2596</span>     *<a name="line.2596"></a>
<span class="sourceLineNo">2597</span>     * @param level the logging level<a name="line.2597"></a>
<span class="sourceLineNo">2598</span>     * @param message the message CharSequence to log.<a name="line.2598"></a>
<span class="sourceLineNo">2599</span>     * @param t the exception to log, including its stack trace.<a name="line.2599"></a>
<span class="sourceLineNo">2600</span>     */<a name="line.2600"></a>
<span class="sourceLineNo">2601</span>    void log(Level level, CharSequence message, Throwable t);<a name="line.2601"></a>
<span class="sourceLineNo">2602</span><a name="line.2602"></a>
<span class="sourceLineNo">2603</span>    /**<a name="line.2603"></a>
<span class="sourceLineNo">2604</span>     * Logs a message object with the given level.<a name="line.2604"></a>
<span class="sourceLineNo">2605</span>     *<a name="line.2605"></a>
<span class="sourceLineNo">2606</span>     * @param level the logging level<a name="line.2606"></a>
<span class="sourceLineNo">2607</span>     * @param message the message object to log.<a name="line.2607"></a>
<span class="sourceLineNo">2608</span>     */<a name="line.2608"></a>
<span class="sourceLineNo">2609</span>    void log(Level level, Object message);<a name="line.2609"></a>
<span class="sourceLineNo">2610</span><a name="line.2610"></a>
<span class="sourceLineNo">2611</span>    /**<a name="line.2611"></a>
<span class="sourceLineNo">2612</span>     * Logs a message at the given level including the stack trace of the {@link Throwable} &lt;code&gt;t&lt;/code&gt; passed as<a name="line.2612"></a>
<span class="sourceLineNo">2613</span>     * parameter.<a name="line.2613"></a>
<span class="sourceLineNo">2614</span>     *<a name="line.2614"></a>
<span class="sourceLineNo">2615</span>     * @param level the logging level<a name="line.2615"></a>
<span class="sourceLineNo">2616</span>     * @param message the message to log.<a name="line.2616"></a>
<span class="sourceLineNo">2617</span>     * @param t the exception to log, including its stack trace.<a name="line.2617"></a>
<span class="sourceLineNo">2618</span>     */<a name="line.2618"></a>
<span class="sourceLineNo">2619</span>    void log(Level level, Object message, Throwable t);<a name="line.2619"></a>
<span class="sourceLineNo">2620</span><a name="line.2620"></a>
<span class="sourceLineNo">2621</span>    /**<a name="line.2621"></a>
<span class="sourceLineNo">2622</span>     * Logs a message object with the given level.<a name="line.2622"></a>
<span class="sourceLineNo">2623</span>     *<a name="line.2623"></a>
<span class="sourceLineNo">2624</span>     * @param level the logging level<a name="line.2624"></a>
<span class="sourceLineNo">2625</span>     * @param message the message string to log.<a name="line.2625"></a>
<span class="sourceLineNo">2626</span>     */<a name="line.2626"></a>
<span class="sourceLineNo">2627</span>    void log(Level level, String message);<a name="line.2627"></a>
<span class="sourceLineNo">2628</span><a name="line.2628"></a>
<span class="sourceLineNo">2629</span>    /**<a name="line.2629"></a>
<span class="sourceLineNo">2630</span>     * Logs a message with parameters at the given level.<a name="line.2630"></a>
<span class="sourceLineNo">2631</span>     *<a name="line.2631"></a>
<span class="sourceLineNo">2632</span>     * @param level the logging level<a name="line.2632"></a>
<span class="sourceLineNo">2633</span>     * @param message the message to log; the format depends on the message factory.<a name="line.2633"></a>
<span class="sourceLineNo">2634</span>     * @param params parameters to the message.<a name="line.2634"></a>
<span class="sourceLineNo">2635</span>     * @see #getMessageFactory()<a name="line.2635"></a>
<span class="sourceLineNo">2636</span>     */<a name="line.2636"></a>
<span class="sourceLineNo">2637</span>    void log(Level level, String message, Object... params);<a name="line.2637"></a>
<span class="sourceLineNo">2638</span><a name="line.2638"></a>
<span class="sourceLineNo">2639</span>    /**<a name="line.2639"></a>
<span class="sourceLineNo">2640</span>     * Logs a message with parameters which are only to be constructed if the logging level is the specified level.<a name="line.2640"></a>
<span class="sourceLineNo">2641</span>     *<a name="line.2641"></a>
<span class="sourceLineNo">2642</span>     * @param level the logging level<a name="line.2642"></a>
<span class="sourceLineNo">2643</span>     * @param message the message to log; the format depends on the message factory.<a name="line.2643"></a>
<span class="sourceLineNo">2644</span>     * @param paramSuppliers An array of functions, which when called, produce the desired log message parameters.<a name="line.2644"></a>
<span class="sourceLineNo">2645</span>     * @since 2.4<a name="line.2645"></a>
<span class="sourceLineNo">2646</span>     */<a name="line.2646"></a>
<span class="sourceLineNo">2647</span>    void log(Level level, String message, Supplier&lt;?&gt;... paramSuppliers);<a name="line.2647"></a>
<span class="sourceLineNo">2648</span><a name="line.2648"></a>
<span class="sourceLineNo">2649</span>    /**<a name="line.2649"></a>
<span class="sourceLineNo">2650</span>     * Logs a message at the given level including the stack trace of the {@link Throwable} &lt;code&gt;t&lt;/code&gt; passed as<a name="line.2650"></a>
<span class="sourceLineNo">2651</span>     * parameter.<a name="line.2651"></a>
<span class="sourceLineNo">2652</span>     *<a name="line.2652"></a>
<span class="sourceLineNo">2653</span>     * @param level the logging level<a name="line.2653"></a>
<span class="sourceLineNo">2654</span>     * @param message the message to log.<a name="line.2654"></a>
<span class="sourceLineNo">2655</span>     * @param t the exception to log, including its stack trace.<a name="line.2655"></a>
<span class="sourceLineNo">2656</span>     */<a name="line.2656"></a>
<span class="sourceLineNo">2657</span>    void log(Level level, String message, Throwable t);<a name="line.2657"></a>
<span class="sourceLineNo">2658</span><a name="line.2658"></a>
<span class="sourceLineNo">2659</span>    /**<a name="line.2659"></a>
<span class="sourceLineNo">2660</span>     * Logs a message which is only to be constructed if the logging level is the specified level.<a name="line.2660"></a>
<span class="sourceLineNo">2661</span>     *<a name="line.2661"></a>
<span class="sourceLineNo">2662</span>     * @param level the logging level<a name="line.2662"></a>
<span class="sourceLineNo">2663</span>     * @param msgSupplier A function, which when called, produces the desired log message; the format depends on the<a name="line.2663"></a>
<span class="sourceLineNo">2664</span>     *            message factory.<a name="line.2664"></a>
<span class="sourceLineNo">2665</span>     * @since 2.4<a name="line.2665"></a>
<span class="sourceLineNo">2666</span>     */<a name="line.2666"></a>
<span class="sourceLineNo">2667</span>    void log(Level level, Supplier&lt;?&gt; msgSupplier);<a name="line.2667"></a>
<span class="sourceLineNo">2668</span><a name="line.2668"></a>
<span class="sourceLineNo">2669</span>    /**<a name="line.2669"></a>
<span class="sourceLineNo">2670</span>     * Logs a message (only to be constructed if the logging level is the specified level) including the stack log of<a name="line.2670"></a>
<span class="sourceLineNo">2671</span>     * the {@link Throwable} &lt;code&gt;t&lt;/code&gt; passed as parameter.<a name="line.2671"></a>
<span class="sourceLineNo">2672</span>     *<a name="line.2672"></a>
<span class="sourceLineNo">2673</span>     * @param level the logging level<a name="line.2673"></a>
<span class="sourceLineNo">2674</span>     * @param msgSupplier A function, which when called, produces the desired log message; the format depends on the<a name="line.2674"></a>
<span class="sourceLineNo">2675</span>     *            message factory.<a name="line.2675"></a>
<span class="sourceLineNo">2676</span>     * @param t the exception to log, including its stack log.<a name="line.2676"></a>
<span class="sourceLineNo">2677</span>     * @since 2.4<a name="line.2677"></a>
<span class="sourceLineNo">2678</span>     */<a name="line.2678"></a>
<span class="sourceLineNo">2679</span>    void log(Level level, Supplier&lt;?&gt; msgSupplier, Throwable t);<a name="line.2679"></a>
<span class="sourceLineNo">2680</span><a name="line.2680"></a>
<span class="sourceLineNo">2681</span>    /**<a name="line.2681"></a>
<span class="sourceLineNo">2682</span>     * Logs a message with parameters at the specified level.<a name="line.2682"></a>
<span class="sourceLineNo">2683</span>     *<a name="line.2683"></a>
<span class="sourceLineNo">2684</span>     * @param level the logging level<a name="line.2684"></a>
<span class="sourceLineNo">2685</span>     * @param marker the marker data specific to this log statement<a name="line.2685"></a>
<span class="sourceLineNo">2686</span>     * @param message the message to log; the format depends on the message factory.<a name="line.2686"></a>
<span class="sourceLineNo">2687</span>     * @param p0 parameter to the message.<a name="line.2687"></a>
<span class="sourceLineNo">2688</span>     */<a name="line.2688"></a>
<span class="sourceLineNo">2689</span>    void log(Level level, Marker marker, String message, Object p0);<a name="line.2689"></a>
<span class="sourceLineNo">2690</span><a name="line.2690"></a>
<span class="sourceLineNo">2691</span>    /**<a name="line.2691"></a>
<span class="sourceLineNo">2692</span>     * Logs a message with parameters at the specified level.<a name="line.2692"></a>
<span class="sourceLineNo">2693</span>     *<a name="line.2693"></a>
<span class="sourceLineNo">2694</span>     * @param level the logging level<a name="line.2694"></a>
<span class="sourceLineNo">2695</span>     * @param marker the marker data specific to this log statement<a name="line.2695"></a>
<span class="sourceLineNo">2696</span>     * @param message the message to log; the format depends on the message factory.<a name="line.2696"></a>
<span class="sourceLineNo">2697</span>     * @param p0 parameter to the message.<a name="line.2697"></a>
<span class="sourceLineNo">2698</span>     * @param p1 parameter to the message.<a name="line.2698"></a>
<span class="sourceLineNo">2699</span>     */<a name="line.2699"></a>
<span class="sourceLineNo">2700</span>    void log(Level level, Marker marker, String message, Object p0, Object p1);<a name="line.2700"></a>
<span class="sourceLineNo">2701</span><a name="line.2701"></a>
<span class="sourceLineNo">2702</span>    /**<a name="line.2702"></a>
<span class="sourceLineNo">2703</span>     * Logs a message with parameters at the specified level.<a name="line.2703"></a>
<span class="sourceLineNo">2704</span>     *<a name="line.2704"></a>
<span class="sourceLineNo">2705</span>     * @param level the logging level<a name="line.2705"></a>
<span class="sourceLineNo">2706</span>     * @param marker the marker data specific to this log statement<a name="line.2706"></a>
<span class="sourceLineNo">2707</span>     * @param message the message to log; the format depends on the message factory.<a name="line.2707"></a>
<span class="sourceLineNo">2708</span>     * @param p0 parameter to the message.<a name="line.2708"></a>
<span class="sourceLineNo">2709</span>     * @param p1 parameter to the message.<a name="line.2709"></a>
<span class="sourceLineNo">2710</span>     * @param p2 parameter to the message.<a name="line.2710"></a>
<span class="sourceLineNo">2711</span>     */<a name="line.2711"></a>
<span class="sourceLineNo">2712</span>    void log(Level level, Marker marker, String message, Object p0, Object p1, Object p2);<a name="line.2712"></a>
<span class="sourceLineNo">2713</span><a name="line.2713"></a>
<span class="sourceLineNo">2714</span>    /**<a name="line.2714"></a>
<span class="sourceLineNo">2715</span>     * Logs a message with parameters at the specified level.<a name="line.2715"></a>
<span class="sourceLineNo">2716</span>     *<a name="line.2716"></a>
<span class="sourceLineNo">2717</span>     * @param level the logging level<a name="line.2717"></a>
<span class="sourceLineNo">2718</span>     * @param marker the marker data specific to this log statement<a name="line.2718"></a>
<span class="sourceLineNo">2719</span>     * @param message the message to log; the format depends on the message factory.<a name="line.2719"></a>
<span class="sourceLineNo">2720</span>     * @param p0 parameter to the message.<a name="line.2720"></a>
<span class="sourceLineNo">2721</span>     * @param p1 parameter to the message.<a name="line.2721"></a>
<span class="sourceLineNo">2722</span>     * @param p2 parameter to the message.<a name="line.2722"></a>
<span class="sourceLineNo">2723</span>     * @param p3 parameter to the message.<a name="line.2723"></a>
<span class="sourceLineNo">2724</span>     */<a name="line.2724"></a>
<span class="sourceLineNo">2725</span>    void log(Level level, Marker marker, String message, Object p0, Object p1, Object p2, Object p3);<a name="line.2725"></a>
<span class="sourceLineNo">2726</span><a name="line.2726"></a>
<span class="sourceLineNo">2727</span>    /**<a name="line.2727"></a>
<span class="sourceLineNo">2728</span>     * Logs a message with parameters at the specified level.<a name="line.2728"></a>
<span class="sourceLineNo">2729</span>     *<a name="line.2729"></a>
<span class="sourceLineNo">2730</span>     * @param level the logging level<a name="line.2730"></a>
<span class="sourceLineNo">2731</span>     * @param marker the marker data specific to this log statement<a name="line.2731"></a>
<span class="sourceLineNo">2732</span>     * @param message the message to log; the format depends on the message factory.<a name="line.2732"></a>
<span class="sourceLineNo">2733</span>     * @param p0 parameter to the message.<a name="line.2733"></a>
<span class="sourceLineNo">2734</span>     * @param p1 parameter to the message.<a name="line.2734"></a>
<span class="sourceLineNo">2735</span>     * @param p2 parameter to the message.<a name="line.2735"></a>
<span class="sourceLineNo">2736</span>     * @param p3 parameter to the message.<a name="line.2736"></a>
<span class="sourceLineNo">2737</span>     * @param p4 parameter to the message.<a name="line.2737"></a>
<span class="sourceLineNo">2738</span>     */<a name="line.2738"></a>
<span class="sourceLineNo">2739</span>    void log(Level level, Marker marker, String message, Object p0, Object p1, Object p2, Object p3, Object p4);<a name="line.2739"></a>
<span class="sourceLineNo">2740</span><a name="line.2740"></a>
<span class="sourceLineNo">2741</span>    /**<a name="line.2741"></a>
<span class="sourceLineNo">2742</span>     * Logs a message with parameters at the specified level.<a name="line.2742"></a>
<span class="sourceLineNo">2743</span>     *<a name="line.2743"></a>
<span class="sourceLineNo">2744</span>     * @param level the logging level<a name="line.2744"></a>
<span class="sourceLineNo">2745</span>     * @param marker the marker data specific to this log statement<a name="line.2745"></a>
<span class="sourceLineNo">2746</span>     * @param message the message to log; the format depends on the message factory.<a name="line.2746"></a>
<span class="sourceLineNo">2747</span>     * @param p0 parameter to the message.<a name="line.2747"></a>
<span class="sourceLineNo">2748</span>     * @param p1 parameter to the message.<a name="line.2748"></a>
<span class="sourceLineNo">2749</span>     * @param p2 parameter to the message.<a name="line.2749"></a>
<span class="sourceLineNo">2750</span>     * @param p3 parameter to the message.<a name="line.2750"></a>
<span class="sourceLineNo">2751</span>     * @param p4 parameter to the message.<a name="line.2751"></a>
<span class="sourceLineNo">2752</span>     * @param p5 parameter to the message.<a name="line.2752"></a>
<span class="sourceLineNo">2753</span>     */<a name="line.2753"></a>
<span class="sourceLineNo">2754</span>    void log(Level level, Marker marker, String message, Object p0, Object p1, Object p2, Object p3, Object p4, Object p5);<a name="line.2754"></a>
<span class="sourceLineNo">2755</span><a name="line.2755"></a>
<span class="sourceLineNo">2756</span>    /**<a name="line.2756"></a>
<span class="sourceLineNo">2757</span>     * Logs a message with parameters at the specified level.<a name="line.2757"></a>
<span class="sourceLineNo">2758</span>     *<a name="line.2758"></a>
<span class="sourceLineNo">2759</span>     * @param level the logging level<a name="line.2759"></a>
<span class="sourceLineNo">2760</span>     * @param marker the marker data specific to this log statement<a name="line.2760"></a>
<span class="sourceLineNo">2761</span>     * @param message the message to log; the format depends on the message factory.<a name="line.2761"></a>
<span class="sourceLineNo">2762</span>     * @param p0 parameter to the message.<a name="line.2762"></a>
<span class="sourceLineNo">2763</span>     * @param p1 parameter to the message.<a name="line.2763"></a>
<span class="sourceLineNo">2764</span>     * @param p2 parameter to the message.<a name="line.2764"></a>
<span class="sourceLineNo">2765</span>     * @param p3 parameter to the message.<a name="line.2765"></a>
<span class="sourceLineNo">2766</span>     * @param p4 parameter to the message.<a name="line.2766"></a>
<span class="sourceLineNo">2767</span>     * @param p5 parameter to the message.<a name="line.2767"></a>
<span class="sourceLineNo">2768</span>     * @param p6 parameter to the message.<a name="line.2768"></a>
<span class="sourceLineNo">2769</span>     */<a name="line.2769"></a>
<span class="sourceLineNo">2770</span>    void log(Level level, Marker marker, String message, Object p0, Object p1, Object p2, Object p3, Object p4, Object p5,<a name="line.2770"></a>
<span class="sourceLineNo">2771</span>            Object p6);<a name="line.2771"></a>
<span class="sourceLineNo">2772</span><a name="line.2772"></a>
<span class="sourceLineNo">2773</span>    /**<a name="line.2773"></a>
<span class="sourceLineNo">2774</span>     * Logs a message with parameters at the specified level.<a name="line.2774"></a>
<span class="sourceLineNo">2775</span>     *<a name="line.2775"></a>
<span class="sourceLineNo">2776</span>     * @param level the logging level<a name="line.2776"></a>
<span class="sourceLineNo">2777</span>     * @param marker the marker data specific to this log statement<a name="line.2777"></a>
<span class="sourceLineNo">2778</span>     * @param message the message to log; the format depends on the message factory.<a name="line.2778"></a>
<span class="sourceLineNo">2779</span>     * @param p0 parameter to the message.<a name="line.2779"></a>
<span class="sourceLineNo">2780</span>     * @param p1 parameter to the message.<a name="line.2780"></a>
<span class="sourceLineNo">2781</span>     * @param p2 parameter to the message.<a name="line.2781"></a>
<span class="sourceLineNo">2782</span>     * @param p3 parameter to the message.<a name="line.2782"></a>
<span class="sourceLineNo">2783</span>     * @param p4 parameter to the message.<a name="line.2783"></a>
<span class="sourceLineNo">2784</span>     * @param p5 parameter to the message.<a name="line.2784"></a>
<span class="sourceLineNo">2785</span>     * @param p6 parameter to the message.<a name="line.2785"></a>
<span class="sourceLineNo">2786</span>     * @param p7 parameter to the message.<a name="line.2786"></a>
<span class="sourceLineNo">2787</span>     */<a name="line.2787"></a>
<span class="sourceLineNo">2788</span>    void log(Level level, Marker marker, String message, Object p0, Object p1, Object p2, Object p3, Object p4, Object p5, Object p6,<a name="line.2788"></a>
<span class="sourceLineNo">2789</span>            Object p7);<a name="line.2789"></a>
<span class="sourceLineNo">2790</span><a name="line.2790"></a>
<span class="sourceLineNo">2791</span>    /**<a name="line.2791"></a>
<span class="sourceLineNo">2792</span>     * Logs a message with parameters at the specified level.<a name="line.2792"></a>
<span class="sourceLineNo">2793</span>     *<a name="line.2793"></a>
<span class="sourceLineNo">2794</span>     * @param level the logging level<a name="line.2794"></a>
<span class="sourceLineNo">2795</span>     * @param marker the marker data specific to this log statement<a name="line.2795"></a>
<span class="sourceLineNo">2796</span>     * @param message the message to log; the format depends on the message factory.<a name="line.2796"></a>
<span class="sourceLineNo">2797</span>     * @param p0 parameter to the message.<a name="line.2797"></a>
<span class="sourceLineNo">2798</span>     * @param p1 parameter to the message.<a name="line.2798"></a>
<span class="sourceLineNo">2799</span>     * @param p2 parameter to the message.<a name="line.2799"></a>
<span class="sourceLineNo">2800</span>     * @param p3 parameter to the message.<a name="line.2800"></a>
<span class="sourceLineNo">2801</span>     * @param p4 parameter to the message.<a name="line.2801"></a>
<span class="sourceLineNo">2802</span>     * @param p5 parameter to the message.<a name="line.2802"></a>
<span class="sourceLineNo">2803</span>     * @param p6 parameter to the message.<a name="line.2803"></a>
<span class="sourceLineNo">2804</span>     * @param p7 parameter to the message.<a name="line.2804"></a>
<span class="sourceLineNo">2805</span>     * @param p8 parameter to the message.<a name="line.2805"></a>
<span class="sourceLineNo">2806</span>     */<a name="line.2806"></a>
<span class="sourceLineNo">2807</span>    void log(Level level, Marker marker, String message, Object p0, Object p1, Object p2, Object p3, Object p4, Object p5, Object p6,<a name="line.2807"></a>
<span class="sourceLineNo">2808</span>            Object p7, Object p8);<a name="line.2808"></a>
<span class="sourceLineNo">2809</span><a name="line.2809"></a>
<span class="sourceLineNo">2810</span>    /**<a name="line.2810"></a>
<span class="sourceLineNo">2811</span>     * Logs a message with parameters at the specified level.<a name="line.2811"></a>
<span class="sourceLineNo">2812</span>     *<a name="line.2812"></a>
<span class="sourceLineNo">2813</span>     * @param level the logging level<a name="line.2813"></a>
<span class="sourceLineNo">2814</span>     * @param marker the marker data specific to this log statement<a name="line.2814"></a>
<span class="sourceLineNo">2815</span>     * @param message the message to log; the format depends on the message factory.<a name="line.2815"></a>
<span class="sourceLineNo">2816</span>     * @param p0 parameter to the message.<a name="line.2816"></a>
<span class="sourceLineNo">2817</span>     * @param p1 parameter to the message.<a name="line.2817"></a>
<span class="sourceLineNo">2818</span>     * @param p2 parameter to the message.<a name="line.2818"></a>
<span class="sourceLineNo">2819</span>     * @param p3 parameter to the message.<a name="line.2819"></a>
<span class="sourceLineNo">2820</span>     * @param p4 parameter to the message.<a name="line.2820"></a>
<span class="sourceLineNo">2821</span>     * @param p5 parameter to the message.<a name="line.2821"></a>
<span class="sourceLineNo">2822</span>     * @param p6 parameter to the message.<a name="line.2822"></a>
<span class="sourceLineNo">2823</span>     * @param p7 parameter to the message.<a name="line.2823"></a>
<span class="sourceLineNo">2824</span>     * @param p8 parameter to the message.<a name="line.2824"></a>
<span class="sourceLineNo">2825</span>     * @param p9 parameter to the message.<a name="line.2825"></a>
<span class="sourceLineNo">2826</span>     */<a name="line.2826"></a>
<span class="sourceLineNo">2827</span>    void log(Level level, Marker marker, String message, Object p0, Object p1, Object p2, Object p3, Object p4, Object p5, Object p6,<a name="line.2827"></a>
<span class="sourceLineNo">2828</span>            Object p7, Object p8, Object p9);<a name="line.2828"></a>
<span class="sourceLineNo">2829</span><a name="line.2829"></a>
<span class="sourceLineNo">2830</span>    /**<a name="line.2830"></a>
<span class="sourceLineNo">2831</span>     * Logs a message with parameters at the specified level.<a name="line.2831"></a>
<span class="sourceLineNo">2832</span>     *<a name="line.2832"></a>
<span class="sourceLineNo">2833</span>     * @param level the logging level<a name="line.2833"></a>
<span class="sourceLineNo">2834</span>     * @param message the message to log; the format depends on the message factory.<a name="line.2834"></a>
<span class="sourceLineNo">2835</span>     * @param p0 parameter to the message.<a name="line.2835"></a>
<span class="sourceLineNo">2836</span>     */<a name="line.2836"></a>
<span class="sourceLineNo">2837</span>    void log(Level level, String message, Object p0);<a name="line.2837"></a>
<span class="sourceLineNo">2838</span><a name="line.2838"></a>
<span class="sourceLineNo">2839</span>    /**<a name="line.2839"></a>
<span class="sourceLineNo">2840</span>     * Logs a message with parameters at the specified level.<a name="line.2840"></a>
<span class="sourceLineNo">2841</span>     *<a name="line.2841"></a>
<span class="sourceLineNo">2842</span>     * @param level the logging level<a name="line.2842"></a>
<span class="sourceLineNo">2843</span>     * @param message the message to log; the format depends on the message factory.<a name="line.2843"></a>
<span class="sourceLineNo">2844</span>     * @param p0 parameter to the message.<a name="line.2844"></a>
<span class="sourceLineNo">2845</span>     * @param p1 parameter to the message.<a name="line.2845"></a>
<span class="sourceLineNo">2846</span>     */<a name="line.2846"></a>
<span class="sourceLineNo">2847</span>    void log(Level level, String message, Object p0, Object p1);<a name="line.2847"></a>
<span class="sourceLineNo">2848</span><a name="line.2848"></a>
<span class="sourceLineNo">2849</span>    /**<a name="line.2849"></a>
<span class="sourceLineNo">2850</span>     * Logs a message with parameters at the specified level.<a name="line.2850"></a>
<span class="sourceLineNo">2851</span>     *<a name="line.2851"></a>
<span class="sourceLineNo">2852</span>     * @param level the logging level<a name="line.2852"></a>
<span class="sourceLineNo">2853</span>     * @param message the message to log; the format depends on the message factory.<a name="line.2853"></a>
<span class="sourceLineNo">2854</span>     * @param p0 parameter to the message.<a name="line.2854"></a>
<span class="sourceLineNo">2855</span>     * @param p1 parameter to the message.<a name="line.2855"></a>
<span class="sourceLineNo">2856</span>     * @param p2 parameter to the message.<a name="line.2856"></a>
<span class="sourceLineNo">2857</span>     */<a name="line.2857"></a>
<span class="sourceLineNo">2858</span>    void log(Level level, String message, Object p0, Object p1, Object p2);<a name="line.2858"></a>
<span class="sourceLineNo">2859</span><a name="line.2859"></a>
<span class="sourceLineNo">2860</span>    /**<a name="line.2860"></a>
<span class="sourceLineNo">2861</span>     * Logs a message with parameters at the specified level.<a name="line.2861"></a>
<span class="sourceLineNo">2862</span>     *<a name="line.2862"></a>
<span class="sourceLineNo">2863</span>     * @param level the logging level<a name="line.2863"></a>
<span class="sourceLineNo">2864</span>     * @param message the message to log; the format depends on the message factory.<a name="line.2864"></a>
<span class="sourceLineNo">2865</span>     * @param p0 parameter to the message.<a name="line.2865"></a>
<span class="sourceLineNo">2866</span>     * @param p1 parameter to the message.<a name="line.2866"></a>
<span class="sourceLineNo">2867</span>     * @param p2 parameter to the message.<a name="line.2867"></a>
<span class="sourceLineNo">2868</span>     * @param p3 parameter to the message.<a name="line.2868"></a>
<span class="sourceLineNo">2869</span>     */<a name="line.2869"></a>
<span class="sourceLineNo">2870</span>    void log(Level level, String message, Object p0, Object p1, Object p2, Object p3);<a name="line.2870"></a>
<span class="sourceLineNo">2871</span><a name="line.2871"></a>
<span class="sourceLineNo">2872</span>    /**<a name="line.2872"></a>
<span class="sourceLineNo">2873</span>     * Logs a message with parameters at the specified level.<a name="line.2873"></a>
<span class="sourceLineNo">2874</span>     *<a name="line.2874"></a>
<span class="sourceLineNo">2875</span>     * @param level the logging level<a name="line.2875"></a>
<span class="sourceLineNo">2876</span>     * @param message the message to log; the format depends on the message factory.<a name="line.2876"></a>
<span class="sourceLineNo">2877</span>     * @param p0 parameter to the message.<a name="line.2877"></a>
<span class="sourceLineNo">2878</span>     * @param p1 parameter to the message.<a name="line.2878"></a>
<span class="sourceLineNo">2879</span>     * @param p2 parameter to the message.<a name="line.2879"></a>
<span class="sourceLineNo">2880</span>     * @param p3 parameter to the message.<a name="line.2880"></a>
<span class="sourceLineNo">2881</span>     * @param p4 parameter to the message.<a name="line.2881"></a>
<span class="sourceLineNo">2882</span>     */<a name="line.2882"></a>
<span class="sourceLineNo">2883</span>    void log(Level level, String message, Object p0, Object p1, Object p2, Object p3, Object p4);<a name="line.2883"></a>
<span class="sourceLineNo">2884</span><a name="line.2884"></a>
<span class="sourceLineNo">2885</span>    /**<a name="line.2885"></a>
<span class="sourceLineNo">2886</span>     * Logs a message with parameters at the specified level.<a name="line.2886"></a>
<span class="sourceLineNo">2887</span>     *<a name="line.2887"></a>
<span class="sourceLineNo">2888</span>     * @param level the logging level<a name="line.2888"></a>
<span class="sourceLineNo">2889</span>     * @param message the message to log; the format depends on the message factory.<a name="line.2889"></a>
<span class="sourceLineNo">2890</span>     * @param p0 parameter to the message.<a name="line.2890"></a>
<span class="sourceLineNo">2891</span>     * @param p1 parameter to the message.<a name="line.2891"></a>
<span class="sourceLineNo">2892</span>     * @param p2 parameter to the message.<a name="line.2892"></a>
<span class="sourceLineNo">2893</span>     * @param p3 parameter to the message.<a name="line.2893"></a>
<span class="sourceLineNo">2894</span>     * @param p4 parameter to the message.<a name="line.2894"></a>
<span class="sourceLineNo">2895</span>     * @param p5 parameter to the message.<a name="line.2895"></a>
<span class="sourceLineNo">2896</span>     */<a name="line.2896"></a>
<span class="sourceLineNo">2897</span>    void log(Level level, String message, Object p0, Object p1, Object p2, Object p3, Object p4, Object p5);<a name="line.2897"></a>
<span class="sourceLineNo">2898</span><a name="line.2898"></a>
<span class="sourceLineNo">2899</span>    /**<a name="line.2899"></a>
<span class="sourceLineNo">2900</span>     * Logs a message with parameters at the specified level.<a name="line.2900"></a>
<span class="sourceLineNo">2901</span>     *<a name="line.2901"></a>
<span class="sourceLineNo">2902</span>     * @param level the logging level<a name="line.2902"></a>
<span class="sourceLineNo">2903</span>     * @param message the message to log; the format depends on the message factory.<a name="line.2903"></a>
<span class="sourceLineNo">2904</span>     * @param p0 parameter to the message.<a name="line.2904"></a>
<span class="sourceLineNo">2905</span>     * @param p1 parameter to the message.<a name="line.2905"></a>
<span class="sourceLineNo">2906</span>     * @param p2 parameter to the message.<a name="line.2906"></a>
<span class="sourceLineNo">2907</span>     * @param p3 parameter to the message.<a name="line.2907"></a>
<span class="sourceLineNo">2908</span>     * @param p4 parameter to the message.<a name="line.2908"></a>
<span class="sourceLineNo">2909</span>     * @param p5 parameter to the message.<a name="line.2909"></a>
<span class="sourceLineNo">2910</span>     * @param p6 parameter to the message.<a name="line.2910"></a>
<span class="sourceLineNo">2911</span>     */<a name="line.2911"></a>
<span class="sourceLineNo">2912</span>    void log(Level level, String message, Object p0, Object p1, Object p2, Object p3, Object p4, Object p5, Object p6);<a name="line.2912"></a>
<span class="sourceLineNo">2913</span><a name="line.2913"></a>
<span class="sourceLineNo">2914</span>    /**<a name="line.2914"></a>
<span class="sourceLineNo">2915</span>     * Logs a message with parameters at the specified level.<a name="line.2915"></a>
<span class="sourceLineNo">2916</span>     *<a name="line.2916"></a>
<span class="sourceLineNo">2917</span>     * @param level the logging level<a name="line.2917"></a>
<span class="sourceLineNo">2918</span>     * @param message the message to log; the format depends on the message factory.<a name="line.2918"></a>
<span class="sourceLineNo">2919</span>     * @param p0 parameter to the message.<a name="line.2919"></a>
<span class="sourceLineNo">2920</span>     * @param p1 parameter to the message.<a name="line.2920"></a>
<span class="sourceLineNo">2921</span>     * @param p2 parameter to the message.<a name="line.2921"></a>
<span class="sourceLineNo">2922</span>     * @param p3 parameter to the message.<a name="line.2922"></a>
<span class="sourceLineNo">2923</span>     * @param p4 parameter to the message.<a name="line.2923"></a>
<span class="sourceLineNo">2924</span>     * @param p5 parameter to the message.<a name="line.2924"></a>
<span class="sourceLineNo">2925</span>     * @param p6 parameter to the message.<a name="line.2925"></a>
<span class="sourceLineNo">2926</span>     * @param p7 parameter to the message.<a name="line.2926"></a>
<span class="sourceLineNo">2927</span>     */<a name="line.2927"></a>
<span class="sourceLineNo">2928</span>    void log(Level level, String message, Object p0, Object p1, Object p2, Object p3, Object p4, Object p5, Object p6, Object p7);<a name="line.2928"></a>
<span class="sourceLineNo">2929</span><a name="line.2929"></a>
<span class="sourceLineNo">2930</span>    /**<a name="line.2930"></a>
<span class="sourceLineNo">2931</span>     * Logs a message with parameters at the specified level.<a name="line.2931"></a>
<span class="sourceLineNo">2932</span>     *<a name="line.2932"></a>
<span class="sourceLineNo">2933</span>     * @param level the logging level<a name="line.2933"></a>
<span class="sourceLineNo">2934</span>     * @param message the message to log; the format depends on the message factory.<a name="line.2934"></a>
<span class="sourceLineNo">2935</span>     * @param p0 parameter to the message.<a name="line.2935"></a>
<span class="sourceLineNo">2936</span>     * @param p1 parameter to the message.<a name="line.2936"></a>
<span class="sourceLineNo">2937</span>     * @param p2 parameter to the message.<a name="line.2937"></a>
<span class="sourceLineNo">2938</span>     * @param p3 parameter to the message.<a name="line.2938"></a>
<span class="sourceLineNo">2939</span>     * @param p4 parameter to the message.<a name="line.2939"></a>
<span class="sourceLineNo">2940</span>     * @param p5 parameter to the message.<a name="line.2940"></a>
<span class="sourceLineNo">2941</span>     * @param p6 parameter to the message.<a name="line.2941"></a>
<span class="sourceLineNo">2942</span>     * @param p7 parameter to the message.<a name="line.2942"></a>
<span class="sourceLineNo">2943</span>     * @param p8 parameter to the message.<a name="line.2943"></a>
<span class="sourceLineNo">2944</span>     */<a name="line.2944"></a>
<span class="sourceLineNo">2945</span>    void log(Level level, String message, Object p0, Object p1, Object p2, Object p3, Object p4, Object p5, Object p6, Object p7,<a name="line.2945"></a>
<span class="sourceLineNo">2946</span>            Object p8);<a name="line.2946"></a>
<span class="sourceLineNo">2947</span><a name="line.2947"></a>
<span class="sourceLineNo">2948</span>    /**<a name="line.2948"></a>
<span class="sourceLineNo">2949</span>     * Logs a message with parameters at the specified level.<a name="line.2949"></a>
<span class="sourceLineNo">2950</span>     *<a name="line.2950"></a>
<span class="sourceLineNo">2951</span>     * @param level the logging level<a name="line.2951"></a>
<span class="sourceLineNo">2952</span>     * @param message the message to log; the format depends on the message factory.<a name="line.2952"></a>
<span class="sourceLineNo">2953</span>     * @param p0 parameter to the message.<a name="line.2953"></a>
<span class="sourceLineNo">2954</span>     * @param p1 parameter to the message.<a name="line.2954"></a>
<span class="sourceLineNo">2955</span>     * @param p2 parameter to the message.<a name="line.2955"></a>
<span class="sourceLineNo">2956</span>     * @param p3 parameter to the message.<a name="line.2956"></a>
<span class="sourceLineNo">2957</span>     * @param p4 parameter to the message.<a name="line.2957"></a>
<span class="sourceLineNo">2958</span>     * @param p5 parameter to the message.<a name="line.2958"></a>
<span class="sourceLineNo">2959</span>     * @param p6 parameter to the message.<a name="line.2959"></a>
<span class="sourceLineNo">2960</span>     * @param p7 parameter to the message.<a name="line.2960"></a>
<span class="sourceLineNo">2961</span>     * @param p8 parameter to the message.<a name="line.2961"></a>
<span class="sourceLineNo">2962</span>     * @param p9 parameter to the message.<a name="line.2962"></a>
<span class="sourceLineNo">2963</span>     */<a name="line.2963"></a>
<span class="sourceLineNo">2964</span>    void log(Level level, String message, Object p0, Object p1, Object p2, Object p3, Object p4, Object p5, Object p6, Object p7,<a name="line.2964"></a>
<span class="sourceLineNo">2965</span>            Object p8, Object p9);<a name="line.2965"></a>
<span class="sourceLineNo">2966</span><a name="line.2966"></a>
<span class="sourceLineNo">2967</span>    /**<a name="line.2967"></a>
<span class="sourceLineNo">2968</span>     * Logs a formatted message using the specified format string and arguments.<a name="line.2968"></a>
<span class="sourceLineNo">2969</span>     *<a name="line.2969"></a>
<span class="sourceLineNo">2970</span>     * @param level The logging Level.<a name="line.2970"></a>
<span class="sourceLineNo">2971</span>     * @param marker the marker data specific to this log statement.<a name="line.2971"></a>
<span class="sourceLineNo">2972</span>     * @param format The format String.<a name="line.2972"></a>
<span class="sourceLineNo">2973</span>     * @param params Arguments specified by the format.<a name="line.2973"></a>
<span class="sourceLineNo">2974</span>     */<a name="line.2974"></a>
<span class="sourceLineNo">2975</span>    void printf(Level level, Marker marker, String format, Object... params);<a name="line.2975"></a>
<span class="sourceLineNo">2976</span><a name="line.2976"></a>
<span class="sourceLineNo">2977</span>    /**<a name="line.2977"></a>
<span class="sourceLineNo">2978</span>     * Logs a formatted message using the specified format string and arguments.<a name="line.2978"></a>
<span class="sourceLineNo">2979</span>     *<a name="line.2979"></a>
<span class="sourceLineNo">2980</span>     * @param level The logging Level.<a name="line.2980"></a>
<span class="sourceLineNo">2981</span>     * @param format The format String.<a name="line.2981"></a>
<span class="sourceLineNo">2982</span>     * @param params Arguments specified by the format.<a name="line.2982"></a>
<span class="sourceLineNo">2983</span>     */<a name="line.2983"></a>
<span class="sourceLineNo">2984</span>    void printf(Level level, String format, Object... params);<a name="line.2984"></a>
<span class="sourceLineNo">2985</span><a name="line.2985"></a>
<span class="sourceLineNo">2986</span>    /**<a name="line.2986"></a>
<span class="sourceLineNo">2987</span>     * Logs an exception or error to be thrown. This may be coded as:<a name="line.2987"></a>
<span class="sourceLineNo">2988</span>     *<a name="line.2988"></a>
<span class="sourceLineNo">2989</span>     * &lt;pre&gt;<a name="line.2989"></a>
<span class="sourceLineNo">2990</span>     * throw logger.throwing(Level.DEBUG, myException);<a name="line.2990"></a>
<span class="sourceLineNo">2991</span>     * &lt;/pre&gt;<a name="line.2991"></a>
<span class="sourceLineNo">2992</span>     *<a name="line.2992"></a>
<span class="sourceLineNo">2993</span>     * @param &lt;T&gt; the Throwable type.<a name="line.2993"></a>
<span class="sourceLineNo">2994</span>     * @param level The logging Level.<a name="line.2994"></a>
<span class="sourceLineNo">2995</span>     * @param t The Throwable.<a name="line.2995"></a>
<span class="sourceLineNo">2996</span>     * @return the Throwable.<a name="line.2996"></a>
<span class="sourceLineNo">2997</span>     */<a name="line.2997"></a>
<span class="sourceLineNo">2998</span>    &lt;T extends Throwable&gt; T throwing(Level level, T t);<a name="line.2998"></a>
<span class="sourceLineNo">2999</span><a name="line.2999"></a>
<span class="sourceLineNo">3000</span>    /**<a name="line.3000"></a>
<span class="sourceLineNo">3001</span>     * Logs an exception or error to be thrown. This may be coded as:<a name="line.3001"></a>
<span class="sourceLineNo">3002</span>     *<a name="line.3002"></a>
<span class="sourceLineNo">3003</span>     * &lt;pre&gt;<a name="line.3003"></a>
<span class="sourceLineNo">3004</span>     * throw logger.throwing(myException);<a name="line.3004"></a>
<span class="sourceLineNo">3005</span>     * &lt;/pre&gt;<a name="line.3005"></a>
<span class="sourceLineNo">3006</span>     *<a name="line.3006"></a>
<span class="sourceLineNo">3007</span>     * @param &lt;T&gt; the Throwable type.<a name="line.3007"></a>
<span class="sourceLineNo">3008</span>     * @param t The Throwable.<a name="line.3008"></a>
<span class="sourceLineNo">3009</span>     * @return the Throwable.<a name="line.3009"></a>
<span class="sourceLineNo">3010</span>     */<a name="line.3010"></a>
<span class="sourceLineNo">3011</span>    &lt;T extends Throwable&gt; T throwing(T t);<a name="line.3011"></a>
<span class="sourceLineNo">3012</span><a name="line.3012"></a>
<span class="sourceLineNo">3013</span>    /**<a name="line.3013"></a>
<span class="sourceLineNo">3014</span>     * Logs a message with the specific Marker at the {@link Level#TRACE TRACE} level.<a name="line.3014"></a>
<span class="sourceLineNo">3015</span>     *<a name="line.3015"></a>
<span class="sourceLineNo">3016</span>     * @param marker the marker data specific to this log statement<a name="line.3016"></a>
<span class="sourceLineNo">3017</span>     * @param msg the message string to be logged<a name="line.3017"></a>
<span class="sourceLineNo">3018</span>     */<a name="line.3018"></a>
<span class="sourceLineNo">3019</span>    void trace(Marker marker, Message msg);<a name="line.3019"></a>
<span class="sourceLineNo">3020</span><a name="line.3020"></a>
<span class="sourceLineNo">3021</span>    /**<a name="line.3021"></a>
<span class="sourceLineNo">3022</span>     * Logs a message with the specific Marker at the {@link Level#TRACE TRACE} level.<a name="line.3022"></a>
<span class="sourceLineNo">3023</span>     *<a name="line.3023"></a>
<span class="sourceLineNo">3024</span>     * @param marker the marker data specific to this log statement<a name="line.3024"></a>
<span class="sourceLineNo">3025</span>     * @param msg the message string to be logged<a name="line.3025"></a>
<span class="sourceLineNo">3026</span>     * @param t A Throwable or null.<a name="line.3026"></a>
<span class="sourceLineNo">3027</span>     */<a name="line.3027"></a>
<span class="sourceLineNo">3028</span>    void trace(Marker marker, Message msg, Throwable t);<a name="line.3028"></a>
<span class="sourceLineNo">3029</span><a name="line.3029"></a>
<span class="sourceLineNo">3030</span>    /**<a name="line.3030"></a>
<span class="sourceLineNo">3031</span>     * Logs a message which is only to be constructed if the logging level is the {@link Level#TRACE TRACE} level with<a name="line.3031"></a>
<span class="sourceLineNo">3032</span>     * the specified Marker. The {@code MessageSupplier} may or may not use the {@link MessageFactory} to construct the<a name="line.3032"></a>
<span class="sourceLineNo">3033</span>     * {@code Message}.<a name="line.3033"></a>
<span class="sourceLineNo">3034</span>     *<a name="line.3034"></a>
<span class="sourceLineNo">3035</span>     * @param marker the marker data specific to this log statement<a name="line.3035"></a>
<span class="sourceLineNo">3036</span>     * @param msgSupplier A function, which when called, produces the desired log message.<a name="line.3036"></a>
<span class="sourceLineNo">3037</span>     * @since 2.4<a name="line.3037"></a>
<span class="sourceLineNo">3038</span>     */<a name="line.3038"></a>
<span class="sourceLineNo">3039</span>    void trace(Marker marker, MessageSupplier msgSupplier);<a name="line.3039"></a>
<span class="sourceLineNo">3040</span><a name="line.3040"></a>
<span class="sourceLineNo">3041</span>    /**<a name="line.3041"></a>
<span class="sourceLineNo">3042</span>     * Logs a message (only to be constructed if the logging level is the {@link Level#TRACE TRACE} level) with the<a name="line.3042"></a>
<span class="sourceLineNo">3043</span>     * specified Marker and including the stack trace of the {@link Throwable} &lt;code&gt;t&lt;/code&gt; passed as parameter. The<a name="line.3043"></a>
<span class="sourceLineNo">3044</span>     * {@code MessageSupplier} may or may not use the {@link MessageFactory} to construct the {@code Message}.<a name="line.3044"></a>
<span class="sourceLineNo">3045</span>     *<a name="line.3045"></a>
<span class="sourceLineNo">3046</span>     * @param marker the marker data specific to this log statement<a name="line.3046"></a>
<span class="sourceLineNo">3047</span>     * @param msgSupplier A function, which when called, produces the desired log message.<a name="line.3047"></a>
<span class="sourceLineNo">3048</span>     * @param t A Throwable or null.<a name="line.3048"></a>
<span class="sourceLineNo">3049</span>     * @since 2.4<a name="line.3049"></a>
<span class="sourceLineNo">3050</span>     */<a name="line.3050"></a>
<span class="sourceLineNo">3051</span>    void trace(Marker marker, MessageSupplier msgSupplier, Throwable t);<a name="line.3051"></a>
<span class="sourceLineNo">3052</span><a name="line.3052"></a>
<span class="sourceLineNo">3053</span>    /**<a name="line.3053"></a>
<span class="sourceLineNo">3054</span>     * Logs a message CharSequence with the {@link Level#TRACE TRACE} level.<a name="line.3054"></a>
<span class="sourceLineNo">3055</span>     *<a name="line.3055"></a>
<span class="sourceLineNo">3056</span>     * @param marker the marker data specific to this log statement<a name="line.3056"></a>
<span class="sourceLineNo">3057</span>     * @param message the message CharSequence to log.<a name="line.3057"></a>
<span class="sourceLineNo">3058</span>     */<a name="line.3058"></a>
<span class="sourceLineNo">3059</span>    void trace(Marker marker, CharSequence message);<a name="line.3059"></a>
<span class="sourceLineNo">3060</span><a name="line.3060"></a>
<span class="sourceLineNo">3061</span>    /**<a name="line.3061"></a>
<span class="sourceLineNo">3062</span>     * Logs a CharSequence at the {@link Level#TRACE TRACE} level including the stack trace of the {@link Throwable}<a name="line.3062"></a>
<span class="sourceLineNo">3063</span>     * &lt;code&gt;t&lt;/code&gt; passed as parameter.<a name="line.3063"></a>
<span class="sourceLineNo">3064</span>     *<a name="line.3064"></a>
<span class="sourceLineNo">3065</span>     * @param marker the marker data specific to this log statement<a name="line.3065"></a>
<span class="sourceLineNo">3066</span>     * @param message the message CharSequence to log.<a name="line.3066"></a>
<span class="sourceLineNo">3067</span>     * @param t the exception to log, including its stack trace.<a name="line.3067"></a>
<span class="sourceLineNo">3068</span>     * @see #debug(String)<a name="line.3068"></a>
<span class="sourceLineNo">3069</span>     */<a name="line.3069"></a>
<span class="sourceLineNo">3070</span>    void trace(Marker marker, CharSequence message, Throwable t);<a name="line.3070"></a>
<span class="sourceLineNo">3071</span><a name="line.3071"></a>
<span class="sourceLineNo">3072</span>    /**<a name="line.3072"></a>
<span class="sourceLineNo">3073</span>     * Logs a message object with the {@link Level#TRACE TRACE} level.<a name="line.3073"></a>
<span class="sourceLineNo">3074</span>     *<a name="line.3074"></a>
<span class="sourceLineNo">3075</span>     * @param marker the marker data specific to this log statement<a name="line.3075"></a>
<span class="sourceLineNo">3076</span>     * @param message the message object to log.<a name="line.3076"></a>
<span class="sourceLineNo">3077</span>     */<a name="line.3077"></a>
<span class="sourceLineNo">3078</span>    void trace(Marker marker, Object message);<a name="line.3078"></a>
<span class="sourceLineNo">3079</span><a name="line.3079"></a>
<span class="sourceLineNo">3080</span>    /**<a name="line.3080"></a>
<span class="sourceLineNo">3081</span>     * Logs a message at the {@link Level#TRACE TRACE} level including the stack trace of the {@link Throwable}<a name="line.3081"></a>
<span class="sourceLineNo">3082</span>     * &lt;code&gt;t&lt;/code&gt; passed as parameter.<a name="line.3082"></a>
<span class="sourceLineNo">3083</span>     *<a name="line.3083"></a>
<span class="sourceLineNo">3084</span>     * @param marker the marker data specific to this log statement<a name="line.3084"></a>
<span class="sourceLineNo">3085</span>     * @param message the message object to log.<a name="line.3085"></a>
<span class="sourceLineNo">3086</span>     * @param t the exception to log, including its stack trace.<a name="line.3086"></a>
<span class="sourceLineNo">3087</span>     * @see #debug(String)<a name="line.3087"></a>
<span class="sourceLineNo">3088</span>     */<a name="line.3088"></a>
<span class="sourceLineNo">3089</span>    void trace(Marker marker, Object message, Throwable t);<a name="line.3089"></a>
<span class="sourceLineNo">3090</span><a name="line.3090"></a>
<span class="sourceLineNo">3091</span>    /**<a name="line.3091"></a>
<span class="sourceLineNo">3092</span>     * Logs a message object with the {@link Level#TRACE TRACE} level.<a name="line.3092"></a>
<span class="sourceLineNo">3093</span>     *<a name="line.3093"></a>
<span class="sourceLineNo">3094</span>     * @param marker the marker data specific to this log statement<a name="line.3094"></a>
<span class="sourceLineNo">3095</span>     * @param message the message string to log.<a name="line.3095"></a>
<span class="sourceLineNo">3096</span>     */<a name="line.3096"></a>
<span class="sourceLineNo">3097</span>    void trace(Marker marker, String message);<a name="line.3097"></a>
<span class="sourceLineNo">3098</span><a name="line.3098"></a>
<span class="sourceLineNo">3099</span>    /**<a name="line.3099"></a>
<span class="sourceLineNo">3100</span>     * Logs a message with parameters at the {@link Level#TRACE TRACE} level.<a name="line.3100"></a>
<span class="sourceLineNo">3101</span>     *<a name="line.3101"></a>
<span class="sourceLineNo">3102</span>     * @param marker the marker data specific to this log statement<a name="line.3102"></a>
<span class="sourceLineNo">3103</span>     * @param message the message to log; the format depends on the message factory.<a name="line.3103"></a>
<span class="sourceLineNo">3104</span>     * @param params parameters to the message.<a name="line.3104"></a>
<span class="sourceLineNo">3105</span>     * @see #getMessageFactory()<a name="line.3105"></a>
<span class="sourceLineNo">3106</span>     */<a name="line.3106"></a>
<span class="sourceLineNo">3107</span>    void trace(Marker marker, String message, Object... params);<a name="line.3107"></a>
<span class="sourceLineNo">3108</span><a name="line.3108"></a>
<span class="sourceLineNo">3109</span>    /**<a name="line.3109"></a>
<span class="sourceLineNo">3110</span>     * Logs a message with parameters which are only to be constructed if the logging level is the {@link Level#TRACE<a name="line.3110"></a>
<span class="sourceLineNo">3111</span>     * TRACE} level.<a name="line.3111"></a>
<span class="sourceLineNo">3112</span>     *<a name="line.3112"></a>
<span class="sourceLineNo">3113</span>     * @param marker the marker data specific to this log statement<a name="line.3113"></a>
<span class="sourceLineNo">3114</span>     * @param message the message to log; the format depends on the message factory.<a name="line.3114"></a>
<span class="sourceLineNo">3115</span>     * @param paramSuppliers An array of functions, which when called, produce the desired log message parameters.<a name="line.3115"></a>
<span class="sourceLineNo">3116</span>     * @since 2.4<a name="line.3116"></a>
<span class="sourceLineNo">3117</span>     */<a name="line.3117"></a>
<span class="sourceLineNo">3118</span>    void trace(Marker marker, String message, Supplier&lt;?&gt;... paramSuppliers);<a name="line.3118"></a>
<span class="sourceLineNo">3119</span><a name="line.3119"></a>
<span class="sourceLineNo">3120</span>    /**<a name="line.3120"></a>
<span class="sourceLineNo">3121</span>     * Logs a message at the {@link Level#TRACE TRACE} level including the stack trace of the {@link Throwable}<a name="line.3121"></a>
<span class="sourceLineNo">3122</span>     * &lt;code&gt;t&lt;/code&gt; passed as parameter.<a name="line.3122"></a>
<span class="sourceLineNo">3123</span>     *<a name="line.3123"></a>
<span class="sourceLineNo">3124</span>     * @param marker the marker data specific to this log statement<a name="line.3124"></a>
<span class="sourceLineNo">3125</span>     * @param message the message object to log.<a name="line.3125"></a>
<span class="sourceLineNo">3126</span>     * @param t the exception to log, including its stack trace.<a name="line.3126"></a>
<span class="sourceLineNo">3127</span>     * @see #debug(String)<a name="line.3127"></a>
<span class="sourceLineNo">3128</span>     */<a name="line.3128"></a>
<span class="sourceLineNo">3129</span>    void trace(Marker marker, String message, Throwable t);<a name="line.3129"></a>
<span class="sourceLineNo">3130</span><a name="line.3130"></a>
<span class="sourceLineNo">3131</span>    /**<a name="line.3131"></a>
<span class="sourceLineNo">3132</span>     * Logs a message which is only to be constructed if the logging level is the {@link Level#TRACE TRACE} level with<a name="line.3132"></a>
<span class="sourceLineNo">3133</span>     * the specified Marker.<a name="line.3133"></a>
<span class="sourceLineNo">3134</span>     *<a name="line.3134"></a>
<span class="sourceLineNo">3135</span>     * @param marker the marker data specific to this log statement<a name="line.3135"></a>
<span class="sourceLineNo">3136</span>     * @param msgSupplier A function, which when called, produces the desired log message; the format depends on the<a name="line.3136"></a>
<span class="sourceLineNo">3137</span>     *            message factory.<a name="line.3137"></a>
<span class="sourceLineNo">3138</span>     * @since 2.4<a name="line.3138"></a>
<span class="sourceLineNo">3139</span>     */<a name="line.3139"></a>
<span class="sourceLineNo">3140</span>    void trace(Marker marker, Supplier&lt;?&gt; msgSupplier);<a name="line.3140"></a>
<span class="sourceLineNo">3141</span><a name="line.3141"></a>
<span class="sourceLineNo">3142</span>    /**<a name="line.3142"></a>
<span class="sourceLineNo">3143</span>     * Logs a message (only to be constructed if the logging level is the {@link Level#TRACE TRACE} level) with the<a name="line.3143"></a>
<span class="sourceLineNo">3144</span>     * specified Marker and including the stack trace of the {@link Throwable} &lt;code&gt;t&lt;/code&gt; passed as parameter.<a name="line.3144"></a>
<span class="sourceLineNo">3145</span>     *<a name="line.3145"></a>
<span class="sourceLineNo">3146</span>     * @param marker the marker data specific to this log statement<a name="line.3146"></a>
<span class="sourceLineNo">3147</span>     * @param msgSupplier A function, which when called, produces the desired log message; the format depends on the<a name="line.3147"></a>
<span class="sourceLineNo">3148</span>     *            message factory.<a name="line.3148"></a>
<span class="sourceLineNo">3149</span>     * @param t A Throwable or null.<a name="line.3149"></a>
<span class="sourceLineNo">3150</span>     * @since 2.4<a name="line.3150"></a>
<span class="sourceLineNo">3151</span>     */<a name="line.3151"></a>
<span class="sourceLineNo">3152</span>    void trace(Marker marker, Supplier&lt;?&gt; msgSupplier, Throwable t);<a name="line.3152"></a>
<span class="sourceLineNo">3153</span><a name="line.3153"></a>
<span class="sourceLineNo">3154</span>    /**<a name="line.3154"></a>
<span class="sourceLineNo">3155</span>     * Logs a message with the specific Marker at the {@link Level#TRACE TRACE} level.<a name="line.3155"></a>
<span class="sourceLineNo">3156</span>     *<a name="line.3156"></a>
<span class="sourceLineNo">3157</span>     * @param msg the message string to be logged<a name="line.3157"></a>
<span class="sourceLineNo">3158</span>     */<a name="line.3158"></a>
<span class="sourceLineNo">3159</span>    void trace(Message msg);<a name="line.3159"></a>
<span class="sourceLineNo">3160</span><a name="line.3160"></a>
<span class="sourceLineNo">3161</span>    /**<a name="line.3161"></a>
<span class="sourceLineNo">3162</span>     * Logs a message with the specific Marker at the {@link Level#TRACE TRACE} level.<a name="line.3162"></a>
<span class="sourceLineNo">3163</span>     *<a name="line.3163"></a>
<span class="sourceLineNo">3164</span>     * @param msg the message string to be logged<a name="line.3164"></a>
<span class="sourceLineNo">3165</span>     * @param t A Throwable or null.<a name="line.3165"></a>
<span class="sourceLineNo">3166</span>     */<a name="line.3166"></a>
<span class="sourceLineNo">3167</span>    void trace(Message msg, Throwable t);<a name="line.3167"></a>
<span class="sourceLineNo">3168</span><a name="line.3168"></a>
<span class="sourceLineNo">3169</span>    /**<a name="line.3169"></a>
<span class="sourceLineNo">3170</span>     * Logs a message which is only to be constructed if the logging level is the {@link Level#TRACE TRACE} level. The<a name="line.3170"></a>
<span class="sourceLineNo">3171</span>     * {@code MessageSupplier} may or may not use the {@link MessageFactory} to construct the {@code Message}.<a name="line.3171"></a>
<span class="sourceLineNo">3172</span>     *<a name="line.3172"></a>
<span class="sourceLineNo">3173</span>     * @param msgSupplier A function, which when called, produces the desired log message.<a name="line.3173"></a>
<span class="sourceLineNo">3174</span>     * @since 2.4<a name="line.3174"></a>
<span class="sourceLineNo">3175</span>     */<a name="line.3175"></a>
<span class="sourceLineNo">3176</span>    void trace(MessageSupplier msgSupplier);<a name="line.3176"></a>
<span class="sourceLineNo">3177</span><a name="line.3177"></a>
<span class="sourceLineNo">3178</span>    /**<a name="line.3178"></a>
<span class="sourceLineNo">3179</span>     * Logs a message (only to be constructed if the logging level is the {@link Level#TRACE TRACE} level) including the<a name="line.3179"></a>
<span class="sourceLineNo">3180</span>     * stack trace of the {@link Throwable} &lt;code&gt;t&lt;/code&gt; passed as parameter. The {@code MessageSupplier} may or may<a name="line.3180"></a>
<span class="sourceLineNo">3181</span>     * not use the {@link MessageFactory} to construct the {@code Message}.<a name="line.3181"></a>
<span class="sourceLineNo">3182</span>     *<a name="line.3182"></a>
<span class="sourceLineNo">3183</span>     * @param msgSupplier A function, which when called, produces the desired log message.<a name="line.3183"></a>
<span class="sourceLineNo">3184</span>     * @param t the exception to log, including its stack trace.<a name="line.3184"></a>
<span class="sourceLineNo">3185</span>     * @since 2.4<a name="line.3185"></a>
<span class="sourceLineNo">3186</span>     */<a name="line.3186"></a>
<span class="sourceLineNo">3187</span>    void trace(MessageSupplier msgSupplier, Throwable t);<a name="line.3187"></a>
<span class="sourceLineNo">3188</span><a name="line.3188"></a>
<span class="sourceLineNo">3189</span>    /**<a name="line.3189"></a>
<span class="sourceLineNo">3190</span>     * Logs a message CharSequence with the {@link Level#TRACE TRACE} level.<a name="line.3190"></a>
<span class="sourceLineNo">3191</span>     *<a name="line.3191"></a>
<span class="sourceLineNo">3192</span>     * @param message the message CharSequence to log.<a name="line.3192"></a>
<span class="sourceLineNo">3193</span>     */<a name="line.3193"></a>
<span class="sourceLineNo">3194</span>    void trace(CharSequence message);<a name="line.3194"></a>
<span class="sourceLineNo">3195</span><a name="line.3195"></a>
<span class="sourceLineNo">3196</span>    /**<a name="line.3196"></a>
<span class="sourceLineNo">3197</span>     * Logs a CharSequence at the {@link Level#TRACE TRACE} level including the stack trace of the {@link Throwable}<a name="line.3197"></a>
<span class="sourceLineNo">3198</span>     * &lt;code&gt;t&lt;/code&gt; passed as parameter.<a name="line.3198"></a>
<span class="sourceLineNo">3199</span>     *<a name="line.3199"></a>
<span class="sourceLineNo">3200</span>     * @param message the message CharSequence to log.<a name="line.3200"></a>
<span class="sourceLineNo">3201</span>     * @param t the exception to log, including its stack trace.<a name="line.3201"></a>
<span class="sourceLineNo">3202</span>     * @see #debug(String)<a name="line.3202"></a>
<span class="sourceLineNo">3203</span>     */<a name="line.3203"></a>
<span class="sourceLineNo">3204</span>    void trace(CharSequence message, Throwable t);<a name="line.3204"></a>
<span class="sourceLineNo">3205</span><a name="line.3205"></a>
<span class="sourceLineNo">3206</span>    /**<a name="line.3206"></a>
<span class="sourceLineNo">3207</span>     * Logs a message object with the {@link Level#TRACE TRACE} level.<a name="line.3207"></a>
<span class="sourceLineNo">3208</span>     *<a name="line.3208"></a>
<span class="sourceLineNo">3209</span>     * @param message the message object to log.<a name="line.3209"></a>
<span class="sourceLineNo">3210</span>     */<a name="line.3210"></a>
<span class="sourceLineNo">3211</span>    void trace(Object message);<a name="line.3211"></a>
<span class="sourceLineNo">3212</span><a name="line.3212"></a>
<span class="sourceLineNo">3213</span>    /**<a name="line.3213"></a>
<span class="sourceLineNo">3214</span>     * Logs a message at the {@link Level#TRACE TRACE} level including the stack trace of the {@link Throwable}<a name="line.3214"></a>
<span class="sourceLineNo">3215</span>     * &lt;code&gt;t&lt;/code&gt; passed as parameter.<a name="line.3215"></a>
<span class="sourceLineNo">3216</span>     *<a name="line.3216"></a>
<span class="sourceLineNo">3217</span>     * @param message the message object to log.<a name="line.3217"></a>
<span class="sourceLineNo">3218</span>     * @param t the exception to log, including its stack trace.<a name="line.3218"></a>
<span class="sourceLineNo">3219</span>     * @see #debug(String)<a name="line.3219"></a>
<span class="sourceLineNo">3220</span>     */<a name="line.3220"></a>
<span class="sourceLineNo">3221</span>    void trace(Object message, Throwable t);<a name="line.3221"></a>
<span class="sourceLineNo">3222</span><a name="line.3222"></a>
<span class="sourceLineNo">3223</span>    /**<a name="line.3223"></a>
<span class="sourceLineNo">3224</span>     * Logs a message object with the {@link Level#TRACE TRACE} level.<a name="line.3224"></a>
<span class="sourceLineNo">3225</span>     *<a name="line.3225"></a>
<span class="sourceLineNo">3226</span>     * @param message the message string to log.<a name="line.3226"></a>
<span class="sourceLineNo">3227</span>     */<a name="line.3227"></a>
<span class="sourceLineNo">3228</span>    void trace(String message);<a name="line.3228"></a>
<span class="sourceLineNo">3229</span><a name="line.3229"></a>
<span class="sourceLineNo">3230</span>    /**<a name="line.3230"></a>
<span class="sourceLineNo">3231</span>     * Logs a message with parameters at the {@link Level#TRACE TRACE} level.<a name="line.3231"></a>
<span class="sourceLineNo">3232</span>     *<a name="line.3232"></a>
<span class="sourceLineNo">3233</span>     * @param message the message to log; the format depends on the message factory.<a name="line.3233"></a>
<span class="sourceLineNo">3234</span>     * @param params parameters to the message.<a name="line.3234"></a>
<span class="sourceLineNo">3235</span>     * @see #getMessageFactory()<a name="line.3235"></a>
<span class="sourceLineNo">3236</span>     */<a name="line.3236"></a>
<span class="sourceLineNo">3237</span>    void trace(String message, Object... params);<a name="line.3237"></a>
<span class="sourceLineNo">3238</span><a name="line.3238"></a>
<span class="sourceLineNo">3239</span>    /**<a name="line.3239"></a>
<span class="sourceLineNo">3240</span>     * Logs a message with parameters which are only to be constructed if the logging level is the {@link Level#TRACE<a name="line.3240"></a>
<span class="sourceLineNo">3241</span>     * TRACE} level.<a name="line.3241"></a>
<span class="sourceLineNo">3242</span>     *<a name="line.3242"></a>
<span class="sourceLineNo">3243</span>     * @param message the message to log; the format depends on the message factory.<a name="line.3243"></a>
<span class="sourceLineNo">3244</span>     * @param paramSuppliers An array of functions, which when called, produce the desired log message parameters.<a name="line.3244"></a>
<span class="sourceLineNo">3245</span>     * @since 2.4<a name="line.3245"></a>
<span class="sourceLineNo">3246</span>     */<a name="line.3246"></a>
<span class="sourceLineNo">3247</span>    void trace(String message, Supplier&lt;?&gt;... paramSuppliers);<a name="line.3247"></a>
<span class="sourceLineNo">3248</span><a name="line.3248"></a>
<span class="sourceLineNo">3249</span>    /**<a name="line.3249"></a>
<span class="sourceLineNo">3250</span>     * Logs a message at the {@link Level#TRACE TRACE} level including the stack trace of the {@link Throwable}<a name="line.3250"></a>
<span class="sourceLineNo">3251</span>     * &lt;code&gt;t&lt;/code&gt; passed as parameter.<a name="line.3251"></a>
<span class="sourceLineNo">3252</span>     *<a name="line.3252"></a>
<span class="sourceLineNo">3253</span>     * @param message the message object to log.<a name="line.3253"></a>
<span class="sourceLineNo">3254</span>     * @param t the exception to log, including its stack trace.<a name="line.3254"></a>
<span class="sourceLineNo">3255</span>     * @see #debug(String)<a name="line.3255"></a>
<span class="sourceLineNo">3256</span>     */<a name="line.3256"></a>
<span class="sourceLineNo">3257</span>    void trace(String message, Throwable t);<a name="line.3257"></a>
<span class="sourceLineNo">3258</span><a name="line.3258"></a>
<span class="sourceLineNo">3259</span>    /**<a name="line.3259"></a>
<span class="sourceLineNo">3260</span>     * Logs a message which is only to be constructed if the logging level is the {@link Level#TRACE TRACE} level.<a name="line.3260"></a>
<span class="sourceLineNo">3261</span>     *<a name="line.3261"></a>
<span class="sourceLineNo">3262</span>     * @param msgSupplier A function, which when called, produces the desired log message; the format depends on the<a name="line.3262"></a>
<span class="sourceLineNo">3263</span>     *            message factory.<a name="line.3263"></a>
<span class="sourceLineNo">3264</span>     * @since 2.4<a name="line.3264"></a>
<span class="sourceLineNo">3265</span>     */<a name="line.3265"></a>
<span class="sourceLineNo">3266</span>    void trace(Supplier&lt;?&gt; msgSupplier);<a name="line.3266"></a>
<span class="sourceLineNo">3267</span><a name="line.3267"></a>
<span class="sourceLineNo">3268</span>    /**<a name="line.3268"></a>
<span class="sourceLineNo">3269</span>     * Logs a message (only to be constructed if the logging level is the {@link Level#TRACE TRACE} level) including the<a name="line.3269"></a>
<span class="sourceLineNo">3270</span>     * stack trace of the {@link Throwable} &lt;code&gt;t&lt;/code&gt; passed as parameter.<a name="line.3270"></a>
<span class="sourceLineNo">3271</span>     *<a name="line.3271"></a>
<span class="sourceLineNo">3272</span>     * @param msgSupplier A function, which when called, produces the desired log message; the format depends on the<a name="line.3272"></a>
<span class="sourceLineNo">3273</span>     *            message factory.<a name="line.3273"></a>
<span class="sourceLineNo">3274</span>     * @param t the exception to log, including its stack trace.<a name="line.3274"></a>
<span class="sourceLineNo">3275</span>     * @since 2.4<a name="line.3275"></a>
<span class="sourceLineNo">3276</span>     */<a name="line.3276"></a>
<span class="sourceLineNo">3277</span>    void trace(Supplier&lt;?&gt; msgSupplier, Throwable t);<a name="line.3277"></a>
<span class="sourceLineNo">3278</span><a name="line.3278"></a>
<span class="sourceLineNo">3279</span>    /**<a name="line.3279"></a>
<span class="sourceLineNo">3280</span>     * Logs a message with parameters at trace level.<a name="line.3280"></a>
<span class="sourceLineNo">3281</span>     *<a name="line.3281"></a>
<span class="sourceLineNo">3282</span>     * @param marker the marker data specific to this log statement<a name="line.3282"></a>
<span class="sourceLineNo">3283</span>     * @param message the message to log; the format depends on the message factory.<a name="line.3283"></a>
<span class="sourceLineNo">3284</span>     * @param p0 parameter to the message.<a name="line.3284"></a>
<span class="sourceLineNo">3285</span>     */<a name="line.3285"></a>
<span class="sourceLineNo">3286</span>    void trace(Marker marker, String message, Object p0);<a name="line.3286"></a>
<span class="sourceLineNo">3287</span><a name="line.3287"></a>
<span class="sourceLineNo">3288</span>    /**<a name="line.3288"></a>
<span class="sourceLineNo">3289</span>     * Logs a message with parameters at trace level.<a name="line.3289"></a>
<span class="sourceLineNo">3290</span>     *<a name="line.3290"></a>
<span class="sourceLineNo">3291</span>     * @param marker the marker data specific to this log statement<a name="line.3291"></a>
<span class="sourceLineNo">3292</span>     * @param message the message to log; the format depends on the message factory.<a name="line.3292"></a>
<span class="sourceLineNo">3293</span>     * @param p0 parameter to the message.<a name="line.3293"></a>
<span class="sourceLineNo">3294</span>     * @param p1 parameter to the message.<a name="line.3294"></a>
<span class="sourceLineNo">3295</span>     */<a name="line.3295"></a>
<span class="sourceLineNo">3296</span>    void trace(Marker marker, String message, Object p0, Object p1);<a name="line.3296"></a>
<span class="sourceLineNo">3297</span><a name="line.3297"></a>
<span class="sourceLineNo">3298</span>    /**<a name="line.3298"></a>
<span class="sourceLineNo">3299</span>     * Logs a message with parameters at trace level.<a name="line.3299"></a>
<span class="sourceLineNo">3300</span>     *<a name="line.3300"></a>
<span class="sourceLineNo">3301</span>     * @param marker the marker data specific to this log statement<a name="line.3301"></a>
<span class="sourceLineNo">3302</span>     * @param message the message to log; the format depends on the message factory.<a name="line.3302"></a>
<span class="sourceLineNo">3303</span>     * @param p0 parameter to the message.<a name="line.3303"></a>
<span class="sourceLineNo">3304</span>     * @param p1 parameter to the message.<a name="line.3304"></a>
<span class="sourceLineNo">3305</span>     * @param p2 parameter to the message.<a name="line.3305"></a>
<span class="sourceLineNo">3306</span>     */<a name="line.3306"></a>
<span class="sourceLineNo">3307</span>    void trace(Marker marker, String message, Object p0, Object p1, Object p2);<a name="line.3307"></a>
<span class="sourceLineNo">3308</span><a name="line.3308"></a>
<span class="sourceLineNo">3309</span>    /**<a name="line.3309"></a>
<span class="sourceLineNo">3310</span>     * Logs a message with parameters at trace level.<a name="line.3310"></a>
<span class="sourceLineNo">3311</span>     *<a name="line.3311"></a>
<span class="sourceLineNo">3312</span>     * @param marker the marker data specific to this log statement<a name="line.3312"></a>
<span class="sourceLineNo">3313</span>     * @param message the message to log; the format depends on the message factory.<a name="line.3313"></a>
<span class="sourceLineNo">3314</span>     * @param p0 parameter to the message.<a name="line.3314"></a>
<span class="sourceLineNo">3315</span>     * @param p1 parameter to the message.<a name="line.3315"></a>
<span class="sourceLineNo">3316</span>     * @param p2 parameter to the message.<a name="line.3316"></a>
<span class="sourceLineNo">3317</span>     * @param p3 parameter to the message.<a name="line.3317"></a>
<span class="sourceLineNo">3318</span>     */<a name="line.3318"></a>
<span class="sourceLineNo">3319</span>    void trace(Marker marker, String message, Object p0, Object p1, Object p2, Object p3);<a name="line.3319"></a>
<span class="sourceLineNo">3320</span><a name="line.3320"></a>
<span class="sourceLineNo">3321</span>    /**<a name="line.3321"></a>
<span class="sourceLineNo">3322</span>     * Logs a message with parameters at trace level.<a name="line.3322"></a>
<span class="sourceLineNo">3323</span>     *<a name="line.3323"></a>
<span class="sourceLineNo">3324</span>     * @param marker the marker data specific to this log statement<a name="line.3324"></a>
<span class="sourceLineNo">3325</span>     * @param message the message to log; the format depends on the message factory.<a name="line.3325"></a>
<span class="sourceLineNo">3326</span>     * @param p0 parameter to the message.<a name="line.3326"></a>
<span class="sourceLineNo">3327</span>     * @param p1 parameter to the message.<a name="line.3327"></a>
<span class="sourceLineNo">3328</span>     * @param p2 parameter to the message.<a name="line.3328"></a>
<span class="sourceLineNo">3329</span>     * @param p3 parameter to the message.<a name="line.3329"></a>
<span class="sourceLineNo">3330</span>     * @param p4 parameter to the message.<a name="line.3330"></a>
<span class="sourceLineNo">3331</span>     */<a name="line.3331"></a>
<span class="sourceLineNo">3332</span>    void trace(Marker marker, String message, Object p0, Object p1, Object p2, Object p3, Object p4);<a name="line.3332"></a>
<span class="sourceLineNo">3333</span><a name="line.3333"></a>
<span class="sourceLineNo">3334</span>    /**<a name="line.3334"></a>
<span class="sourceLineNo">3335</span>     * Logs a message with parameters at trace level.<a name="line.3335"></a>
<span class="sourceLineNo">3336</span>     *<a name="line.3336"></a>
<span class="sourceLineNo">3337</span>     * @param marker the marker data specific to this log statement<a name="line.3337"></a>
<span class="sourceLineNo">3338</span>     * @param message the message to log; the format depends on the message factory.<a name="line.3338"></a>
<span class="sourceLineNo">3339</span>     * @param p0 parameter to the message.<a name="line.3339"></a>
<span class="sourceLineNo">3340</span>     * @param p1 parameter to the message.<a name="line.3340"></a>
<span class="sourceLineNo">3341</span>     * @param p2 parameter to the message.<a name="line.3341"></a>
<span class="sourceLineNo">3342</span>     * @param p3 parameter to the message.<a name="line.3342"></a>
<span class="sourceLineNo">3343</span>     * @param p4 parameter to the message.<a name="line.3343"></a>
<span class="sourceLineNo">3344</span>     * @param p5 parameter to the message.<a name="line.3344"></a>
<span class="sourceLineNo">3345</span>     */<a name="line.3345"></a>
<span class="sourceLineNo">3346</span>    void trace(Marker marker, String message, Object p0, Object p1, Object p2, Object p3, Object p4, Object p5);<a name="line.3346"></a>
<span class="sourceLineNo">3347</span><a name="line.3347"></a>
<span class="sourceLineNo">3348</span>    /**<a name="line.3348"></a>
<span class="sourceLineNo">3349</span>     * Logs a message with parameters at trace level.<a name="line.3349"></a>
<span class="sourceLineNo">3350</span>     *<a name="line.3350"></a>
<span class="sourceLineNo">3351</span>     * @param marker the marker data specific to this log statement<a name="line.3351"></a>
<span class="sourceLineNo">3352</span>     * @param message the message to log; the format depends on the message factory.<a name="line.3352"></a>
<span class="sourceLineNo">3353</span>     * @param p0 parameter to the message.<a name="line.3353"></a>
<span class="sourceLineNo">3354</span>     * @param p1 parameter to the message.<a name="line.3354"></a>
<span class="sourceLineNo">3355</span>     * @param p2 parameter to the message.<a name="line.3355"></a>
<span class="sourceLineNo">3356</span>     * @param p3 parameter to the message.<a name="line.3356"></a>
<span class="sourceLineNo">3357</span>     * @param p4 parameter to the message.<a name="line.3357"></a>
<span class="sourceLineNo">3358</span>     * @param p5 parameter to the message.<a name="line.3358"></a>
<span class="sourceLineNo">3359</span>     * @param p6 parameter to the message.<a name="line.3359"></a>
<span class="sourceLineNo">3360</span>     */<a name="line.3360"></a>
<span class="sourceLineNo">3361</span>    void trace(Marker marker, String message, Object p0, Object p1, Object p2, Object p3, Object p4, Object p5,<a name="line.3361"></a>
<span class="sourceLineNo">3362</span>            Object p6);<a name="line.3362"></a>
<span class="sourceLineNo">3363</span><a name="line.3363"></a>
<span class="sourceLineNo">3364</span>    /**<a name="line.3364"></a>
<span class="sourceLineNo">3365</span>     * Logs a message with parameters at trace level.<a name="line.3365"></a>
<span class="sourceLineNo">3366</span>     *<a name="line.3366"></a>
<span class="sourceLineNo">3367</span>     * @param marker the marker data specific to this log statement<a name="line.3367"></a>
<span class="sourceLineNo">3368</span>     * @param message the message to log; the format depends on the message factory.<a name="line.3368"></a>
<span class="sourceLineNo">3369</span>     * @param p0 parameter to the message.<a name="line.3369"></a>
<span class="sourceLineNo">3370</span>     * @param p1 parameter to the message.<a name="line.3370"></a>
<span class="sourceLineNo">3371</span>     * @param p2 parameter to the message.<a name="line.3371"></a>
<span class="sourceLineNo">3372</span>     * @param p3 parameter to the message.<a name="line.3372"></a>
<span class="sourceLineNo">3373</span>     * @param p4 parameter to the message.<a name="line.3373"></a>
<span class="sourceLineNo">3374</span>     * @param p5 parameter to the message.<a name="line.3374"></a>
<span class="sourceLineNo">3375</span>     * @param p6 parameter to the message.<a name="line.3375"></a>
<span class="sourceLineNo">3376</span>     * @param p7 parameter to the message.<a name="line.3376"></a>
<span class="sourceLineNo">3377</span>     */<a name="line.3377"></a>
<span class="sourceLineNo">3378</span>    void trace(Marker marker, String message, Object p0, Object p1, Object p2, Object p3, Object p4, Object p5, Object p6,<a name="line.3378"></a>
<span class="sourceLineNo">3379</span>            Object p7);<a name="line.3379"></a>
<span class="sourceLineNo">3380</span><a name="line.3380"></a>
<span class="sourceLineNo">3381</span>    /**<a name="line.3381"></a>
<span class="sourceLineNo">3382</span>     * Logs a message with parameters at trace level.<a name="line.3382"></a>
<span class="sourceLineNo">3383</span>     *<a name="line.3383"></a>
<span class="sourceLineNo">3384</span>     * @param marker the marker data specific to this log statement<a name="line.3384"></a>
<span class="sourceLineNo">3385</span>     * @param message the message to log; the format depends on the message factory.<a name="line.3385"></a>
<span class="sourceLineNo">3386</span>     * @param p0 parameter to the message.<a name="line.3386"></a>
<span class="sourceLineNo">3387</span>     * @param p1 parameter to the message.<a name="line.3387"></a>
<span class="sourceLineNo">3388</span>     * @param p2 parameter to the message.<a name="line.3388"></a>
<span class="sourceLineNo">3389</span>     * @param p3 parameter to the message.<a name="line.3389"></a>
<span class="sourceLineNo">3390</span>     * @param p4 parameter to the message.<a name="line.3390"></a>
<span class="sourceLineNo">3391</span>     * @param p5 parameter to the message.<a name="line.3391"></a>
<span class="sourceLineNo">3392</span>     * @param p6 parameter to the message.<a name="line.3392"></a>
<span class="sourceLineNo">3393</span>     * @param p7 parameter to the message.<a name="line.3393"></a>
<span class="sourceLineNo">3394</span>     * @param p8 parameter to the message.<a name="line.3394"></a>
<span class="sourceLineNo">3395</span>     */<a name="line.3395"></a>
<span class="sourceLineNo">3396</span>    void trace(Marker marker, String message, Object p0, Object p1, Object p2, Object p3, Object p4, Object p5, Object p6,<a name="line.3396"></a>
<span class="sourceLineNo">3397</span>            Object p7, Object p8);<a name="line.3397"></a>
<span class="sourceLineNo">3398</span><a name="line.3398"></a>
<span class="sourceLineNo">3399</span>    /**<a name="line.3399"></a>
<span class="sourceLineNo">3400</span>     * Logs a message with parameters at trace level.<a name="line.3400"></a>
<span class="sourceLineNo">3401</span>     *<a name="line.3401"></a>
<span class="sourceLineNo">3402</span>     * @param marker the marker data specific to this log statement<a name="line.3402"></a>
<span class="sourceLineNo">3403</span>     * @param message the message to log; the format depends on the message factory.<a name="line.3403"></a>
<span class="sourceLineNo">3404</span>     * @param p0 parameter to the message.<a name="line.3404"></a>
<span class="sourceLineNo">3405</span>     * @param p1 parameter to the message.<a name="line.3405"></a>
<span class="sourceLineNo">3406</span>     * @param p2 parameter to the message.<a name="line.3406"></a>
<span class="sourceLineNo">3407</span>     * @param p3 parameter to the message.<a name="line.3407"></a>
<span class="sourceLineNo">3408</span>     * @param p4 parameter to the message.<a name="line.3408"></a>
<span class="sourceLineNo">3409</span>     * @param p5 parameter to the message.<a name="line.3409"></a>
<span class="sourceLineNo">3410</span>     * @param p6 parameter to the message.<a name="line.3410"></a>
<span class="sourceLineNo">3411</span>     * @param p7 parameter to the message.<a name="line.3411"></a>
<span class="sourceLineNo">3412</span>     * @param p8 parameter to the message.<a name="line.3412"></a>
<span class="sourceLineNo">3413</span>     * @param p9 parameter to the message.<a name="line.3413"></a>
<span class="sourceLineNo">3414</span>     */<a name="line.3414"></a>
<span class="sourceLineNo">3415</span>    void trace(Marker marker, String message, Object p0, Object p1, Object p2, Object p3, Object p4, Object p5, Object p6,<a name="line.3415"></a>
<span class="sourceLineNo">3416</span>            Object p7, Object p8, Object p9);<a name="line.3416"></a>
<span class="sourceLineNo">3417</span><a name="line.3417"></a>
<span class="sourceLineNo">3418</span>    /**<a name="line.3418"></a>
<span class="sourceLineNo">3419</span>     * Logs a message with parameters at trace level.<a name="line.3419"></a>
<span class="sourceLineNo">3420</span>     *<a name="line.3420"></a>
<span class="sourceLineNo">3421</span>     * @param message the message to log; the format depends on the message factory.<a name="line.3421"></a>
<span class="sourceLineNo">3422</span>     * @param p0 parameter to the message.<a name="line.3422"></a>
<span class="sourceLineNo">3423</span>     */<a name="line.3423"></a>
<span class="sourceLineNo">3424</span>    void trace(String message, Object p0);<a name="line.3424"></a>
<span class="sourceLineNo">3425</span><a name="line.3425"></a>
<span class="sourceLineNo">3426</span>    /**<a name="line.3426"></a>
<span class="sourceLineNo">3427</span>     * Logs a message with parameters at trace level.<a name="line.3427"></a>
<span class="sourceLineNo">3428</span>     *<a name="line.3428"></a>
<span class="sourceLineNo">3429</span>     * @param message the message to log; the format depends on the message factory.<a name="line.3429"></a>
<span class="sourceLineNo">3430</span>     * @param p0 parameter to the message.<a name="line.3430"></a>
<span class="sourceLineNo">3431</span>     * @param p1 parameter to the message.<a name="line.3431"></a>
<span class="sourceLineNo">3432</span>     */<a name="line.3432"></a>
<span class="sourceLineNo">3433</span>    void trace(String message, Object p0, Object p1);<a name="line.3433"></a>
<span class="sourceLineNo">3434</span><a name="line.3434"></a>
<span class="sourceLineNo">3435</span>    /**<a name="line.3435"></a>
<span class="sourceLineNo">3436</span>     * Logs a message with parameters at trace level.<a name="line.3436"></a>
<span class="sourceLineNo">3437</span>     *<a name="line.3437"></a>
<span class="sourceLineNo">3438</span>     * @param message the message to log; the format depends on the message factory.<a name="line.3438"></a>
<span class="sourceLineNo">3439</span>     * @param p0 parameter to the message.<a name="line.3439"></a>
<span class="sourceLineNo">3440</span>     * @param p1 parameter to the message.<a name="line.3440"></a>
<span class="sourceLineNo">3441</span>     * @param p2 parameter to the message.<a name="line.3441"></a>
<span class="sourceLineNo">3442</span>     */<a name="line.3442"></a>
<span class="sourceLineNo">3443</span>    void trace(String message, Object p0, Object p1, Object p2);<a name="line.3443"></a>
<span class="sourceLineNo">3444</span><a name="line.3444"></a>
<span class="sourceLineNo">3445</span>    /**<a name="line.3445"></a>
<span class="sourceLineNo">3446</span>     * Logs a message with parameters at trace level.<a name="line.3446"></a>
<span class="sourceLineNo">3447</span>     *<a name="line.3447"></a>
<span class="sourceLineNo">3448</span>     * @param message the message to log; the format depends on the message factory.<a name="line.3448"></a>
<span class="sourceLineNo">3449</span>     * @param p0 parameter to the message.<a name="line.3449"></a>
<span class="sourceLineNo">3450</span>     * @param p1 parameter to the message.<a name="line.3450"></a>
<span class="sourceLineNo">3451</span>     * @param p2 parameter to the message.<a name="line.3451"></a>
<span class="sourceLineNo">3452</span>     * @param p3 parameter to the message.<a name="line.3452"></a>
<span class="sourceLineNo">3453</span>     */<a name="line.3453"></a>
<span class="sourceLineNo">3454</span>    void trace(String message, Object p0, Object p1, Object p2, Object p3);<a name="line.3454"></a>
<span class="sourceLineNo">3455</span><a name="line.3455"></a>
<span class="sourceLineNo">3456</span>    /**<a name="line.3456"></a>
<span class="sourceLineNo">3457</span>     * Logs a message with parameters at trace level.<a name="line.3457"></a>
<span class="sourceLineNo">3458</span>     *<a name="line.3458"></a>
<span class="sourceLineNo">3459</span>     * @param message the message to log; the format depends on the message factory.<a name="line.3459"></a>
<span class="sourceLineNo">3460</span>     * @param p0 parameter to the message.<a name="line.3460"></a>
<span class="sourceLineNo">3461</span>     * @param p1 parameter to the message.<a name="line.3461"></a>
<span class="sourceLineNo">3462</span>     * @param p2 parameter to the message.<a name="line.3462"></a>
<span class="sourceLineNo">3463</span>     * @param p3 parameter to the message.<a name="line.3463"></a>
<span class="sourceLineNo">3464</span>     * @param p4 parameter to the message.<a name="line.3464"></a>
<span class="sourceLineNo">3465</span>     */<a name="line.3465"></a>
<span class="sourceLineNo">3466</span>    void trace(String message, Object p0, Object p1, Object p2, Object p3, Object p4);<a name="line.3466"></a>
<span class="sourceLineNo">3467</span><a name="line.3467"></a>
<span class="sourceLineNo">3468</span>    /**<a name="line.3468"></a>
<span class="sourceLineNo">3469</span>     * Logs a message with parameters at trace level.<a name="line.3469"></a>
<span class="sourceLineNo">3470</span>     *<a name="line.3470"></a>
<span class="sourceLineNo">3471</span>     * @param message the message to log; the format depends on the message factory.<a name="line.3471"></a>
<span class="sourceLineNo">3472</span>     * @param p0 parameter to the message.<a name="line.3472"></a>
<span class="sourceLineNo">3473</span>     * @param p1 parameter to the message.<a name="line.3473"></a>
<span class="sourceLineNo">3474</span>     * @param p2 parameter to the message.<a name="line.3474"></a>
<span class="sourceLineNo">3475</span>     * @param p3 parameter to the message.<a name="line.3475"></a>
<span class="sourceLineNo">3476</span>     * @param p4 parameter to the message.<a name="line.3476"></a>
<span class="sourceLineNo">3477</span>     * @param p5 parameter to the message.<a name="line.3477"></a>
<span class="sourceLineNo">3478</span>     */<a name="line.3478"></a>
<span class="sourceLineNo">3479</span>    void trace(String message, Object p0, Object p1, Object p2, Object p3, Object p4, Object p5);<a name="line.3479"></a>
<span class="sourceLineNo">3480</span><a name="line.3480"></a>
<span class="sourceLineNo">3481</span>    /**<a name="line.3481"></a>
<span class="sourceLineNo">3482</span>     * Logs a message with parameters at trace level.<a name="line.3482"></a>
<span class="sourceLineNo">3483</span>     *<a name="line.3483"></a>
<span class="sourceLineNo">3484</span>     * @param message the message to log; the format depends on the message factory.<a name="line.3484"></a>
<span class="sourceLineNo">3485</span>     * @param p0 parameter to the message.<a name="line.3485"></a>
<span class="sourceLineNo">3486</span>     * @param p1 parameter to the message.<a name="line.3486"></a>
<span class="sourceLineNo">3487</span>     * @param p2 parameter to the message.<a name="line.3487"></a>
<span class="sourceLineNo">3488</span>     * @param p3 parameter to the message.<a name="line.3488"></a>
<span class="sourceLineNo">3489</span>     * @param p4 parameter to the message.<a name="line.3489"></a>
<span class="sourceLineNo">3490</span>     * @param p5 parameter to the message.<a name="line.3490"></a>
<span class="sourceLineNo">3491</span>     * @param p6 parameter to the message.<a name="line.3491"></a>
<span class="sourceLineNo">3492</span>     */<a name="line.3492"></a>
<span class="sourceLineNo">3493</span>    void trace(String message, Object p0, Object p1, Object p2, Object p3, Object p4, Object p5, Object p6);<a name="line.3493"></a>
<span class="sourceLineNo">3494</span><a name="line.3494"></a>
<span class="sourceLineNo">3495</span>    /**<a name="line.3495"></a>
<span class="sourceLineNo">3496</span>     * Logs a message with parameters at trace level.<a name="line.3496"></a>
<span class="sourceLineNo">3497</span>     *<a name="line.3497"></a>
<span class="sourceLineNo">3498</span>     * @param message the message to log; the format depends on the message factory.<a name="line.3498"></a>
<span class="sourceLineNo">3499</span>     * @param p0 parameter to the message.<a name="line.3499"></a>
<span class="sourceLineNo">3500</span>     * @param p1 parameter to the message.<a name="line.3500"></a>
<span class="sourceLineNo">3501</span>     * @param p2 parameter to the message.<a name="line.3501"></a>
<span class="sourceLineNo">3502</span>     * @param p3 parameter to the message.<a name="line.3502"></a>
<span class="sourceLineNo">3503</span>     * @param p4 parameter to the message.<a name="line.3503"></a>
<span class="sourceLineNo">3504</span>     * @param p5 parameter to the message.<a name="line.3504"></a>
<span class="sourceLineNo">3505</span>     * @param p6 parameter to the message.<a name="line.3505"></a>
<span class="sourceLineNo">3506</span>     * @param p7 parameter to the message.<a name="line.3506"></a>
<span class="sourceLineNo">3507</span>     */<a name="line.3507"></a>
<span class="sourceLineNo">3508</span>    void trace(String message, Object p0, Object p1, Object p2, Object p3, Object p4, Object p5, Object p6, Object p7);<a name="line.3508"></a>
<span class="sourceLineNo">3509</span><a name="line.3509"></a>
<span class="sourceLineNo">3510</span>    /**<a name="line.3510"></a>
<span class="sourceLineNo">3511</span>     * Logs a message with parameters at trace level.<a name="line.3511"></a>
<span class="sourceLineNo">3512</span>     *<a name="line.3512"></a>
<span class="sourceLineNo">3513</span>     * @param message the message to log; the format depends on the message factory.<a name="line.3513"></a>
<span class="sourceLineNo">3514</span>     * @param p0 parameter to the message.<a name="line.3514"></a>
<span class="sourceLineNo">3515</span>     * @param p1 parameter to the message.<a name="line.3515"></a>
<span class="sourceLineNo">3516</span>     * @param p2 parameter to the message.<a name="line.3516"></a>
<span class="sourceLineNo">3517</span>     * @param p3 parameter to the message.<a name="line.3517"></a>
<span class="sourceLineNo">3518</span>     * @param p4 parameter to the message.<a name="line.3518"></a>
<span class="sourceLineNo">3519</span>     * @param p5 parameter to the message.<a name="line.3519"></a>
<span class="sourceLineNo">3520</span>     * @param p6 parameter to the message.<a name="line.3520"></a>
<span class="sourceLineNo">3521</span>     * @param p7 parameter to the message.<a name="line.3521"></a>
<span class="sourceLineNo">3522</span>     * @param p8 parameter to the message.<a name="line.3522"></a>
<span class="sourceLineNo">3523</span>     */<a name="line.3523"></a>
<span class="sourceLineNo">3524</span>    void trace(String message, Object p0, Object p1, Object p2, Object p3, Object p4, Object p5, Object p6, Object p7,<a name="line.3524"></a>
<span class="sourceLineNo">3525</span>            Object p8);<a name="line.3525"></a>
<span class="sourceLineNo">3526</span><a name="line.3526"></a>
<span class="sourceLineNo">3527</span>    /**<a name="line.3527"></a>
<span class="sourceLineNo">3528</span>     * Logs a message with parameters at trace level.<a name="line.3528"></a>
<span class="sourceLineNo">3529</span>     *<a name="line.3529"></a>
<span class="sourceLineNo">3530</span>     * @param message the message to log; the format depends on the message factory.<a name="line.3530"></a>
<span class="sourceLineNo">3531</span>     * @param p0 parameter to the message.<a name="line.3531"></a>
<span class="sourceLineNo">3532</span>     * @param p1 parameter to the message.<a name="line.3532"></a>
<span class="sourceLineNo">3533</span>     * @param p2 parameter to the message.<a name="line.3533"></a>
<span class="sourceLineNo">3534</span>     * @param p3 parameter to the message.<a name="line.3534"></a>
<span class="sourceLineNo">3535</span>     * @param p4 parameter to the message.<a name="line.3535"></a>
<span class="sourceLineNo">3536</span>     * @param p5 parameter to the message.<a name="line.3536"></a>
<span class="sourceLineNo">3537</span>     * @param p6 parameter to the message.<a name="line.3537"></a>
<span class="sourceLineNo">3538</span>     * @param p7 parameter to the message.<a name="line.3538"></a>
<span class="sourceLineNo">3539</span>     * @param p8 parameter to the message.<a name="line.3539"></a>
<span class="sourceLineNo">3540</span>     * @param p9 parameter to the message.<a name="line.3540"></a>
<span class="sourceLineNo">3541</span>     */<a name="line.3541"></a>
<span class="sourceLineNo">3542</span>    void trace(String message, Object p0, Object p1, Object p2, Object p3, Object p4, Object p5, Object p6, Object p7,<a name="line.3542"></a>
<span class="sourceLineNo">3543</span>            Object p8, Object p9);<a name="line.3543"></a>
<span class="sourceLineNo">3544</span><a name="line.3544"></a>
<span class="sourceLineNo">3545</span>    /**<a name="line.3545"></a>
<span class="sourceLineNo">3546</span>     * Logs entry to a method. Used when the method in question has no parameters or when the parameters should not be<a name="line.3546"></a>
<span class="sourceLineNo">3547</span>     * logged.<a name="line.3547"></a>
<span class="sourceLineNo">3548</span>     *<a name="line.3548"></a>
<span class="sourceLineNo">3549</span>     * @return built message<a name="line.3549"></a>
<span class="sourceLineNo">3550</span>     * @since 2.6<a name="line.3550"></a>
<span class="sourceLineNo">3551</span>     */<a name="line.3551"></a>
<span class="sourceLineNo">3552</span>    EntryMessage traceEntry();<a name="line.3552"></a>
<span class="sourceLineNo">3553</span><a name="line.3553"></a>
<span class="sourceLineNo">3554</span>    /**<a name="line.3554"></a>
<span class="sourceLineNo">3555</span>     * Logs entry to a method along with its parameters. For example,<a name="line.3555"></a>
<span class="sourceLineNo">3556</span>     *<a name="line.3556"></a>
<span class="sourceLineNo">3557</span>     * &lt;pre&gt;<a name="line.3557"></a>
<span class="sourceLineNo">3558</span>     * public void doSomething(String foo, int bar) {<a name="line.3558"></a>
<span class="sourceLineNo">3559</span>     *     LOGGER.traceEntry("Parameters: {} and {}", foo, bar);<a name="line.3559"></a>
<span class="sourceLineNo">3560</span>     *     // do something<a name="line.3560"></a>
<span class="sourceLineNo">3561</span>     * }<a name="line.3561"></a>
<span class="sourceLineNo">3562</span>     * &lt;/pre&gt;<a name="line.3562"></a>
<span class="sourceLineNo">3563</span>     * or:<a name="line.3563"></a>
<span class="sourceLineNo">3564</span>     * &lt;pre&gt;<a name="line.3564"></a>
<span class="sourceLineNo">3565</span>     * public int doSomething(String foo, int bar) {<a name="line.3565"></a>
<span class="sourceLineNo">3566</span>     *     Message m = LOGGER.traceEntry("doSomething(foo={}, bar={})", foo, bar);<a name="line.3566"></a>
<span class="sourceLineNo">3567</span>     *     // do something<a name="line.3567"></a>
<span class="sourceLineNo">3568</span>     *     return traceExit(m, value);<a name="line.3568"></a>
<span class="sourceLineNo">3569</span>     * }<a name="line.3569"></a>
<span class="sourceLineNo">3570</span>     * &lt;/pre&gt;<a name="line.3570"></a>
<span class="sourceLineNo">3571</span>     *<a name="line.3571"></a>
<span class="sourceLineNo">3572</span>     * @param format The format String for the parameters.<a name="line.3572"></a>
<span class="sourceLineNo">3573</span>     * @param params The parameters to the method.<a name="line.3573"></a>
<span class="sourceLineNo">3574</span>     * @return The built Message<a name="line.3574"></a>
<span class="sourceLineNo">3575</span>     *<a name="line.3575"></a>
<span class="sourceLineNo">3576</span>     * @since 2.6<a name="line.3576"></a>
<span class="sourceLineNo">3577</span>     */<a name="line.3577"></a>
<span class="sourceLineNo">3578</span>    EntryMessage traceEntry(String format, Object... params);<a name="line.3578"></a>
<span class="sourceLineNo">3579</span><a name="line.3579"></a>
<span class="sourceLineNo">3580</span>    /**<a name="line.3580"></a>
<span class="sourceLineNo">3581</span>     * Logs entry to a method along with its parameters. For example,<a name="line.3581"></a>
<span class="sourceLineNo">3582</span>     *<a name="line.3582"></a>
<span class="sourceLineNo">3583</span>     * &lt;pre&gt;<a name="line.3583"></a>
<span class="sourceLineNo">3584</span>     * public void doSomething(Request foo) {<a name="line.3584"></a>
<span class="sourceLineNo">3585</span>     *     LOGGER.traceEntry(()-&gt;gson.toJson(foo));<a name="line.3585"></a>
<span class="sourceLineNo">3586</span>     *     // do something<a name="line.3586"></a>
<span class="sourceLineNo">3587</span>     * }<a name="line.3587"></a>
<span class="sourceLineNo">3588</span>     * &lt;/pre&gt;<a name="line.3588"></a>
<span class="sourceLineNo">3589</span>     *<a name="line.3589"></a>
<span class="sourceLineNo">3590</span>     * @param paramSuppliers The Suppliers for the parameters to the method.<a name="line.3590"></a>
<span class="sourceLineNo">3591</span>     * @return built message<a name="line.3591"></a>
<span class="sourceLineNo">3592</span>     *<a name="line.3592"></a>
<span class="sourceLineNo">3593</span>     * @since 2.6<a name="line.3593"></a>
<span class="sourceLineNo">3594</span>     */<a name="line.3594"></a>
<span class="sourceLineNo">3595</span>    EntryMessage traceEntry(Supplier&lt;?&gt;... paramSuppliers);<a name="line.3595"></a>
<span class="sourceLineNo">3596</span><a name="line.3596"></a>
<span class="sourceLineNo">3597</span>    /**<a name="line.3597"></a>
<span class="sourceLineNo">3598</span>     * Logs entry to a method along with its parameters. For example,<a name="line.3598"></a>
<span class="sourceLineNo">3599</span>     *<a name="line.3599"></a>
<span class="sourceLineNo">3600</span>     * &lt;pre&gt;<a name="line.3600"></a>
<span class="sourceLineNo">3601</span>     * public void doSomething(String foo, int bar) {<a name="line.3601"></a>
<span class="sourceLineNo">3602</span>     *     LOGGER.traceEntry("Parameters: {} and {}", ()-&gt;gson.toJson(foo), ()-&gt; bar);<a name="line.3602"></a>
<span class="sourceLineNo">3603</span>     *     // do something<a name="line.3603"></a>
<span class="sourceLineNo">3604</span>     * }<a name="line.3604"></a>
<span class="sourceLineNo">3605</span>     * &lt;/pre&gt;<a name="line.3605"></a>
<span class="sourceLineNo">3606</span>     *<a name="line.3606"></a>
<span class="sourceLineNo">3607</span>     * @param format The format String for the parameters.<a name="line.3607"></a>
<span class="sourceLineNo">3608</span>     * @param paramSuppliers The Suppliers for the parameters to the method.<a name="line.3608"></a>
<span class="sourceLineNo">3609</span>     * @return built message<a name="line.3609"></a>
<span class="sourceLineNo">3610</span>     *<a name="line.3610"></a>
<span class="sourceLineNo">3611</span>     * @since 2.6<a name="line.3611"></a>
<span class="sourceLineNo">3612</span>     */<a name="line.3612"></a>
<span class="sourceLineNo">3613</span>    EntryMessage traceEntry(String format, Supplier&lt;?&gt;... paramSuppliers);<a name="line.3613"></a>
<span class="sourceLineNo">3614</span><a name="line.3614"></a>
<span class="sourceLineNo">3615</span>    /**<a name="line.3615"></a>
<span class="sourceLineNo">3616</span>     * Logs entry to a method using a Message to describe the parameters.<a name="line.3616"></a>
<span class="sourceLineNo">3617</span>     * &lt;pre&gt;<a name="line.3617"></a>
<span class="sourceLineNo">3618</span>     * public void doSomething(Request foo) {<a name="line.3618"></a>
<span class="sourceLineNo">3619</span>     *     LOGGER.traceEntry(new JsonMessage(foo));<a name="line.3619"></a>
<span class="sourceLineNo">3620</span>     *     // do something<a name="line.3620"></a>
<span class="sourceLineNo">3621</span>     * }<a name="line.3621"></a>
<span class="sourceLineNo">3622</span>     * &lt;/pre&gt;<a name="line.3622"></a>
<span class="sourceLineNo">3623</span>     * &lt;p&gt;<a name="line.3623"></a>
<span class="sourceLineNo">3624</span>     * Avoid passing a {@code ReusableMessage} to this method (therefore, also avoid passing messages created by<a name="line.3624"></a>
<span class="sourceLineNo">3625</span>     * calling {@code logger.getMessageFactory().newMessage("some message")}): Log4j will replace such messages with<a name="line.3625"></a>
<span class="sourceLineNo">3626</span>     * an immutable message to prevent situations where the reused message instance is modified by subsequent calls to<a name="line.3626"></a>
<span class="sourceLineNo">3627</span>     * the logger before the returned {@code EntryMessage} is fully processed.<a name="line.3627"></a>
<span class="sourceLineNo">3628</span>     * &lt;/p&gt;<a name="line.3628"></a>
<span class="sourceLineNo">3629</span>     *<a name="line.3629"></a>
<span class="sourceLineNo">3630</span>     * @param message The message. Avoid specifying a ReusableMessage, use immutable messages instead.<a name="line.3630"></a>
<span class="sourceLineNo">3631</span>     * @return the built message<a name="line.3631"></a>
<span class="sourceLineNo">3632</span>     *<a name="line.3632"></a>
<span class="sourceLineNo">3633</span>     * @since 2.6<a name="line.3633"></a>
<span class="sourceLineNo">3634</span>     * @see org.apache.logging.log4j.message.ReusableMessage<a name="line.3634"></a>
<span class="sourceLineNo">3635</span>     */<a name="line.3635"></a>
<span class="sourceLineNo">3636</span>    EntryMessage traceEntry(Message message);<a name="line.3636"></a>
<span class="sourceLineNo">3637</span><a name="line.3637"></a>
<span class="sourceLineNo">3638</span>    /**<a name="line.3638"></a>
<span class="sourceLineNo">3639</span>     * Logs exit from a method. Used for methods that do not return anything.<a name="line.3639"></a>
<span class="sourceLineNo">3640</span>     *<a name="line.3640"></a>
<span class="sourceLineNo">3641</span>     * @since 2.6<a name="line.3641"></a>
<span class="sourceLineNo">3642</span>     */<a name="line.3642"></a>
<span class="sourceLineNo">3643</span>    void traceExit();<a name="line.3643"></a>
<span class="sourceLineNo">3644</span><a name="line.3644"></a>
<span class="sourceLineNo">3645</span>    /**<a name="line.3645"></a>
<span class="sourceLineNo">3646</span>     * Logs exiting from a method with the result. This may be coded as:<a name="line.3646"></a>
<span class="sourceLineNo">3647</span>     *<a name="line.3647"></a>
<span class="sourceLineNo">3648</span>     * &lt;pre&gt;<a name="line.3648"></a>
<span class="sourceLineNo">3649</span>     * return LOGGER.traceExit(myResult);<a name="line.3649"></a>
<span class="sourceLineNo">3650</span>     * &lt;/pre&gt;<a name="line.3650"></a>
<span class="sourceLineNo">3651</span>     *<a name="line.3651"></a>
<span class="sourceLineNo">3652</span>     * @param &lt;R&gt; The type of the parameter and object being returned.<a name="line.3652"></a>
<span class="sourceLineNo">3653</span>     * @param result The result being returned from the method call.<a name="line.3653"></a>
<span class="sourceLineNo">3654</span>     * @return the result.<a name="line.3654"></a>
<span class="sourceLineNo">3655</span>     *<a name="line.3655"></a>
<span class="sourceLineNo">3656</span>     * @since 2.6<a name="line.3656"></a>
<span class="sourceLineNo">3657</span>     */<a name="line.3657"></a>
<span class="sourceLineNo">3658</span>    &lt;R&gt; R traceExit(R result);<a name="line.3658"></a>
<span class="sourceLineNo">3659</span><a name="line.3659"></a>
<span class="sourceLineNo">3660</span>    /**<a name="line.3660"></a>
<span class="sourceLineNo">3661</span>     * Logs exiting from a method with the result. This may be coded as:<a name="line.3661"></a>
<span class="sourceLineNo">3662</span>     *<a name="line.3662"></a>
<span class="sourceLineNo">3663</span>     * &lt;pre&gt;<a name="line.3663"></a>
<span class="sourceLineNo">3664</span>     * return LOGGER.traceExit("Result: {}", myResult);<a name="line.3664"></a>
<span class="sourceLineNo">3665</span>     * &lt;/pre&gt;<a name="line.3665"></a>
<span class="sourceLineNo">3666</span>     *<a name="line.3666"></a>
<span class="sourceLineNo">3667</span>     * @param &lt;R&gt; The type of the parameter and object being returned.<a name="line.3667"></a>
<span class="sourceLineNo">3668</span>     * @param format The format String for the result.<a name="line.3668"></a>
<span class="sourceLineNo">3669</span>     * @param result The result being returned from the method call.<a name="line.3669"></a>
<span class="sourceLineNo">3670</span>     * @return the result.<a name="line.3670"></a>
<span class="sourceLineNo">3671</span>     *<a name="line.3671"></a>
<span class="sourceLineNo">3672</span>     * @since 2.6<a name="line.3672"></a>
<span class="sourceLineNo">3673</span>     */<a name="line.3673"></a>
<span class="sourceLineNo">3674</span>    &lt;R&gt; R traceExit(String format, R result);<a name="line.3674"></a>
<span class="sourceLineNo">3675</span><a name="line.3675"></a>
<span class="sourceLineNo">3676</span>    /**<a name="line.3676"></a>
<span class="sourceLineNo">3677</span>     * Logs exiting from a method with no result. Allows custom formatting of the result. This may be coded as:<a name="line.3677"></a>
<span class="sourceLineNo">3678</span>     *<a name="line.3678"></a>
<span class="sourceLineNo">3679</span>     * &lt;pre&gt;<a name="line.3679"></a>
<span class="sourceLineNo">3680</span>     * public long doSomething(int a, int b) {<a name="line.3680"></a>
<span class="sourceLineNo">3681</span>     *    EntryMessage m = traceEntry("doSomething(a={}, b={})", a, b);<a name="line.3681"></a>
<span class="sourceLineNo">3682</span>     *    // ...<a name="line.3682"></a>
<span class="sourceLineNo">3683</span>     *    return LOGGER.traceExit(m);<a name="line.3683"></a>
<span class="sourceLineNo">3684</span>     * }<a name="line.3684"></a>
<span class="sourceLineNo">3685</span>     * &lt;/pre&gt;<a name="line.3685"></a>
<span class="sourceLineNo">3686</span>     * @param message The Message containing the formatted result.<a name="line.3686"></a>
<span class="sourceLineNo">3687</span>     *<a name="line.3687"></a>
<span class="sourceLineNo">3688</span>     * @since 2.6<a name="line.3688"></a>
<span class="sourceLineNo">3689</span>     */<a name="line.3689"></a>
<span class="sourceLineNo">3690</span>    void traceExit(EntryMessage message);<a name="line.3690"></a>
<span class="sourceLineNo">3691</span><a name="line.3691"></a>
<span class="sourceLineNo">3692</span>    /**<a name="line.3692"></a>
<span class="sourceLineNo">3693</span>     * Logs exiting from a method with the result. Allows custom formatting of the result. This may be coded as:<a name="line.3693"></a>
<span class="sourceLineNo">3694</span>     *<a name="line.3694"></a>
<span class="sourceLineNo">3695</span>     * &lt;pre&gt;<a name="line.3695"></a>
<span class="sourceLineNo">3696</span>     * public long doSomething(int a, int b) {<a name="line.3696"></a>
<span class="sourceLineNo">3697</span>     *    EntryMessage m = traceEntry("doSomething(a={}, b={})", a, b);<a name="line.3697"></a>
<span class="sourceLineNo">3698</span>     *    // ...<a name="line.3698"></a>
<span class="sourceLineNo">3699</span>     *    return LOGGER.traceExit(m, myResult);<a name="line.3699"></a>
<span class="sourceLineNo">3700</span>     * }<a name="line.3700"></a>
<span class="sourceLineNo">3701</span>     * &lt;/pre&gt;<a name="line.3701"></a>
<span class="sourceLineNo">3702</span>     * @param message The Message containing the formatted result.<a name="line.3702"></a>
<span class="sourceLineNo">3703</span>     * @param result The result being returned from the method call.<a name="line.3703"></a>
<span class="sourceLineNo">3704</span>     *<a name="line.3704"></a>
<span class="sourceLineNo">3705</span>     * @param &lt;R&gt; The type of the parameter and object being returned.<a name="line.3705"></a>
<span class="sourceLineNo">3706</span>     * @return the result.<a name="line.3706"></a>
<span class="sourceLineNo">3707</span>     *<a name="line.3707"></a>
<span class="sourceLineNo">3708</span>     * @since 2.6<a name="line.3708"></a>
<span class="sourceLineNo">3709</span>     */<a name="line.3709"></a>
<span class="sourceLineNo">3710</span>    &lt;R&gt; R traceExit(EntryMessage message, R result);<a name="line.3710"></a>
<span class="sourceLineNo">3711</span><a name="line.3711"></a>
<span class="sourceLineNo">3712</span>    /**<a name="line.3712"></a>
<span class="sourceLineNo">3713</span>     * Logs exiting from a method with the result. Allows custom formatting of the result. This may be coded as:<a name="line.3713"></a>
<span class="sourceLineNo">3714</span>     *<a name="line.3714"></a>
<span class="sourceLineNo">3715</span>     * &lt;pre&gt;<a name="line.3715"></a>
<span class="sourceLineNo">3716</span>     * return LOGGER.traceExit(new JsonMessage(myResult), myResult);<a name="line.3716"></a>
<span class="sourceLineNo">3717</span>     * &lt;/pre&gt;<a name="line.3717"></a>
<span class="sourceLineNo">3718</span>     * @param message The Message containing the formatted result.<a name="line.3718"></a>
<span class="sourceLineNo">3719</span>     * @param result The result being returned from the method call.<a name="line.3719"></a>
<span class="sourceLineNo">3720</span>     *<a name="line.3720"></a>
<span class="sourceLineNo">3721</span>     * @param &lt;R&gt; The type of the parameter and object being returned.<a name="line.3721"></a>
<span class="sourceLineNo">3722</span>     * @return the result.<a name="line.3722"></a>
<span class="sourceLineNo">3723</span>     *<a name="line.3723"></a>
<span class="sourceLineNo">3724</span>     * @since 2.6<a name="line.3724"></a>
<span class="sourceLineNo">3725</span>     */<a name="line.3725"></a>
<span class="sourceLineNo">3726</span>    &lt;R&gt; R traceExit(Message message, R result);<a name="line.3726"></a>
<span class="sourceLineNo">3727</span><a name="line.3727"></a>
<span class="sourceLineNo">3728</span>    /**<a name="line.3728"></a>
<span class="sourceLineNo">3729</span>     * Logs a message with the specific Marker at the {@link Level#WARN WARN} level.<a name="line.3729"></a>
<span class="sourceLineNo">3730</span>     *<a name="line.3730"></a>
<span class="sourceLineNo">3731</span>     * @param marker the marker data specific to this log statement<a name="line.3731"></a>
<span class="sourceLineNo">3732</span>     * @param msg the message string to be logged<a name="line.3732"></a>
<span class="sourceLineNo">3733</span>     */<a name="line.3733"></a>
<span class="sourceLineNo">3734</span>    void warn(Marker marker, Message msg);<a name="line.3734"></a>
<span class="sourceLineNo">3735</span><a name="line.3735"></a>
<span class="sourceLineNo">3736</span>    /**<a name="line.3736"></a>
<span class="sourceLineNo">3737</span>     * Logs a message with the specific Marker at the {@link Level#WARN WARN} level.<a name="line.3737"></a>
<span class="sourceLineNo">3738</span>     *<a name="line.3738"></a>
<span class="sourceLineNo">3739</span>     * @param marker the marker data specific to this log statement<a name="line.3739"></a>
<span class="sourceLineNo">3740</span>     * @param msg the message string to be logged<a name="line.3740"></a>
<span class="sourceLineNo">3741</span>     * @param t A Throwable or null.<a name="line.3741"></a>
<span class="sourceLineNo">3742</span>     */<a name="line.3742"></a>
<span class="sourceLineNo">3743</span>    void warn(Marker marker, Message msg, Throwable t);<a name="line.3743"></a>
<span class="sourceLineNo">3744</span><a name="line.3744"></a>
<span class="sourceLineNo">3745</span>    /**<a name="line.3745"></a>
<span class="sourceLineNo">3746</span>     * Logs a message which is only to be constructed if the logging level is the {@link Level#WARN WARN} level with the<a name="line.3746"></a>
<span class="sourceLineNo">3747</span>     * specified Marker. The {@code MessageSupplier} may or may not use the {@link MessageFactory} to construct the<a name="line.3747"></a>
<span class="sourceLineNo">3748</span>     * {@code Message}.<a name="line.3748"></a>
<span class="sourceLineNo">3749</span>     *<a name="line.3749"></a>
<span class="sourceLineNo">3750</span>     * @param marker the marker data specific to this log statement<a name="line.3750"></a>
<span class="sourceLineNo">3751</span>     * @param msgSupplier A function, which when called, produces the desired log message.<a name="line.3751"></a>
<span class="sourceLineNo">3752</span>     * @since 2.4<a name="line.3752"></a>
<span class="sourceLineNo">3753</span>     */<a name="line.3753"></a>
<span class="sourceLineNo">3754</span>    void warn(Marker marker, MessageSupplier msgSupplier);<a name="line.3754"></a>
<span class="sourceLineNo">3755</span><a name="line.3755"></a>
<span class="sourceLineNo">3756</span>    /**<a name="line.3756"></a>
<span class="sourceLineNo">3757</span>     * Logs a message (only to be constructed if the logging level is the {@link Level#WARN WARN} level) with the<a name="line.3757"></a>
<span class="sourceLineNo">3758</span>     * specified Marker and including the stack warn of the {@link Throwable} &lt;code&gt;t&lt;/code&gt; passed as parameter. The<a name="line.3758"></a>
<span class="sourceLineNo">3759</span>     * {@code MessageSupplier} may or may not use the {@link MessageFactory} to construct the {@code Message}.<a name="line.3759"></a>
<span class="sourceLineNo">3760</span>     *<a name="line.3760"></a>
<span class="sourceLineNo">3761</span>     * @param marker the marker data specific to this log statement<a name="line.3761"></a>
<span class="sourceLineNo">3762</span>     * @param msgSupplier A function, which when called, produces the desired log message.<a name="line.3762"></a>
<span class="sourceLineNo">3763</span>     * @param t A Throwable or null.<a name="line.3763"></a>
<span class="sourceLineNo">3764</span>     * @since 2.4<a name="line.3764"></a>
<span class="sourceLineNo">3765</span>     */<a name="line.3765"></a>
<span class="sourceLineNo">3766</span>    void warn(Marker marker, MessageSupplier msgSupplier, Throwable t);<a name="line.3766"></a>
<span class="sourceLineNo">3767</span><a name="line.3767"></a>
<span class="sourceLineNo">3768</span>    /**<a name="line.3768"></a>
<span class="sourceLineNo">3769</span>     * Logs a message CharSequence with the {@link Level#WARN WARN} level.<a name="line.3769"></a>
<span class="sourceLineNo">3770</span>     *<a name="line.3770"></a>
<span class="sourceLineNo">3771</span>     * @param marker the marker data specific to this log statement<a name="line.3771"></a>
<span class="sourceLineNo">3772</span>     * @param message the message CharSequence to log.<a name="line.3772"></a>
<span class="sourceLineNo">3773</span>     */<a name="line.3773"></a>
<span class="sourceLineNo">3774</span>    void warn(Marker marker, CharSequence message);<a name="line.3774"></a>
<span class="sourceLineNo">3775</span><a name="line.3775"></a>
<span class="sourceLineNo">3776</span>    /**<a name="line.3776"></a>
<span class="sourceLineNo">3777</span>     * Logs a CharSequence at the {@link Level#WARN WARN} level including the stack trace of the {@link Throwable}<a name="line.3777"></a>
<span class="sourceLineNo">3778</span>     * &lt;code&gt;t&lt;/code&gt; passed as parameter.<a name="line.3778"></a>
<span class="sourceLineNo">3779</span>     *<a name="line.3779"></a>
<span class="sourceLineNo">3780</span>     * @param marker the marker data specific to this log statement<a name="line.3780"></a>
<span class="sourceLineNo">3781</span>     * @param message the message CharSequence to log.<a name="line.3781"></a>
<span class="sourceLineNo">3782</span>     * @param t the exception to log, including its stack trace.<a name="line.3782"></a>
<span class="sourceLineNo">3783</span>     */<a name="line.3783"></a>
<span class="sourceLineNo">3784</span>    void warn(Marker marker, CharSequence message, Throwable t);<a name="line.3784"></a>
<span class="sourceLineNo">3785</span><a name="line.3785"></a>
<span class="sourceLineNo">3786</span>    /**<a name="line.3786"></a>
<span class="sourceLineNo">3787</span>     * Logs a message object with the {@link Level#WARN WARN} level.<a name="line.3787"></a>
<span class="sourceLineNo">3788</span>     *<a name="line.3788"></a>
<span class="sourceLineNo">3789</span>     * @param marker the marker data specific to this log statement<a name="line.3789"></a>
<span class="sourceLineNo">3790</span>     * @param message the message object to log.<a name="line.3790"></a>
<span class="sourceLineNo">3791</span>     */<a name="line.3791"></a>
<span class="sourceLineNo">3792</span>    void warn(Marker marker, Object message);<a name="line.3792"></a>
<span class="sourceLineNo">3793</span><a name="line.3793"></a>
<span class="sourceLineNo">3794</span>    /**<a name="line.3794"></a>
<span class="sourceLineNo">3795</span>     * Logs a message at the {@link Level#WARN WARN} level including the stack trace of the {@link Throwable}<a name="line.3795"></a>
<span class="sourceLineNo">3796</span>     * &lt;code&gt;t&lt;/code&gt; passed as parameter.<a name="line.3796"></a>
<span class="sourceLineNo">3797</span>     *<a name="line.3797"></a>
<span class="sourceLineNo">3798</span>     * @param marker the marker data specific to this log statement<a name="line.3798"></a>
<span class="sourceLineNo">3799</span>     * @param message the message object to log.<a name="line.3799"></a>
<span class="sourceLineNo">3800</span>     * @param t the exception to log, including its stack trace.<a name="line.3800"></a>
<span class="sourceLineNo">3801</span>     */<a name="line.3801"></a>
<span class="sourceLineNo">3802</span>    void warn(Marker marker, Object message, Throwable t);<a name="line.3802"></a>
<span class="sourceLineNo">3803</span><a name="line.3803"></a>
<span class="sourceLineNo">3804</span>    /**<a name="line.3804"></a>
<span class="sourceLineNo">3805</span>     * Logs a message object with the {@link Level#WARN WARN} level.<a name="line.3805"></a>
<span class="sourceLineNo">3806</span>     *<a name="line.3806"></a>
<span class="sourceLineNo">3807</span>     * @param marker the marker data specific to this log statement<a name="line.3807"></a>
<span class="sourceLineNo">3808</span>     * @param message the message object to log.<a name="line.3808"></a>
<span class="sourceLineNo">3809</span>     */<a name="line.3809"></a>
<span class="sourceLineNo">3810</span>    void warn(Marker marker, String message);<a name="line.3810"></a>
<span class="sourceLineNo">3811</span><a name="line.3811"></a>
<span class="sourceLineNo">3812</span>    /**<a name="line.3812"></a>
<span class="sourceLineNo">3813</span>     * Logs a message with parameters at the {@link Level#WARN WARN} level.<a name="line.3813"></a>
<span class="sourceLineNo">3814</span>     *<a name="line.3814"></a>
<span class="sourceLineNo">3815</span>     * @param marker the marker data specific to this log statement.<a name="line.3815"></a>
<span class="sourceLineNo">3816</span>     * @param message the message to log; the format depends on the message factory.<a name="line.3816"></a>
<span class="sourceLineNo">3817</span>     * @param params parameters to the message.<a name="line.3817"></a>
<span class="sourceLineNo">3818</span>     * @see #getMessageFactory()<a name="line.3818"></a>
<span class="sourceLineNo">3819</span>     */<a name="line.3819"></a>
<span class="sourceLineNo">3820</span>    void warn(Marker marker, String message, Object... params);<a name="line.3820"></a>
<span class="sourceLineNo">3821</span><a name="line.3821"></a>
<span class="sourceLineNo">3822</span>    /**<a name="line.3822"></a>
<span class="sourceLineNo">3823</span>     * Logs a message with parameters which are only to be constructed if the logging level is the {@link Level#WARN<a name="line.3823"></a>
<span class="sourceLineNo">3824</span>     * WARN} level.<a name="line.3824"></a>
<span class="sourceLineNo">3825</span>     *<a name="line.3825"></a>
<span class="sourceLineNo">3826</span>     * @param marker the marker data specific to this log statement<a name="line.3826"></a>
<span class="sourceLineNo">3827</span>     * @param message the message to log; the format depends on the message factory.<a name="line.3827"></a>
<span class="sourceLineNo">3828</span>     * @param paramSuppliers An array of functions, which when called, produce the desired log message parameters.<a name="line.3828"></a>
<span class="sourceLineNo">3829</span>     * @since 2.4<a name="line.3829"></a>
<span class="sourceLineNo">3830</span>     */<a name="line.3830"></a>
<span class="sourceLineNo">3831</span>    void warn(Marker marker, String message, Supplier&lt;?&gt;... paramSuppliers);<a name="line.3831"></a>
<span class="sourceLineNo">3832</span><a name="line.3832"></a>
<span class="sourceLineNo">3833</span>    /**<a name="line.3833"></a>
<span class="sourceLineNo">3834</span>     * Logs a message at the {@link Level#WARN WARN} level including the stack trace of the {@link Throwable}<a name="line.3834"></a>
<span class="sourceLineNo">3835</span>     * &lt;code&gt;t&lt;/code&gt; passed as parameter.<a name="line.3835"></a>
<span class="sourceLineNo">3836</span>     *<a name="line.3836"></a>
<span class="sourceLineNo">3837</span>     * @param marker the marker data specific to this log statement<a name="line.3837"></a>
<span class="sourceLineNo">3838</span>     * @param message the message object to log.<a name="line.3838"></a>
<span class="sourceLineNo">3839</span>     * @param t the exception to log, including its stack trace.<a name="line.3839"></a>
<span class="sourceLineNo">3840</span>     */<a name="line.3840"></a>
<span class="sourceLineNo">3841</span>    void warn(Marker marker, String message, Throwable t);<a name="line.3841"></a>
<span class="sourceLineNo">3842</span><a name="line.3842"></a>
<span class="sourceLineNo">3843</span>    /**<a name="line.3843"></a>
<span class="sourceLineNo">3844</span>     * Logs a message which is only to be constructed if the logging level is the {@link Level#WARN WARN} level with the<a name="line.3844"></a>
<span class="sourceLineNo">3845</span>     * specified Marker.<a name="line.3845"></a>
<span class="sourceLineNo">3846</span>     *<a name="line.3846"></a>
<span class="sourceLineNo">3847</span>     * @param marker the marker data specific to this log statement<a name="line.3847"></a>
<span class="sourceLineNo">3848</span>     * @param msgSupplier A function, which when called, produces the desired log message; the format depends on the<a name="line.3848"></a>
<span class="sourceLineNo">3849</span>     *            message factory.<a name="line.3849"></a>
<span class="sourceLineNo">3850</span>     * @since 2.4<a name="line.3850"></a>
<span class="sourceLineNo">3851</span>     */<a name="line.3851"></a>
<span class="sourceLineNo">3852</span>    void warn(Marker marker, Supplier&lt;?&gt; msgSupplier);<a name="line.3852"></a>
<span class="sourceLineNo">3853</span><a name="line.3853"></a>
<span class="sourceLineNo">3854</span>    /**<a name="line.3854"></a>
<span class="sourceLineNo">3855</span>     * Logs a message (only to be constructed if the logging level is the {@link Level#WARN WARN} level) with the<a name="line.3855"></a>
<span class="sourceLineNo">3856</span>     * specified Marker and including the stack warn of the {@link Throwable} &lt;code&gt;t&lt;/code&gt; passed as parameter.<a name="line.3856"></a>
<span class="sourceLineNo">3857</span>     *<a name="line.3857"></a>
<span class="sourceLineNo">3858</span>     * @param marker the marker data specific to this log statement<a name="line.3858"></a>
<span class="sourceLineNo">3859</span>     * @param msgSupplier A function, which when called, produces the desired log message; the format depends on the<a name="line.3859"></a>
<span class="sourceLineNo">3860</span>     *            message factory.<a name="line.3860"></a>
<span class="sourceLineNo">3861</span>     * @param t A Throwable or null.<a name="line.3861"></a>
<span class="sourceLineNo">3862</span>     * @since 2.4<a name="line.3862"></a>
<span class="sourceLineNo">3863</span>     */<a name="line.3863"></a>
<span class="sourceLineNo">3864</span>    void warn(Marker marker, Supplier&lt;?&gt; msgSupplier, Throwable t);<a name="line.3864"></a>
<span class="sourceLineNo">3865</span><a name="line.3865"></a>
<span class="sourceLineNo">3866</span>    /**<a name="line.3866"></a>
<span class="sourceLineNo">3867</span>     * Logs a message with the specific Marker at the {@link Level#WARN WARN} level.<a name="line.3867"></a>
<span class="sourceLineNo">3868</span>     *<a name="line.3868"></a>
<span class="sourceLineNo">3869</span>     * @param msg the message string to be logged<a name="line.3869"></a>
<span class="sourceLineNo">3870</span>     */<a name="line.3870"></a>
<span class="sourceLineNo">3871</span>    void warn(Message msg);<a name="line.3871"></a>
<span class="sourceLineNo">3872</span><a name="line.3872"></a>
<span class="sourceLineNo">3873</span>    /**<a name="line.3873"></a>
<span class="sourceLineNo">3874</span>     * Logs a message with the specific Marker at the {@link Level#WARN WARN} level.<a name="line.3874"></a>
<span class="sourceLineNo">3875</span>     *<a name="line.3875"></a>
<span class="sourceLineNo">3876</span>     * @param msg the message string to be logged<a name="line.3876"></a>
<span class="sourceLineNo">3877</span>     * @param t A Throwable or null.<a name="line.3877"></a>
<span class="sourceLineNo">3878</span>     */<a name="line.3878"></a>
<span class="sourceLineNo">3879</span>    void warn(Message msg, Throwable t);<a name="line.3879"></a>
<span class="sourceLineNo">3880</span><a name="line.3880"></a>
<span class="sourceLineNo">3881</span>    /**<a name="line.3881"></a>
<span class="sourceLineNo">3882</span>     * Logs a message which is only to be constructed if the logging level is the {@link Level#WARN WARN} level. The<a name="line.3882"></a>
<span class="sourceLineNo">3883</span>     * {@code MessageSupplier} may or may not use the {@link MessageFactory} to construct the {@code Message}.<a name="line.3883"></a>
<span class="sourceLineNo">3884</span>     *<a name="line.3884"></a>
<span class="sourceLineNo">3885</span>     * @param msgSupplier A function, which when called, produces the desired log message.<a name="line.3885"></a>
<span class="sourceLineNo">3886</span>     * @since 2.4<a name="line.3886"></a>
<span class="sourceLineNo">3887</span>     */<a name="line.3887"></a>
<span class="sourceLineNo">3888</span>    void warn(MessageSupplier msgSupplier);<a name="line.3888"></a>
<span class="sourceLineNo">3889</span><a name="line.3889"></a>
<span class="sourceLineNo">3890</span>    /**<a name="line.3890"></a>
<span class="sourceLineNo">3891</span>     * Logs a message (only to be constructed if the logging level is the {@link Level#WARN WARN} level) including the<a name="line.3891"></a>
<span class="sourceLineNo">3892</span>     * stack warn of the {@link Throwable} &lt;code&gt;t&lt;/code&gt; passed as parameter. The {@code MessageSupplier} may or may<a name="line.3892"></a>
<span class="sourceLineNo">3893</span>     * not use the {@link MessageFactory} to construct the {@code Message}.<a name="line.3893"></a>
<span class="sourceLineNo">3894</span>     *<a name="line.3894"></a>
<span class="sourceLineNo">3895</span>     * @param msgSupplier A function, which when called, produces the desired log message.<a name="line.3895"></a>
<span class="sourceLineNo">3896</span>     * @param t the exception to log, including its stack warn.<a name="line.3896"></a>
<span class="sourceLineNo">3897</span>     * @since 2.4<a name="line.3897"></a>
<span class="sourceLineNo">3898</span>     */<a name="line.3898"></a>
<span class="sourceLineNo">3899</span>    void warn(MessageSupplier msgSupplier, Throwable t);<a name="line.3899"></a>
<span class="sourceLineNo">3900</span><a name="line.3900"></a>
<span class="sourceLineNo">3901</span>    /**<a name="line.3901"></a>
<span class="sourceLineNo">3902</span>     * Logs a message CharSequence with the {@link Level#WARN WARN} level.<a name="line.3902"></a>
<span class="sourceLineNo">3903</span>     *<a name="line.3903"></a>
<span class="sourceLineNo">3904</span>     * @param message the message CharSequence to log.<a name="line.3904"></a>
<span class="sourceLineNo">3905</span>     */<a name="line.3905"></a>
<span class="sourceLineNo">3906</span>    void warn(CharSequence message);<a name="line.3906"></a>
<span class="sourceLineNo">3907</span><a name="line.3907"></a>
<span class="sourceLineNo">3908</span>    /**<a name="line.3908"></a>
<span class="sourceLineNo">3909</span>     * Logs a CharSequence at the {@link Level#WARN WARN} level including the stack trace of the {@link Throwable}<a name="line.3909"></a>
<span class="sourceLineNo">3910</span>     * &lt;code&gt;t&lt;/code&gt; passed as parameter.<a name="line.3910"></a>
<span class="sourceLineNo">3911</span>     *<a name="line.3911"></a>
<span class="sourceLineNo">3912</span>     * @param message the message CharSequence to log.<a name="line.3912"></a>
<span class="sourceLineNo">3913</span>     * @param t the exception to log, including its stack trace.<a name="line.3913"></a>
<span class="sourceLineNo">3914</span>     */<a name="line.3914"></a>
<span class="sourceLineNo">3915</span>    void warn(CharSequence message, Throwable t);<a name="line.3915"></a>
<span class="sourceLineNo">3916</span><a name="line.3916"></a>
<span class="sourceLineNo">3917</span>    /**<a name="line.3917"></a>
<span class="sourceLineNo">3918</span>     * Logs a message object with the {@link Level#WARN WARN} level.<a name="line.3918"></a>
<span class="sourceLineNo">3919</span>     *<a name="line.3919"></a>
<span class="sourceLineNo">3920</span>     * @param message the message object to log.<a name="line.3920"></a>
<span class="sourceLineNo">3921</span>     */<a name="line.3921"></a>
<span class="sourceLineNo">3922</span>    void warn(Object message);<a name="line.3922"></a>
<span class="sourceLineNo">3923</span><a name="line.3923"></a>
<span class="sourceLineNo">3924</span>    /**<a name="line.3924"></a>
<span class="sourceLineNo">3925</span>     * Logs a message at the {@link Level#WARN WARN} level including the stack trace of the {@link Throwable}<a name="line.3925"></a>
<span class="sourceLineNo">3926</span>     * &lt;code&gt;t&lt;/code&gt; passed as parameter.<a name="line.3926"></a>
<span class="sourceLineNo">3927</span>     *<a name="line.3927"></a>
<span class="sourceLineNo">3928</span>     * @param message the message object to log.<a name="line.3928"></a>
<span class="sourceLineNo">3929</span>     * @param t the exception to log, including its stack trace.<a name="line.3929"></a>
<span class="sourceLineNo">3930</span>     */<a name="line.3930"></a>
<span class="sourceLineNo">3931</span>    void warn(Object message, Throwable t);<a name="line.3931"></a>
<span class="sourceLineNo">3932</span><a name="line.3932"></a>
<span class="sourceLineNo">3933</span>    /**<a name="line.3933"></a>
<span class="sourceLineNo">3934</span>     * Logs a message object with the {@link Level#WARN WARN} level.<a name="line.3934"></a>
<span class="sourceLineNo">3935</span>     *<a name="line.3935"></a>
<span class="sourceLineNo">3936</span>     * @param message the message string to log.<a name="line.3936"></a>
<span class="sourceLineNo">3937</span>     */<a name="line.3937"></a>
<span class="sourceLineNo">3938</span>    void warn(String message);<a name="line.3938"></a>
<span class="sourceLineNo">3939</span><a name="line.3939"></a>
<span class="sourceLineNo">3940</span>    /**<a name="line.3940"></a>
<span class="sourceLineNo">3941</span>     * Logs a message with parameters at the {@link Level#WARN WARN} level.<a name="line.3941"></a>
<span class="sourceLineNo">3942</span>     *<a name="line.3942"></a>
<span class="sourceLineNo">3943</span>     * @param message the message to log; the format depends on the message factory.<a name="line.3943"></a>
<span class="sourceLineNo">3944</span>     * @param params parameters to the message.<a name="line.3944"></a>
<span class="sourceLineNo">3945</span>     * @see #getMessageFactory()<a name="line.3945"></a>
<span class="sourceLineNo">3946</span>     */<a name="line.3946"></a>
<span class="sourceLineNo">3947</span>    void warn(String message, Object... params);<a name="line.3947"></a>
<span class="sourceLineNo">3948</span><a name="line.3948"></a>
<span class="sourceLineNo">3949</span>    /**<a name="line.3949"></a>
<span class="sourceLineNo">3950</span>     * Logs a message with parameters which are only to be constructed if the logging level is the {@link Level#WARN<a name="line.3950"></a>
<span class="sourceLineNo">3951</span>     * WARN} level.<a name="line.3951"></a>
<span class="sourceLineNo">3952</span>     *<a name="line.3952"></a>
<span class="sourceLineNo">3953</span>     * @param message the message to log; the format depends on the message factory.<a name="line.3953"></a>
<span class="sourceLineNo">3954</span>     * @param paramSuppliers An array of functions, which when called, produce the desired log message parameters.<a name="line.3954"></a>
<span class="sourceLineNo">3955</span>     * @since 2.4<a name="line.3955"></a>
<span class="sourceLineNo">3956</span>     */<a name="line.3956"></a>
<span class="sourceLineNo">3957</span>    void warn(String message, Supplier&lt;?&gt;... paramSuppliers);<a name="line.3957"></a>
<span class="sourceLineNo">3958</span><a name="line.3958"></a>
<span class="sourceLineNo">3959</span>    /**<a name="line.3959"></a>
<span class="sourceLineNo">3960</span>     * Logs a message at the {@link Level#WARN WARN} level including the stack trace of the {@link Throwable}<a name="line.3960"></a>
<span class="sourceLineNo">3961</span>     * &lt;code&gt;t&lt;/code&gt; passed as parameter.<a name="line.3961"></a>
<span class="sourceLineNo">3962</span>     *<a name="line.3962"></a>
<span class="sourceLineNo">3963</span>     * @param message the message object to log.<a name="line.3963"></a>
<span class="sourceLineNo">3964</span>     * @param t the exception to log, including its stack trace.<a name="line.3964"></a>
<span class="sourceLineNo">3965</span>     */<a name="line.3965"></a>
<span class="sourceLineNo">3966</span>    void warn(String message, Throwable t);<a name="line.3966"></a>
<span class="sourceLineNo">3967</span><a name="line.3967"></a>
<span class="sourceLineNo">3968</span>    /**<a name="line.3968"></a>
<span class="sourceLineNo">3969</span>     * Logs a message which is only to be constructed if the logging level is the {@link Level#WARN WARN} level.<a name="line.3969"></a>
<span class="sourceLineNo">3970</span>     *<a name="line.3970"></a>
<span class="sourceLineNo">3971</span>     * @param msgSupplier A function, which when called, produces the desired log message; the format depends on the<a name="line.3971"></a>
<span class="sourceLineNo">3972</span>     *            message factory.<a name="line.3972"></a>
<span class="sourceLineNo">3973</span>     * @since 2.4<a name="line.3973"></a>
<span class="sourceLineNo">3974</span>     */<a name="line.3974"></a>
<span class="sourceLineNo">3975</span>    void warn(Supplier&lt;?&gt; msgSupplier);<a name="line.3975"></a>
<span class="sourceLineNo">3976</span><a name="line.3976"></a>
<span class="sourceLineNo">3977</span>    /**<a name="line.3977"></a>
<span class="sourceLineNo">3978</span>     * Logs a message (only to be constructed if the logging level is the {@link Level#WARN WARN} level) including the<a name="line.3978"></a>
<span class="sourceLineNo">3979</span>     * stack warn of the {@link Throwable} &lt;code&gt;t&lt;/code&gt; passed as parameter.<a name="line.3979"></a>
<span class="sourceLineNo">3980</span>     *<a name="line.3980"></a>
<span class="sourceLineNo">3981</span>     * @param msgSupplier A function, which when called, produces the desired log message; the format depends on the<a name="line.3981"></a>
<span class="sourceLineNo">3982</span>     *            message factory.<a name="line.3982"></a>
<span class="sourceLineNo">3983</span>     * @param t the exception to log, including its stack warn.<a name="line.3983"></a>
<span class="sourceLineNo">3984</span>     * @since 2.4<a name="line.3984"></a>
<span class="sourceLineNo">3985</span>     */<a name="line.3985"></a>
<span class="sourceLineNo">3986</span>    void warn(Supplier&lt;?&gt; msgSupplier, Throwable t);<a name="line.3986"></a>
<span class="sourceLineNo">3987</span><a name="line.3987"></a>
<span class="sourceLineNo">3988</span>    /**<a name="line.3988"></a>
<span class="sourceLineNo">3989</span>     * Logs a message with parameters at warn level.<a name="line.3989"></a>
<span class="sourceLineNo">3990</span>     *<a name="line.3990"></a>
<span class="sourceLineNo">3991</span>     * @param marker the marker data specific to this log statement<a name="line.3991"></a>
<span class="sourceLineNo">3992</span>     * @param message the message to log; the format depends on the message factory.<a name="line.3992"></a>
<span class="sourceLineNo">3993</span>     * @param p0 parameter to the message.<a name="line.3993"></a>
<span class="sourceLineNo">3994</span>     */<a name="line.3994"></a>
<span class="sourceLineNo">3995</span>    void warn(Marker marker, String message, Object p0);<a name="line.3995"></a>
<span class="sourceLineNo">3996</span><a name="line.3996"></a>
<span class="sourceLineNo">3997</span>    /**<a name="line.3997"></a>
<span class="sourceLineNo">3998</span>     * Logs a message with parameters at warn level.<a name="line.3998"></a>
<span class="sourceLineNo">3999</span>     *<a name="line.3999"></a>
<span class="sourceLineNo">4000</span>     * @param marker the marker data specific to this log statement<a name="line.4000"></a>
<span class="sourceLineNo">4001</span>     * @param message the message to log; the format depends on the message factory.<a name="line.4001"></a>
<span class="sourceLineNo">4002</span>     * @param p0 parameter to the message.<a name="line.4002"></a>
<span class="sourceLineNo">4003</span>     * @param p1 parameter to the message.<a name="line.4003"></a>
<span class="sourceLineNo">4004</span>     */<a name="line.4004"></a>
<span class="sourceLineNo">4005</span>    void warn(Marker marker, String message, Object p0, Object p1);<a name="line.4005"></a>
<span class="sourceLineNo">4006</span><a name="line.4006"></a>
<span class="sourceLineNo">4007</span>    /**<a name="line.4007"></a>
<span class="sourceLineNo">4008</span>     * Logs a message with parameters at warn level.<a name="line.4008"></a>
<span class="sourceLineNo">4009</span>     *<a name="line.4009"></a>
<span class="sourceLineNo">4010</span>     * @param marker the marker data specific to this log statement<a name="line.4010"></a>
<span class="sourceLineNo">4011</span>     * @param message the message to log; the format depends on the message factory.<a name="line.4011"></a>
<span class="sourceLineNo">4012</span>     * @param p0 parameter to the message.<a name="line.4012"></a>
<span class="sourceLineNo">4013</span>     * @param p1 parameter to the message.<a name="line.4013"></a>
<span class="sourceLineNo">4014</span>     * @param p2 parameter to the message.<a name="line.4014"></a>
<span class="sourceLineNo">4015</span>     */<a name="line.4015"></a>
<span class="sourceLineNo">4016</span>    void warn(Marker marker, String message, Object p0, Object p1, Object p2);<a name="line.4016"></a>
<span class="sourceLineNo">4017</span><a name="line.4017"></a>
<span class="sourceLineNo">4018</span>    /**<a name="line.4018"></a>
<span class="sourceLineNo">4019</span>     * Logs a message with parameters at warn level.<a name="line.4019"></a>
<span class="sourceLineNo">4020</span>     *<a name="line.4020"></a>
<span class="sourceLineNo">4021</span>     * @param marker the marker data specific to this log statement<a name="line.4021"></a>
<span class="sourceLineNo">4022</span>     * @param message the message to log; the format depends on the message factory.<a name="line.4022"></a>
<span class="sourceLineNo">4023</span>     * @param p0 parameter to the message.<a name="line.4023"></a>
<span class="sourceLineNo">4024</span>     * @param p1 parameter to the message.<a name="line.4024"></a>
<span class="sourceLineNo">4025</span>     * @param p2 parameter to the message.<a name="line.4025"></a>
<span class="sourceLineNo">4026</span>     * @param p3 parameter to the message.<a name="line.4026"></a>
<span class="sourceLineNo">4027</span>     */<a name="line.4027"></a>
<span class="sourceLineNo">4028</span>    void warn(Marker marker, String message, Object p0, Object p1, Object p2, Object p3);<a name="line.4028"></a>
<span class="sourceLineNo">4029</span><a name="line.4029"></a>
<span class="sourceLineNo">4030</span>    /**<a name="line.4030"></a>
<span class="sourceLineNo">4031</span>     * Logs a message with parameters at warn level.<a name="line.4031"></a>
<span class="sourceLineNo">4032</span>     *<a name="line.4032"></a>
<span class="sourceLineNo">4033</span>     * @param marker the marker data specific to this log statement<a name="line.4033"></a>
<span class="sourceLineNo">4034</span>     * @param message the message to log; the format depends on the message factory.<a name="line.4034"></a>
<span class="sourceLineNo">4035</span>     * @param p0 parameter to the message.<a name="line.4035"></a>
<span class="sourceLineNo">4036</span>     * @param p1 parameter to the message.<a name="line.4036"></a>
<span class="sourceLineNo">4037</span>     * @param p2 parameter to the message.<a name="line.4037"></a>
<span class="sourceLineNo">4038</span>     * @param p3 parameter to the message.<a name="line.4038"></a>
<span class="sourceLineNo">4039</span>     * @param p4 parameter to the message.<a name="line.4039"></a>
<span class="sourceLineNo">4040</span>     */<a name="line.4040"></a>
<span class="sourceLineNo">4041</span>    void warn(Marker marker, String message, Object p0, Object p1, Object p2, Object p3, Object p4);<a name="line.4041"></a>
<span class="sourceLineNo">4042</span><a name="line.4042"></a>
<span class="sourceLineNo">4043</span>    /**<a name="line.4043"></a>
<span class="sourceLineNo">4044</span>     * Logs a message with parameters at warn level.<a name="line.4044"></a>
<span class="sourceLineNo">4045</span>     *<a name="line.4045"></a>
<span class="sourceLineNo">4046</span>     * @param marker the marker data specific to this log statement<a name="line.4046"></a>
<span class="sourceLineNo">4047</span>     * @param message the message to log; the format depends on the message factory.<a name="line.4047"></a>
<span class="sourceLineNo">4048</span>     * @param p0 parameter to the message.<a name="line.4048"></a>
<span class="sourceLineNo">4049</span>     * @param p1 parameter to the message.<a name="line.4049"></a>
<span class="sourceLineNo">4050</span>     * @param p2 parameter to the message.<a name="line.4050"></a>
<span class="sourceLineNo">4051</span>     * @param p3 parameter to the message.<a name="line.4051"></a>
<span class="sourceLineNo">4052</span>     * @param p4 parameter to the message.<a name="line.4052"></a>
<span class="sourceLineNo">4053</span>     * @param p5 parameter to the message.<a name="line.4053"></a>
<span class="sourceLineNo">4054</span>     */<a name="line.4054"></a>
<span class="sourceLineNo">4055</span>    void warn(Marker marker, String message, Object p0, Object p1, Object p2, Object p3, Object p4, Object p5);<a name="line.4055"></a>
<span class="sourceLineNo">4056</span><a name="line.4056"></a>
<span class="sourceLineNo">4057</span>    /**<a name="line.4057"></a>
<span class="sourceLineNo">4058</span>     * Logs a message with parameters at warn level.<a name="line.4058"></a>
<span class="sourceLineNo">4059</span>     *<a name="line.4059"></a>
<span class="sourceLineNo">4060</span>     * @param marker the marker data specific to this log statement<a name="line.4060"></a>
<span class="sourceLineNo">4061</span>     * @param message the message to log; the format depends on the message factory.<a name="line.4061"></a>
<span class="sourceLineNo">4062</span>     * @param p0 parameter to the message.<a name="line.4062"></a>
<span class="sourceLineNo">4063</span>     * @param p1 parameter to the message.<a name="line.4063"></a>
<span class="sourceLineNo">4064</span>     * @param p2 parameter to the message.<a name="line.4064"></a>
<span class="sourceLineNo">4065</span>     * @param p3 parameter to the message.<a name="line.4065"></a>
<span class="sourceLineNo">4066</span>     * @param p4 parameter to the message.<a name="line.4066"></a>
<span class="sourceLineNo">4067</span>     * @param p5 parameter to the message.<a name="line.4067"></a>
<span class="sourceLineNo">4068</span>     * @param p6 parameter to the message.<a name="line.4068"></a>
<span class="sourceLineNo">4069</span>     */<a name="line.4069"></a>
<span class="sourceLineNo">4070</span>    void warn(Marker marker, String message, Object p0, Object p1, Object p2, Object p3, Object p4, Object p5,<a name="line.4070"></a>
<span class="sourceLineNo">4071</span>            Object p6);<a name="line.4071"></a>
<span class="sourceLineNo">4072</span><a name="line.4072"></a>
<span class="sourceLineNo">4073</span>    /**<a name="line.4073"></a>
<span class="sourceLineNo">4074</span>     * Logs a message with parameters at warn level.<a name="line.4074"></a>
<span class="sourceLineNo">4075</span>     *<a name="line.4075"></a>
<span class="sourceLineNo">4076</span>     * @param marker the marker data specific to this log statement<a name="line.4076"></a>
<span class="sourceLineNo">4077</span>     * @param message the message to log; the format depends on the message factory.<a name="line.4077"></a>
<span class="sourceLineNo">4078</span>     * @param p0 parameter to the message.<a name="line.4078"></a>
<span class="sourceLineNo">4079</span>     * @param p1 parameter to the message.<a name="line.4079"></a>
<span class="sourceLineNo">4080</span>     * @param p2 parameter to the message.<a name="line.4080"></a>
<span class="sourceLineNo">4081</span>     * @param p3 parameter to the message.<a name="line.4081"></a>
<span class="sourceLineNo">4082</span>     * @param p4 parameter to the message.<a name="line.4082"></a>
<span class="sourceLineNo">4083</span>     * @param p5 parameter to the message.<a name="line.4083"></a>
<span class="sourceLineNo">4084</span>     * @param p6 parameter to the message.<a name="line.4084"></a>
<span class="sourceLineNo">4085</span>     * @param p7 parameter to the message.<a name="line.4085"></a>
<span class="sourceLineNo">4086</span>     */<a name="line.4086"></a>
<span class="sourceLineNo">4087</span>    void warn(Marker marker, String message, Object p0, Object p1, Object p2, Object p3, Object p4, Object p5, Object p6,<a name="line.4087"></a>
<span class="sourceLineNo">4088</span>            Object p7);<a name="line.4088"></a>
<span class="sourceLineNo">4089</span><a name="line.4089"></a>
<span class="sourceLineNo">4090</span>    /**<a name="line.4090"></a>
<span class="sourceLineNo">4091</span>     * Logs a message with parameters at warn level.<a name="line.4091"></a>
<span class="sourceLineNo">4092</span>     *<a name="line.4092"></a>
<span class="sourceLineNo">4093</span>     * @param marker the marker data specific to this log statement<a name="line.4093"></a>
<span class="sourceLineNo">4094</span>     * @param message the message to log; the format depends on the message factory.<a name="line.4094"></a>
<span class="sourceLineNo">4095</span>     * @param p0 parameter to the message.<a name="line.4095"></a>
<span class="sourceLineNo">4096</span>     * @param p1 parameter to the message.<a name="line.4096"></a>
<span class="sourceLineNo">4097</span>     * @param p2 parameter to the message.<a name="line.4097"></a>
<span class="sourceLineNo">4098</span>     * @param p3 parameter to the message.<a name="line.4098"></a>
<span class="sourceLineNo">4099</span>     * @param p4 parameter to the message.<a name="line.4099"></a>
<span class="sourceLineNo">4100</span>     * @param p5 parameter to the message.<a name="line.4100"></a>
<span class="sourceLineNo">4101</span>     * @param p6 parameter to the message.<a name="line.4101"></a>
<span class="sourceLineNo">4102</span>     * @param p7 parameter to the message.<a name="line.4102"></a>
<span class="sourceLineNo">4103</span>     * @param p8 parameter to the message.<a name="line.4103"></a>
<span class="sourceLineNo">4104</span>     */<a name="line.4104"></a>
<span class="sourceLineNo">4105</span>    void warn(Marker marker, String message, Object p0, Object p1, Object p2, Object p3, Object p4, Object p5, Object p6,<a name="line.4105"></a>
<span class="sourceLineNo">4106</span>            Object p7, Object p8);<a name="line.4106"></a>
<span class="sourceLineNo">4107</span><a name="line.4107"></a>
<span class="sourceLineNo">4108</span>    /**<a name="line.4108"></a>
<span class="sourceLineNo">4109</span>     * Logs a message with parameters at warn level.<a name="line.4109"></a>
<span class="sourceLineNo">4110</span>     *<a name="line.4110"></a>
<span class="sourceLineNo">4111</span>     * @param marker the marker data specific to this log statement<a name="line.4111"></a>
<span class="sourceLineNo">4112</span>     * @param message the message to log; the format depends on the message factory.<a name="line.4112"></a>
<span class="sourceLineNo">4113</span>     * @param p0 parameter to the message.<a name="line.4113"></a>
<span class="sourceLineNo">4114</span>     * @param p1 parameter to the message.<a name="line.4114"></a>
<span class="sourceLineNo">4115</span>     * @param p2 parameter to the message.<a name="line.4115"></a>
<span class="sourceLineNo">4116</span>     * @param p3 parameter to the message.<a name="line.4116"></a>
<span class="sourceLineNo">4117</span>     * @param p4 parameter to the message.<a name="line.4117"></a>
<span class="sourceLineNo">4118</span>     * @param p5 parameter to the message.<a name="line.4118"></a>
<span class="sourceLineNo">4119</span>     * @param p6 parameter to the message.<a name="line.4119"></a>
<span class="sourceLineNo">4120</span>     * @param p7 parameter to the message.<a name="line.4120"></a>
<span class="sourceLineNo">4121</span>     * @param p8 parameter to the message.<a name="line.4121"></a>
<span class="sourceLineNo">4122</span>     * @param p9 parameter to the message.<a name="line.4122"></a>
<span class="sourceLineNo">4123</span>     */<a name="line.4123"></a>
<span class="sourceLineNo">4124</span>    void warn(Marker marker, String message, Object p0, Object p1, Object p2, Object p3, Object p4, Object p5, Object p6,<a name="line.4124"></a>
<span class="sourceLineNo">4125</span>            Object p7, Object p8, Object p9);<a name="line.4125"></a>
<span class="sourceLineNo">4126</span><a name="line.4126"></a>
<span class="sourceLineNo">4127</span>    /**<a name="line.4127"></a>
<span class="sourceLineNo">4128</span>     * Logs a message with parameters at warn level.<a name="line.4128"></a>
<span class="sourceLineNo">4129</span>     *<a name="line.4129"></a>
<span class="sourceLineNo">4130</span>     * @param message the message to log; the format depends on the message factory.<a name="line.4130"></a>
<span class="sourceLineNo">4131</span>     * @param p0 parameter to the message.<a name="line.4131"></a>
<span class="sourceLineNo">4132</span>     */<a name="line.4132"></a>
<span class="sourceLineNo">4133</span>    void warn(String message, Object p0);<a name="line.4133"></a>
<span class="sourceLineNo">4134</span><a name="line.4134"></a>
<span class="sourceLineNo">4135</span>    /**<a name="line.4135"></a>
<span class="sourceLineNo">4136</span>     * Logs a message with parameters at warn level.<a name="line.4136"></a>
<span class="sourceLineNo">4137</span>     *<a name="line.4137"></a>
<span class="sourceLineNo">4138</span>     * @param message the message to log; the format depends on the message factory.<a name="line.4138"></a>
<span class="sourceLineNo">4139</span>     * @param p0 parameter to the message.<a name="line.4139"></a>
<span class="sourceLineNo">4140</span>     * @param p1 parameter to the message.<a name="line.4140"></a>
<span class="sourceLineNo">4141</span>     */<a name="line.4141"></a>
<span class="sourceLineNo">4142</span>    void warn(String message, Object p0, Object p1);<a name="line.4142"></a>
<span class="sourceLineNo">4143</span><a name="line.4143"></a>
<span class="sourceLineNo">4144</span>    /**<a name="line.4144"></a>
<span class="sourceLineNo">4145</span>     * Logs a message with parameters at warn level.<a name="line.4145"></a>
<span class="sourceLineNo">4146</span>     *<a name="line.4146"></a>
<span class="sourceLineNo">4147</span>     * @param message the message to log; the format depends on the message factory.<a name="line.4147"></a>
<span class="sourceLineNo">4148</span>     * @param p0 parameter to the message.<a name="line.4148"></a>
<span class="sourceLineNo">4149</span>     * @param p1 parameter to the message.<a name="line.4149"></a>
<span class="sourceLineNo">4150</span>     * @param p2 parameter to the message.<a name="line.4150"></a>
<span class="sourceLineNo">4151</span>     */<a name="line.4151"></a>
<span class="sourceLineNo">4152</span>    void warn(String message, Object p0, Object p1, Object p2);<a name="line.4152"></a>
<span class="sourceLineNo">4153</span><a name="line.4153"></a>
<span class="sourceLineNo">4154</span>    /**<a name="line.4154"></a>
<span class="sourceLineNo">4155</span>     * Logs a message with parameters at warn level.<a name="line.4155"></a>
<span class="sourceLineNo">4156</span>     *<a name="line.4156"></a>
<span class="sourceLineNo">4157</span>     * @param message the message to log; the format depends on the message factory.<a name="line.4157"></a>
<span class="sourceLineNo">4158</span>     * @param p0 parameter to the message.<a name="line.4158"></a>
<span class="sourceLineNo">4159</span>     * @param p1 parameter to the message.<a name="line.4159"></a>
<span class="sourceLineNo">4160</span>     * @param p2 parameter to the message.<a name="line.4160"></a>
<span class="sourceLineNo">4161</span>     * @param p3 parameter to the message.<a name="line.4161"></a>
<span class="sourceLineNo">4162</span>     */<a name="line.4162"></a>
<span class="sourceLineNo">4163</span>    void warn(String message, Object p0, Object p1, Object p2, Object p3);<a name="line.4163"></a>
<span class="sourceLineNo">4164</span><a name="line.4164"></a>
<span class="sourceLineNo">4165</span>    /**<a name="line.4165"></a>
<span class="sourceLineNo">4166</span>     * Logs a message with parameters at warn level.<a name="line.4166"></a>
<span class="sourceLineNo">4167</span>     *<a name="line.4167"></a>
<span class="sourceLineNo">4168</span>     * @param message the message to log; the format depends on the message factory.<a name="line.4168"></a>
<span class="sourceLineNo">4169</span>     * @param p0 parameter to the message.<a name="line.4169"></a>
<span class="sourceLineNo">4170</span>     * @param p1 parameter to the message.<a name="line.4170"></a>
<span class="sourceLineNo">4171</span>     * @param p2 parameter to the message.<a name="line.4171"></a>
<span class="sourceLineNo">4172</span>     * @param p3 parameter to the message.<a name="line.4172"></a>
<span class="sourceLineNo">4173</span>     * @param p4 parameter to the message.<a name="line.4173"></a>
<span class="sourceLineNo">4174</span>     */<a name="line.4174"></a>
<span class="sourceLineNo">4175</span>    void warn(String message, Object p0, Object p1, Object p2, Object p3, Object p4);<a name="line.4175"></a>
<span class="sourceLineNo">4176</span><a name="line.4176"></a>
<span class="sourceLineNo">4177</span>    /**<a name="line.4177"></a>
<span class="sourceLineNo">4178</span>     * Logs a message with parameters at warn level.<a name="line.4178"></a>
<span class="sourceLineNo">4179</span>     *<a name="line.4179"></a>
<span class="sourceLineNo">4180</span>     * @param message the message to log; the format depends on the message factory.<a name="line.4180"></a>
<span class="sourceLineNo">4181</span>     * @param p0 parameter to the message.<a name="line.4181"></a>
<span class="sourceLineNo">4182</span>     * @param p1 parameter to the message.<a name="line.4182"></a>
<span class="sourceLineNo">4183</span>     * @param p2 parameter to the message.<a name="line.4183"></a>
<span class="sourceLineNo">4184</span>     * @param p3 parameter to the message.<a name="line.4184"></a>
<span class="sourceLineNo">4185</span>     * @param p4 parameter to the message.<a name="line.4185"></a>
<span class="sourceLineNo">4186</span>     * @param p5 parameter to the message.<a name="line.4186"></a>
<span class="sourceLineNo">4187</span>     */<a name="line.4187"></a>
<span class="sourceLineNo">4188</span>    void warn(String message, Object p0, Object p1, Object p2, Object p3, Object p4, Object p5);<a name="line.4188"></a>
<span class="sourceLineNo">4189</span><a name="line.4189"></a>
<span class="sourceLineNo">4190</span>    /**<a name="line.4190"></a>
<span class="sourceLineNo">4191</span>     * Logs a message with parameters at warn level.<a name="line.4191"></a>
<span class="sourceLineNo">4192</span>     *<a name="line.4192"></a>
<span class="sourceLineNo">4193</span>     * @param message the message to log; the format depends on the message factory.<a name="line.4193"></a>
<span class="sourceLineNo">4194</span>     * @param p0 parameter to the message.<a name="line.4194"></a>
<span class="sourceLineNo">4195</span>     * @param p1 parameter to the message.<a name="line.4195"></a>
<span class="sourceLineNo">4196</span>     * @param p2 parameter to the message.<a name="line.4196"></a>
<span class="sourceLineNo">4197</span>     * @param p3 parameter to the message.<a name="line.4197"></a>
<span class="sourceLineNo">4198</span>     * @param p4 parameter to the message.<a name="line.4198"></a>
<span class="sourceLineNo">4199</span>     * @param p5 parameter to the message.<a name="line.4199"></a>
<span class="sourceLineNo">4200</span>     * @param p6 parameter to the message.<a name="line.4200"></a>
<span class="sourceLineNo">4201</span>     */<a name="line.4201"></a>
<span class="sourceLineNo">4202</span>    void warn(String message, Object p0, Object p1, Object p2, Object p3, Object p4, Object p5, Object p6);<a name="line.4202"></a>
<span class="sourceLineNo">4203</span><a name="line.4203"></a>
<span class="sourceLineNo">4204</span>    /**<a name="line.4204"></a>
<span class="sourceLineNo">4205</span>     * Logs a message with parameters at warn level.<a name="line.4205"></a>
<span class="sourceLineNo">4206</span>     *<a name="line.4206"></a>
<span class="sourceLineNo">4207</span>     * @param message the message to log; the format depends on the message factory.<a name="line.4207"></a>
<span class="sourceLineNo">4208</span>     * @param p0 parameter to the message.<a name="line.4208"></a>
<span class="sourceLineNo">4209</span>     * @param p1 parameter to the message.<a name="line.4209"></a>
<span class="sourceLineNo">4210</span>     * @param p2 parameter to the message.<a name="line.4210"></a>
<span class="sourceLineNo">4211</span>     * @param p3 parameter to the message.<a name="line.4211"></a>
<span class="sourceLineNo">4212</span>     * @param p4 parameter to the message.<a name="line.4212"></a>
<span class="sourceLineNo">4213</span>     * @param p5 parameter to the message.<a name="line.4213"></a>
<span class="sourceLineNo">4214</span>     * @param p6 parameter to the message.<a name="line.4214"></a>
<span class="sourceLineNo">4215</span>     * @param p7 parameter to the message.<a name="line.4215"></a>
<span class="sourceLineNo">4216</span>     */<a name="line.4216"></a>
<span class="sourceLineNo">4217</span>    void warn(String message, Object p0, Object p1, Object p2, Object p3, Object p4, Object p5, Object p6, Object p7);<a name="line.4217"></a>
<span class="sourceLineNo">4218</span><a name="line.4218"></a>
<span class="sourceLineNo">4219</span>    /**<a name="line.4219"></a>
<span class="sourceLineNo">4220</span>     * Logs a message with parameters at warn level.<a name="line.4220"></a>
<span class="sourceLineNo">4221</span>     *<a name="line.4221"></a>
<span class="sourceLineNo">4222</span>     * @param message the message to log; the format depends on the message factory.<a name="line.4222"></a>
<span class="sourceLineNo">4223</span>     * @param p0 parameter to the message.<a name="line.4223"></a>
<span class="sourceLineNo">4224</span>     * @param p1 parameter to the message.<a name="line.4224"></a>
<span class="sourceLineNo">4225</span>     * @param p2 parameter to the message.<a name="line.4225"></a>
<span class="sourceLineNo">4226</span>     * @param p3 parameter to the message.<a name="line.4226"></a>
<span class="sourceLineNo">4227</span>     * @param p4 parameter to the message.<a name="line.4227"></a>
<span class="sourceLineNo">4228</span>     * @param p5 parameter to the message.<a name="line.4228"></a>
<span class="sourceLineNo">4229</span>     * @param p6 parameter to the message.<a name="line.4229"></a>
<span class="sourceLineNo">4230</span>     * @param p7 parameter to the message.<a name="line.4230"></a>
<span class="sourceLineNo">4231</span>     * @param p8 parameter to the message.<a name="line.4231"></a>
<span class="sourceLineNo">4232</span>     */<a name="line.4232"></a>
<span class="sourceLineNo">4233</span>    void warn(String message, Object p0, Object p1, Object p2, Object p3, Object p4, Object p5, Object p6, Object p7,<a name="line.4233"></a>
<span class="sourceLineNo">4234</span>            Object p8);<a name="line.4234"></a>
<span class="sourceLineNo">4235</span><a name="line.4235"></a>
<span class="sourceLineNo">4236</span>    /**<a name="line.4236"></a>
<span class="sourceLineNo">4237</span>     * Logs a message with parameters at warn level.<a name="line.4237"></a>
<span class="sourceLineNo">4238</span>     *<a name="line.4238"></a>
<span class="sourceLineNo">4239</span>     * @param message the message to log; the format depends on the message factory.<a name="line.4239"></a>
<span class="sourceLineNo">4240</span>     * @param p0 parameter to the message.<a name="line.4240"></a>
<span class="sourceLineNo">4241</span>     * @param p1 parameter to the message.<a name="line.4241"></a>
<span class="sourceLineNo">4242</span>     * @param p2 parameter to the message.<a name="line.4242"></a>
<span class="sourceLineNo">4243</span>     * @param p3 parameter to the message.<a name="line.4243"></a>
<span class="sourceLineNo">4244</span>     * @param p4 parameter to the message.<a name="line.4244"></a>
<span class="sourceLineNo">4245</span>     * @param p5 parameter to the message.<a name="line.4245"></a>
<span class="sourceLineNo">4246</span>     * @param p6 parameter to the message.<a name="line.4246"></a>
<span class="sourceLineNo">4247</span>     * @param p7 parameter to the message.<a name="line.4247"></a>
<span class="sourceLineNo">4248</span>     * @param p8 parameter to the message.<a name="line.4248"></a>
<span class="sourceLineNo">4249</span>     * @param p9 parameter to the message.<a name="line.4249"></a>
<span class="sourceLineNo">4250</span>     */<a name="line.4250"></a>
<span class="sourceLineNo">4251</span>    void warn(String message, Object p0, Object p1, Object p2, Object p3, Object p4, Object p5, Object p6, Object p7,<a name="line.4251"></a>
<span class="sourceLineNo">4252</span>            Object p8, Object p9);<a name="line.4252"></a>
<span class="sourceLineNo">4253</span><a name="line.4253"></a>
<span class="sourceLineNo">4254</span><a name="line.4254"></a>
<span class="sourceLineNo">4255</span>    /**<a name="line.4255"></a>
<span class="sourceLineNo">4256</span>     * Logs a Message.<a name="line.4256"></a>
<span class="sourceLineNo">4257</span>     * @param level The logging Level to check.<a name="line.4257"></a>
<span class="sourceLineNo">4258</span>     * @param marker A Marker or null.<a name="line.4258"></a>
<span class="sourceLineNo">4259</span>     * @param fqcn The fully qualified class name of the logger entry point, used to determine the caller class and<a name="line.4259"></a>
<span class="sourceLineNo">4260</span>     *            method when location information needs to be logged.<a name="line.4260"></a>
<span class="sourceLineNo">4261</span>     * @param location The location of the caller.<a name="line.4261"></a>
<span class="sourceLineNo">4262</span>     * @param message The message format.<a name="line.4262"></a>
<span class="sourceLineNo">4263</span>     * @param throwable the exception to log, including its stack trace.<a name="line.4263"></a>
<span class="sourceLineNo">4264</span>     * @since 2.13.0<a name="line.4264"></a>
<span class="sourceLineNo">4265</span>     */<a name="line.4265"></a>
<span class="sourceLineNo">4266</span>    default void logMessage(Level level, Marker marker, String fqcn, StackTraceElement location, Message message,<a name="line.4266"></a>
<span class="sourceLineNo">4267</span>        Throwable throwable) {<a name="line.4267"></a>
<span class="sourceLineNo">4268</span><a name="line.4268"></a>
<span class="sourceLineNo">4269</span>    }<a name="line.4269"></a>
<span class="sourceLineNo">4270</span><a name="line.4270"></a>
<span class="sourceLineNo">4271</span>    /**<a name="line.4271"></a>
<span class="sourceLineNo">4272</span>     * Constuct a trace log event.<a name="line.4272"></a>
<span class="sourceLineNo">4273</span>     * @return a LogBuilder.<a name="line.4273"></a>
<span class="sourceLineNo">4274</span>     * @since 2.13.0<a name="line.4274"></a>
<span class="sourceLineNo">4275</span>     */<a name="line.4275"></a>
<span class="sourceLineNo">4276</span>    default LogBuilder atTrace() {<a name="line.4276"></a>
<span class="sourceLineNo">4277</span>        return LogBuilder.NOOP;<a name="line.4277"></a>
<span class="sourceLineNo">4278</span>    }<a name="line.4278"></a>
<span class="sourceLineNo">4279</span>    /**<a name="line.4279"></a>
<span class="sourceLineNo">4280</span>     * Constuct a trace log event.<a name="line.4280"></a>
<span class="sourceLineNo">4281</span>     * @return a LogBuilder.<a name="line.4281"></a>
<span class="sourceLineNo">4282</span>     * @since 2.13.0<a name="line.4282"></a>
<span class="sourceLineNo">4283</span>     */<a name="line.4283"></a>
<span class="sourceLineNo">4284</span>    default LogBuilder atDebug() {<a name="line.4284"></a>
<span class="sourceLineNo">4285</span>        return LogBuilder.NOOP;<a name="line.4285"></a>
<span class="sourceLineNo">4286</span>    }<a name="line.4286"></a>
<span class="sourceLineNo">4287</span>    /**<a name="line.4287"></a>
<span class="sourceLineNo">4288</span>     * Constuct a trace log event.<a name="line.4288"></a>
<span class="sourceLineNo">4289</span>     * @return a LogBuilder.<a name="line.4289"></a>
<span class="sourceLineNo">4290</span>     * @since 2.13.0<a name="line.4290"></a>
<span class="sourceLineNo">4291</span>     */<a name="line.4291"></a>
<span class="sourceLineNo">4292</span>    default LogBuilder atInfo() {<a name="line.4292"></a>
<span class="sourceLineNo">4293</span>        return LogBuilder.NOOP;<a name="line.4293"></a>
<span class="sourceLineNo">4294</span>    }<a name="line.4294"></a>
<span class="sourceLineNo">4295</span>    /**<a name="line.4295"></a>
<span class="sourceLineNo">4296</span>     * Constuct a trace log event.<a name="line.4296"></a>
<span class="sourceLineNo">4297</span>     * @return a LogBuilder.<a name="line.4297"></a>
<span class="sourceLineNo">4298</span>     * @since 2.13.0<a name="line.4298"></a>
<span class="sourceLineNo">4299</span>     */<a name="line.4299"></a>
<span class="sourceLineNo">4300</span>    default LogBuilder atWarn() {<a name="line.4300"></a>
<span class="sourceLineNo">4301</span>        return LogBuilder.NOOP;<a name="line.4301"></a>
<span class="sourceLineNo">4302</span>    }<a name="line.4302"></a>
<span class="sourceLineNo">4303</span>    /**<a name="line.4303"></a>
<span class="sourceLineNo">4304</span>     * Constuct a trace log event.<a name="line.4304"></a>
<span class="sourceLineNo">4305</span>     * @return a LogBuilder.<a name="line.4305"></a>
<span class="sourceLineNo">4306</span>     * @since 2.13.0<a name="line.4306"></a>
<span class="sourceLineNo">4307</span>     */<a name="line.4307"></a>
<span class="sourceLineNo">4308</span>    default LogBuilder atError() {<a name="line.4308"></a>
<span class="sourceLineNo">4309</span>        return LogBuilder.NOOP;<a name="line.4309"></a>
<span class="sourceLineNo">4310</span>    }<a name="line.4310"></a>
<span class="sourceLineNo">4311</span>    /**<a name="line.4311"></a>
<span class="sourceLineNo">4312</span>     * Constuct a trace log event.<a name="line.4312"></a>
<span class="sourceLineNo">4313</span>     * @return a LogBuilder.<a name="line.4313"></a>
<span class="sourceLineNo">4314</span>     * @since 2.13.0<a name="line.4314"></a>
<span class="sourceLineNo">4315</span>     */<a name="line.4315"></a>
<span class="sourceLineNo">4316</span>    default LogBuilder atFatal() {<a name="line.4316"></a>
<span class="sourceLineNo">4317</span>        return LogBuilder.NOOP;<a name="line.4317"></a>
<span class="sourceLineNo">4318</span>    }<a name="line.4318"></a>
<span class="sourceLineNo">4319</span>    /**<a name="line.4319"></a>
<span class="sourceLineNo">4320</span>     * Constuct a log event that will alwways be logged.<a name="line.4320"></a>
<span class="sourceLineNo">4321</span>     * @return a LogBuilder.<a name="line.4321"></a>
<span class="sourceLineNo">4322</span>     * @since 2.13.0<a name="line.4322"></a>
<span class="sourceLineNo">4323</span>     */<a name="line.4323"></a>
<span class="sourceLineNo">4324</span>    default LogBuilder always() {<a name="line.4324"></a>
<span class="sourceLineNo">4325</span>        return LogBuilder.NOOP;<a name="line.4325"></a>
<span class="sourceLineNo">4326</span>    }<a name="line.4326"></a>
<span class="sourceLineNo">4327</span>    /**<a name="line.4327"></a>
<span class="sourceLineNo">4328</span>     * Constuct a log event.<a name="line.4328"></a>
<span class="sourceLineNo">4329</span>     * @return a LogBuilder.<a name="line.4329"></a>
<span class="sourceLineNo">4330</span>     * @since 2.13.0<a name="line.4330"></a>
<span class="sourceLineNo">4331</span>     */<a name="line.4331"></a>
<span class="sourceLineNo">4332</span>    default LogBuilder atLevel(Level level) {<a name="line.4332"></a>
<span class="sourceLineNo">4333</span>        return LogBuilder.NOOP;<a name="line.4333"></a>
<span class="sourceLineNo">4334</span>    }<a name="line.4334"></a>
<span class="sourceLineNo">4335</span>}<a name="line.4335"></a>




























































</pre>
</div>
</body>
</html>
