Modified: 
websites/production/commons/content/proper/commons-logging/apidocs/src-html/org/apache/commons/logging/impl/SimpleLog.html
==============================================================================
--- 
websites/production/commons/content/proper/commons-logging/apidocs/src-html/org/apache/commons/logging/impl/SimpleLog.html
 (original)
+++ 
websites/production/commons/content/proper/commons-logging/apidocs/src-html/org/apache/commons/logging/impl/SimpleLog.html
 Thu Jul  4 12:10:51 2024
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML>
 <html lang="en">
 <head>
-<!-- Generated by javadoc (21) -->
+<!-- Generated by javadoc (17) -->
 <title>Source code</title>
 <meta name="viewport" content="width=device-width, initial-scale=1">
 <meta name="description" content="source: package: 
org.apache.commons.logging.impl, class: SimpleLog">
@@ -40,627 +40,652 @@
 <span class="source-line-no">027</span><span id="line-27">import 
java.text.DateFormat;</span>
 <span class="source-line-no">028</span><span id="line-28">import 
java.text.SimpleDateFormat;</span>
 <span class="source-line-no">029</span><span id="line-29">import 
java.util.Date;</span>
-<span class="source-line-no">030</span><span id="line-30">import 
java.util.Properties;</span>
-<span class="source-line-no">031</span><span id="line-31"></span>
-<span class="source-line-no">032</span><span id="line-32">import 
org.apache.commons.logging.Log;</span>
-<span class="source-line-no">033</span><span id="line-33">import 
org.apache.commons.logging.LogConfigurationException;</span>
-<span class="source-line-no">034</span><span id="line-34"></span>
-<span class="source-line-no">035</span><span id="line-35">/**</span>
-<span class="source-line-no">036</span><span id="line-36"> * Simple 
implementation of Log that sends all enabled log messages,</span>
-<span class="source-line-no">037</span><span id="line-37"> * for all defined 
loggers, to System.err.  The following system properties</span>
-<span class="source-line-no">038</span><span id="line-38"> * are supported to 
configure the behavior of this logger:</span>
-<span class="source-line-no">039</span><span id="line-39"> * &lt;ul&gt;</span>
-<span class="source-line-no">040</span><span id="line-40"> * &lt;li&gt;{@code 
org.apache.commons.logging.simplelog.defaultlog} -</span>
-<span class="source-line-no">041</span><span id="line-41"> *     Default 
logging detail level for all instances of SimpleLog.</span>
-<span class="source-line-no">042</span><span id="line-42"> *     Must be one 
of ("trace", "debug", "info", "warn", "error", or "fatal").</span>
-<span class="source-line-no">043</span><span id="line-43"> *     If not 
specified, defaults to "info". &lt;/li&gt;</span>
-<span class="source-line-no">044</span><span id="line-44"> * &lt;li&gt;{@code 
org.apache.commons.logging.simplelog.log.xxxxx} -</span>
-<span class="source-line-no">045</span><span id="line-45"> *     Logging 
detail level for a SimpleLog instance named "xxxxx".</span>
-<span class="source-line-no">046</span><span id="line-46"> *     Must be one 
of ("trace", "debug", "info", "warn", "error", or "fatal").</span>
-<span class="source-line-no">047</span><span id="line-47"> *     If not 
specified, the default logging detail level is used.&lt;/li&gt;</span>
-<span class="source-line-no">048</span><span id="line-48"> * &lt;li&gt;{@code 
org.apache.commons.logging.simplelog.showlogname} -</span>
-<span class="source-line-no">049</span><span id="line-49"> *     Set to {@code 
true} if you want the Log instance name to be</span>
-<span class="source-line-no">050</span><span id="line-50"> *     included in 
output messages. Defaults to {@code false}.&lt;/li&gt;</span>
-<span class="source-line-no">051</span><span id="line-51"> * &lt;li&gt;{@code 
org.apache.commons.logging.simplelog.showShortLogname} -</span>
-<span class="source-line-no">052</span><span id="line-52"> *     Set to {@code 
true} if you want the last component of the name to be</span>
-<span class="source-line-no">053</span><span id="line-53"> *     included in 
output messages. Defaults to {@code true}.&lt;/li&gt;</span>
-<span class="source-line-no">054</span><span id="line-54"> * &lt;li&gt;{@code 
org.apache.commons.logging.simplelog.showdatetime} -</span>
-<span class="source-line-no">055</span><span id="line-55"> *     Set to {@code 
true} if you want the current date and time</span>
-<span class="source-line-no">056</span><span id="line-56"> *     to be 
included in output messages. Default is {@code false}.&lt;/li&gt;</span>
-<span class="source-line-no">057</span><span id="line-57"> * &lt;li&gt;{@code 
org.apache.commons.logging.simplelog.dateTimeFormat} -</span>
-<span class="source-line-no">058</span><span id="line-58"> *     The date and 
time format to be used in the output messages.</span>
-<span class="source-line-no">059</span><span id="line-59"> *     The pattern 
describing the date and time format is the same that is</span>
-<span class="source-line-no">060</span><span id="line-60"> *     used in 
{@link java.text.SimpleDateFormat}. If the format is not</span>
-<span class="source-line-no">061</span><span id="line-61"> *     specified or 
is invalid, the default format is used.</span>
-<span class="source-line-no">062</span><span id="line-62"> *     The default 
format is {@code yyyy/MM/dd HH:mm:ss:SSS zzz}.&lt;/li&gt;</span>
-<span class="source-line-no">063</span><span id="line-63"> * &lt;/ul&gt;</span>
-<span class="source-line-no">064</span><span id="line-64"> * &lt;p&gt;</span>
-<span class="source-line-no">065</span><span id="line-65"> * In addition to 
looking for system properties with the names specified</span>
-<span class="source-line-no">066</span><span id="line-66"> * above, this 
implementation also checks for a class loader resource named</span>
-<span class="source-line-no">067</span><span id="line-67"> * {@code 
"simplelog.properties"}, and includes any matching definitions</span>
-<span class="source-line-no">068</span><span id="line-68"> * from this 
resource (if it exists).</span>
-<span class="source-line-no">069</span><span id="line-69"> */</span>
-<span class="source-line-no">070</span><span id="line-70">public class 
SimpleLog implements Log, Serializable {</span>
-<span class="source-line-no">071</span><span id="line-71"></span>
-<span class="source-line-no">072</span><span id="line-72">    /** Serializable 
version identifier. */</span>
-<span class="source-line-no">073</span><span id="line-73">    private static 
final long serialVersionUID = 136942970684951178L;</span>
+<span class="source-line-no">030</span><span id="line-30">import 
java.util.Locale;</span>
+<span class="source-line-no">031</span><span id="line-31">import 
java.util.Objects;</span>
+<span class="source-line-no">032</span><span id="line-32">import 
java.util.Properties;</span>
+<span class="source-line-no">033</span><span id="line-33"></span>
+<span class="source-line-no">034</span><span id="line-34">import 
org.apache.commons.logging.Log;</span>
+<span class="source-line-no">035</span><span id="line-35">import 
org.apache.commons.logging.LogConfigurationException;</span>
+<span class="source-line-no">036</span><span id="line-36"></span>
+<span class="source-line-no">037</span><span id="line-37">/**</span>
+<span class="source-line-no">038</span><span id="line-38"> * Simple 
implementation of Log that sends all enabled log messages,</span>
+<span class="source-line-no">039</span><span id="line-39"> * for all defined 
loggers, to System.err.  The following system properties</span>
+<span class="source-line-no">040</span><span id="line-40"> * are supported to 
configure the behavior of this logger:</span>
+<span class="source-line-no">041</span><span id="line-41"> * &lt;ul&gt;</span>
+<span class="source-line-no">042</span><span id="line-42"> * &lt;li&gt;{@code 
org.apache.commons.logging.simplelog.defaultlog} -</span>
+<span class="source-line-no">043</span><span id="line-43"> *     Default 
logging detail level for all instances of SimpleLog.</span>
+<span class="source-line-no">044</span><span id="line-44"> *     Must be one 
of ("trace", "debug", "info", "warn", "error", or "fatal").</span>
+<span class="source-line-no">045</span><span id="line-45"> *     If not 
specified, defaults to "info". &lt;/li&gt;</span>
+<span class="source-line-no">046</span><span id="line-46"> * &lt;li&gt;{@code 
org.apache.commons.logging.simplelog.log.xxxxx} -</span>
+<span class="source-line-no">047</span><span id="line-47"> *     Logging 
detail level for a SimpleLog instance named "xxxxx".</span>
+<span class="source-line-no">048</span><span id="line-48"> *     Must be one 
of ("trace", "debug", "info", "warn", "error", or "fatal").</span>
+<span class="source-line-no">049</span><span id="line-49"> *     If not 
specified, the default logging detail level is used.&lt;/li&gt;</span>
+<span class="source-line-no">050</span><span id="line-50"> * &lt;li&gt;{@code 
org.apache.commons.logging.simplelog.showlogname} -</span>
+<span class="source-line-no">051</span><span id="line-51"> *     Set to {@code 
true} if you want the Log instance name to be</span>
+<span class="source-line-no">052</span><span id="line-52"> *     included in 
output messages. Defaults to {@code false}.&lt;/li&gt;</span>
+<span class="source-line-no">053</span><span id="line-53"> * &lt;li&gt;{@code 
org.apache.commons.logging.simplelog.showShortLogname} -</span>
+<span class="source-line-no">054</span><span id="line-54"> *     Set to {@code 
true} if you want the last component of the name to be</span>
+<span class="source-line-no">055</span><span id="line-55"> *     included in 
output messages. Defaults to {@code true}.&lt;/li&gt;</span>
+<span class="source-line-no">056</span><span id="line-56"> * &lt;li&gt;{@code 
org.apache.commons.logging.simplelog.showdatetime} -</span>
+<span class="source-line-no">057</span><span id="line-57"> *     Set to {@code 
true} if you want the current date and time</span>
+<span class="source-line-no">058</span><span id="line-58"> *     to be 
included in output messages. Default is {@code false}.&lt;/li&gt;</span>
+<span class="source-line-no">059</span><span id="line-59"> * &lt;li&gt;{@code 
org.apache.commons.logging.simplelog.dateTimeFormat} -</span>
+<span class="source-line-no">060</span><span id="line-60"> *     The date and 
time format to be used in the output messages.</span>
+<span class="source-line-no">061</span><span id="line-61"> *     The pattern 
describing the date and time format is the same that is</span>
+<span class="source-line-no">062</span><span id="line-62"> *     used in 
{@link java.text.SimpleDateFormat}. If the format is not</span>
+<span class="source-line-no">063</span><span id="line-63"> *     specified or 
is invalid, the default format is used.</span>
+<span class="source-line-no">064</span><span id="line-64"> *     The default 
format is {@code yyyy/MM/dd HH:mm:ss:SSS zzz}.&lt;/li&gt;</span>
+<span class="source-line-no">065</span><span id="line-65"> * &lt;/ul&gt;</span>
+<span class="source-line-no">066</span><span id="line-66"> * &lt;p&gt;</span>
+<span class="source-line-no">067</span><span id="line-67"> * In addition to 
looking for system properties with the names specified</span>
+<span class="source-line-no">068</span><span id="line-68"> * above, this 
implementation also checks for a class loader resource named</span>
+<span class="source-line-no">069</span><span id="line-69"> * {@code 
"simplelog.properties"}, and includes any matching definitions</span>
+<span class="source-line-no">070</span><span id="line-70"> * from this 
resource (if it exists).</span>
+<span class="source-line-no">071</span><span id="line-71"> * &lt;/p&gt;</span>
+<span class="source-line-no">072</span><span id="line-72"> */</span>
+<span class="source-line-no">073</span><span id="line-73">public class 
SimpleLog implements Log, Serializable {</span>
 <span class="source-line-no">074</span><span id="line-74"></span>
-<span class="source-line-no">075</span><span id="line-75">    /** All system 
properties used by {@code SimpleLog} start with this */</span>
-<span class="source-line-no">076</span><span id="line-76">    static protected 
final String systemPrefix = "org.apache.commons.logging.simplelog.";</span>
+<span class="source-line-no">075</span><span id="line-75">    /** Serializable 
version identifier. */</span>
+<span class="source-line-no">076</span><span id="line-76">    private static 
final long serialVersionUID = 136942970684951178L;</span>
 <span class="source-line-no">077</span><span id="line-77"></span>
-<span class="source-line-no">078</span><span id="line-78">    /** Properties 
loaded from simplelog.properties */</span>
-<span class="source-line-no">079</span><span id="line-79">    static protected 
final Properties simpleLogProps = new Properties();</span>
+<span class="source-line-no">078</span><span id="line-78">    /** All system 
properties used by {@code SimpleLog} start with this */</span>
+<span class="source-line-no">079</span><span id="line-79">    static protected 
final String systemPrefix = "org.apache.commons.logging.simplelog.";</span>
 <span class="source-line-no">080</span><span id="line-80"></span>
-<span class="source-line-no">081</span><span id="line-81">    /** The default 
format to use when formating dates */</span>
-<span class="source-line-no">082</span><span id="line-82">    static protected 
final String DEFAULT_DATE_TIME_FORMAT = "yyyy/MM/dd HH:mm:ss:SSS zzz";</span>
+<span class="source-line-no">081</span><span id="line-81">    /** Properties 
loaded from simplelog.properties */</span>
+<span class="source-line-no">082</span><span id="line-82">    static protected 
final Properties simpleLogProps = new Properties();</span>
 <span class="source-line-no">083</span><span id="line-83"></span>
-<span class="source-line-no">084</span><span id="line-84">    /** Include the 
instance name in the log message? */</span>
-<span class="source-line-no">085</span><span id="line-85">    static volatile 
protected boolean showLogName;</span>
+<span class="source-line-no">084</span><span id="line-84">    /** The default 
format to use when formating dates */</span>
+<span class="source-line-no">085</span><span id="line-85">    static protected 
final String DEFAULT_DATE_TIME_FORMAT = "yyyy/MM/dd HH:mm:ss:SSS zzz";</span>
 <span class="source-line-no">086</span><span id="line-86"></span>
-<span class="source-line-no">087</span><span id="line-87">    /**</span>
-<span class="source-line-no">088</span><span id="line-88">     * Include the 
short name (last component) of the logger in the log</span>
-<span class="source-line-no">089</span><span id="line-89">     * message. 
Defaults to true - otherwise we'll be lost in a flood of</span>
-<span class="source-line-no">090</span><span id="line-90">     * messages 
without knowing who sends them.</span>
-<span class="source-line-no">091</span><span id="line-91">     */</span>
-<span class="source-line-no">092</span><span id="line-92">    static volatile 
protected boolean showShortName = true;</span>
-<span class="source-line-no">093</span><span id="line-93"></span>
-<span class="source-line-no">094</span><span id="line-94">    /** Include the 
current time in the log message */</span>
-<span class="source-line-no">095</span><span id="line-95">    static volatile 
protected boolean showDateTime;</span>
+<span class="source-line-no">087</span><span id="line-87">    /** Include the 
instance name in the log message? */</span>
+<span class="source-line-no">088</span><span id="line-88">    static volatile 
protected boolean showLogName;</span>
+<span class="source-line-no">089</span><span id="line-89"></span>
+<span class="source-line-no">090</span><span id="line-90">    /**</span>
+<span class="source-line-no">091</span><span id="line-91">     * Include the 
short name (last component) of the logger in the log</span>
+<span class="source-line-no">092</span><span id="line-92">     * message. 
Defaults to true - otherwise we'll be lost in a flood of</span>
+<span class="source-line-no">093</span><span id="line-93">     * messages 
without knowing who sends them.</span>
+<span class="source-line-no">094</span><span id="line-94">     */</span>
+<span class="source-line-no">095</span><span id="line-95">    static volatile 
protected boolean showShortName = true;</span>
 <span class="source-line-no">096</span><span id="line-96"></span>
-<span class="source-line-no">097</span><span id="line-97">    /** The date and 
time format to use in the log message */</span>
-<span class="source-line-no">098</span><span id="line-98">    static volatile 
protected String dateTimeFormat = DEFAULT_DATE_TIME_FORMAT;</span>
+<span class="source-line-no">097</span><span id="line-97">    /** Include the 
current time in the log message */</span>
+<span class="source-line-no">098</span><span id="line-98">    static volatile 
protected boolean showDateTime;</span>
 <span class="source-line-no">099</span><span id="line-99"></span>
-<span class="source-line-no">100</span><span id="line-100">    /**</span>
-<span class="source-line-no">101</span><span id="line-101">     * Used to 
format times.</span>
-<span class="source-line-no">102</span><span id="line-102">     * 
&lt;p&gt;</span>
-<span class="source-line-no">103</span><span id="line-103">     * Any code 
that accesses this object should first obtain a lock on it,</span>
-<span class="source-line-no">104</span><span id="line-104">     * that is, use 
synchronized(dateFormatter); this requirement was introduced</span>
-<span class="source-line-no">105</span><span id="line-105">     * in 1.1.1 to 
fix an existing thread safety bug (SimpleDateFormat.format</span>
-<span class="source-line-no">106</span><span id="line-106">     * is not 
thread-safe).</span>
-<span class="source-line-no">107</span><span id="line-107">     * 
&lt;/p&gt;</span>
-<span class="source-line-no">108</span><span id="line-108">     */</span>
-<span class="source-line-no">109</span><span id="line-109">    static 
protected DateFormat dateFormatter;</span>
-<span class="source-line-no">110</span><span id="line-110"></span>
-<span class="source-line-no">111</span><span id="line-111">    /** "Trace" 
level logging. */</span>
-<span class="source-line-no">112</span><span id="line-112">    public static 
final int LOG_LEVEL_TRACE  = 1;</span>
-<span class="source-line-no">113</span><span id="line-113">    /** "Debug" 
level logging. */</span>
-<span class="source-line-no">114</span><span id="line-114">    public static 
final int LOG_LEVEL_DEBUG  = 2;</span>
-<span class="source-line-no">115</span><span id="line-115">    /** "Info" 
level logging. */</span>
-<span class="source-line-no">116</span><span id="line-116">    public static 
final int LOG_LEVEL_INFO   = 3;</span>
-<span class="source-line-no">117</span><span id="line-117">    /** "Warn" 
level logging. */</span>
-<span class="source-line-no">118</span><span id="line-118">    public static 
final int LOG_LEVEL_WARN   = 4;</span>
-<span class="source-line-no">119</span><span id="line-119">    /** "Error" 
level logging. */</span>
-<span class="source-line-no">120</span><span id="line-120">    public static 
final int LOG_LEVEL_ERROR  = 5;</span>
-<span class="source-line-no">121</span><span id="line-121">    /** "Fatal" 
level logging. */</span>
-<span class="source-line-no">122</span><span id="line-122">    public static 
final int LOG_LEVEL_FATAL  = 6;</span>
-<span class="source-line-no">123</span><span id="line-123"></span>
-<span class="source-line-no">124</span><span id="line-124">    /** Enable all 
logging levels */</span>
-<span class="source-line-no">125</span><span id="line-125">    public static 
final int LOG_LEVEL_ALL    = LOG_LEVEL_TRACE - 1;</span>
+<span class="source-line-no">100</span><span id="line-100">    /** The date 
and time format to use in the log message */</span>
+<span class="source-line-no">101</span><span id="line-101">    static volatile 
protected String dateTimeFormat = DEFAULT_DATE_TIME_FORMAT;</span>
+<span class="source-line-no">102</span><span id="line-102"></span>
+<span class="source-line-no">103</span><span id="line-103">    /**</span>
+<span class="source-line-no">104</span><span id="line-104">     * Used to 
format times.</span>
+<span class="source-line-no">105</span><span id="line-105">     * 
&lt;p&gt;</span>
+<span class="source-line-no">106</span><span id="line-106">     * Any code 
that accesses this object should first obtain a lock on it,</span>
+<span class="source-line-no">107</span><span id="line-107">     * that is, use 
synchronized(dateFormatter); this requirement was introduced</span>
+<span class="source-line-no">108</span><span id="line-108">     * in 1.1.1 to 
fix an existing thread safety bug (SimpleDateFormat.format</span>
+<span class="source-line-no">109</span><span id="line-109">     * is not 
thread-safe).</span>
+<span class="source-line-no">110</span><span id="line-110">     * 
&lt;/p&gt;</span>
+<span class="source-line-no">111</span><span id="line-111">     */</span>
+<span class="source-line-no">112</span><span id="line-112">    static 
protected DateFormat dateFormatter;</span>
+<span class="source-line-no">113</span><span id="line-113"></span>
+<span class="source-line-no">114</span><span id="line-114">    /** "Trace" 
level logging. */</span>
+<span class="source-line-no">115</span><span id="line-115">    public static 
final int LOG_LEVEL_TRACE  = 1;</span>
+<span class="source-line-no">116</span><span id="line-116">    /** "Debug" 
level logging. */</span>
+<span class="source-line-no">117</span><span id="line-117">    public static 
final int LOG_LEVEL_DEBUG  = 2;</span>
+<span class="source-line-no">118</span><span id="line-118">    /** "Info" 
level logging. */</span>
+<span class="source-line-no">119</span><span id="line-119">    public static 
final int LOG_LEVEL_INFO   = 3;</span>
+<span class="source-line-no">120</span><span id="line-120">    /** "Warn" 
level logging. */</span>
+<span class="source-line-no">121</span><span id="line-121">    public static 
final int LOG_LEVEL_WARN   = 4;</span>
+<span class="source-line-no">122</span><span id="line-122">    /** "Error" 
level logging. */</span>
+<span class="source-line-no">123</span><span id="line-123">    public static 
final int LOG_LEVEL_ERROR  = 5;</span>
+<span class="source-line-no">124</span><span id="line-124">    /** "Fatal" 
level logging. */</span>
+<span class="source-line-no">125</span><span id="line-125">    public static 
final int LOG_LEVEL_FATAL  = 6;</span>
 <span class="source-line-no">126</span><span id="line-126"></span>
-<span class="source-line-no">127</span><span id="line-127">    /** Enable no 
logging levels */</span>
-<span class="source-line-no">128</span><span id="line-128">    public static 
final int LOG_LEVEL_OFF    = LOG_LEVEL_FATAL + 1;</span>
+<span class="source-line-no">127</span><span id="line-127">    /** Enable all 
logging levels */</span>
+<span class="source-line-no">128</span><span id="line-128">    public static 
final int LOG_LEVEL_ALL    = LOG_LEVEL_TRACE - 1;</span>
 <span class="source-line-no">129</span><span id="line-129"></span>
-<span class="source-line-no">130</span><span id="line-130">    // Initialize 
class attributes.</span>
-<span class="source-line-no">131</span><span id="line-131">    // Load 
properties file, if found.</span>
-<span class="source-line-no">132</span><span id="line-132">    // Override 
with system properties.</span>
-<span class="source-line-no">133</span><span id="line-133">    static {</span>
-<span class="source-line-no">134</span><span id="line-134">        // Add 
props from the resource simplelog.properties</span>
-<span class="source-line-no">135</span><span id="line-135">        try 
(InputStream in = getResourceAsStream("simplelog.properties")) {</span>
-<span class="source-line-no">136</span><span id="line-136">            if 
(null != in) {</span>
-<span class="source-line-no">137</span><span id="line-137">                
simpleLogProps.load(in);</span>
-<span class="source-line-no">138</span><span id="line-138">            }</span>
-<span class="source-line-no">139</span><span id="line-139">        } catch 
(final IOException ignore) {</span>
-<span class="source-line-no">140</span><span id="line-140">            // 
Ignore</span>
-<span class="source-line-no">141</span><span id="line-141">        }</span>
-<span class="source-line-no">142</span><span id="line-142"></span>
-<span class="source-line-no">143</span><span id="line-143">        showLogName 
= getBooleanProperty(systemPrefix + "showlogname", showLogName);</span>
-<span class="source-line-no">144</span><span id="line-144">        
showShortName = getBooleanProperty(systemPrefix + "showShortLogname", 
showShortName);</span>
-<span class="source-line-no">145</span><span id="line-145">        
showDateTime = getBooleanProperty(systemPrefix + "showdatetime", 
showDateTime);</span>
-<span class="source-line-no">146</span><span id="line-146"></span>
-<span class="source-line-no">147</span><span id="line-147">        if 
(showDateTime) {</span>
-<span class="source-line-no">148</span><span id="line-148">            
dateTimeFormat = getStringProperty(systemPrefix + "dateTimeFormat", 
dateTimeFormat);</span>
-<span class="source-line-no">149</span><span id="line-149">            try 
{</span>
-<span class="source-line-no">150</span><span id="line-150">                
dateFormatter = new SimpleDateFormat(dateTimeFormat);</span>
-<span class="source-line-no">151</span><span id="line-151">            } catch 
(final IllegalArgumentException e) {</span>
-<span class="source-line-no">152</span><span id="line-152">                // 
If the format pattern is invalid - use the default format</span>
-<span class="source-line-no">153</span><span id="line-153">                
dateTimeFormat = DEFAULT_DATE_TIME_FORMAT;</span>
-<span class="source-line-no">154</span><span id="line-154">                
dateFormatter = new SimpleDateFormat(dateTimeFormat);</span>
-<span class="source-line-no">155</span><span id="line-155">            }</span>
-<span class="source-line-no">156</span><span id="line-156">        }</span>
-<span class="source-line-no">157</span><span id="line-157">    }</span>
-<span class="source-line-no">158</span><span id="line-158"></span>
-<span class="source-line-no">159</span><span id="line-159">    private static 
boolean getBooleanProperty(final String name, final boolean defaultValue) 
{</span>
-<span class="source-line-no">160</span><span id="line-160">        final 
String prop = getStringProperty(name);</span>
-<span class="source-line-no">161</span><span id="line-161">        return prop 
== null ? defaultValue : Boolean.parseBoolean(prop);</span>
-<span class="source-line-no">162</span><span id="line-162">    }</span>
-<span class="source-line-no">163</span><span id="line-163"></span>
-<span class="source-line-no">164</span><span id="line-164">    /**</span>
-<span class="source-line-no">165</span><span id="line-165">     * Gets the 
thread context class loader if available. Otherwise return null.</span>
-<span class="source-line-no">166</span><span id="line-166">     *</span>
-<span class="source-line-no">167</span><span id="line-167">     * The thread 
context class loader is available if certain security conditions are met.</span>
-<span class="source-line-no">168</span><span id="line-168">     *</span>
-<span class="source-line-no">169</span><span id="line-169">     * @throws 
LogConfigurationException if a suitable class loader cannot be 
identified.</span>
-<span class="source-line-no">170</span><span id="line-170">     */</span>
-<span class="source-line-no">171</span><span id="line-171">    private static 
ClassLoader getContextClassLoader() {</span>
-<span class="source-line-no">172</span><span id="line-172">        ClassLoader 
classLoader = null;</span>
-<span class="source-line-no">173</span><span id="line-173"></span>
-<span class="source-line-no">174</span><span id="line-174">        // Get the 
thread context class loader (if there is one)</span>
-<span class="source-line-no">175</span><span id="line-175">        try {</span>
-<span class="source-line-no">176</span><span id="line-176">            
classLoader = Thread.currentThread().getContextClassLoader();</span>
-<span class="source-line-no">177</span><span id="line-177">        } catch 
(final RuntimeException e) {</span>
-<span class="source-line-no">178</span><span id="line-178">            
/**</span>
-<span class="source-line-no">179</span><span id="line-179">             * 
getContextClassLoader() throws SecurityException when the context class loader 
isn't an ancestor of the calling class's class loader, or if</span>
-<span class="source-line-no">180</span><span id="line-180">             * 
security permissions are restricted.</span>
-<span class="source-line-no">181</span><span id="line-181">             
*</span>
-<span class="source-line-no">182</span><span id="line-182">             * In 
the first case (not related), we want to ignore and keep going. We cannot help 
but also ignore the second with the logic below, but other</span>
-<span class="source-line-no">183</span><span id="line-183">             * 
calls elsewhere (to obtain a class loader) will trigger this exception where we 
can make a distinction.</span>
-<span class="source-line-no">184</span><span id="line-184">             
*/</span>
-<span class="source-line-no">185</span><span id="line-185">            // 
Capture 'e.getTargetException()' exception for details</span>
-<span class="source-line-no">186</span><span id="line-186">            // 
alternate: log 'e.getTargetException()', and pass back 'e'.</span>
-<span class="source-line-no">187</span><span id="line-187">            if (!(e 
instanceof SecurityException)) {</span>
-<span class="source-line-no">188</span><span id="line-188">                
throw new LogConfigurationException("Unexpected SecurityException", e);</span>
-<span class="source-line-no">189</span><span id="line-189">            }</span>
-<span class="source-line-no">190</span><span id="line-190">        }</span>
-<span class="source-line-no">191</span><span id="line-191"></span>
-<span class="source-line-no">192</span><span id="line-192">        if 
(classLoader == null) {</span>
-<span class="source-line-no">193</span><span id="line-193">            
classLoader = SimpleLog.class.getClassLoader();</span>
-<span class="source-line-no">194</span><span id="line-194">        }</span>
-<span class="source-line-no">195</span><span id="line-195"></span>
-<span class="source-line-no">196</span><span id="line-196">        // Return 
the selected class loader</span>
-<span class="source-line-no">197</span><span id="line-197">        return 
classLoader;</span>
-<span class="source-line-no">198</span><span id="line-198">    }</span>
-<span class="source-line-no">199</span><span id="line-199"></span>
-<span class="source-line-no">200</span><span id="line-200">    private static 
InputStream getResourceAsStream(final String name) {</span>
-<span class="source-line-no">201</span><span id="line-201">        return 
AccessController.doPrivileged((PrivilegedAction&lt;InputStream&gt;) () -&gt; 
{</span>
-<span class="source-line-no">202</span><span id="line-202">            final 
ClassLoader threadCL = getContextClassLoader();</span>
-<span class="source-line-no">203</span><span id="line-203">            if 
(threadCL != null) {</span>
-<span class="source-line-no">204</span><span id="line-204">                
return threadCL.getResourceAsStream(name);</span>
-<span class="source-line-no">205</span><span id="line-205">            }</span>
-<span class="source-line-no">206</span><span id="line-206">            return 
ClassLoader.getSystemResourceAsStream(name);</span>
-<span class="source-line-no">207</span><span id="line-207">        });</span>
-<span class="source-line-no">208</span><span id="line-208">    }</span>
-<span class="source-line-no">209</span><span id="line-209"></span>
-<span class="source-line-no">210</span><span id="line-210">    private static 
String getStringProperty(final String name) {</span>
-<span class="source-line-no">211</span><span id="line-211">        String prop 
= null;</span>
-<span class="source-line-no">212</span><span id="line-212">        try {</span>
-<span class="source-line-no">213</span><span id="line-213">            prop = 
System.getProperty(name);</span>
-<span class="source-line-no">214</span><span id="line-214">        } catch 
(final SecurityException e) {</span>
-<span class="source-line-no">215</span><span id="line-215">            // 
Ignore</span>
-<span class="source-line-no">216</span><span id="line-216">        }</span>
-<span class="source-line-no">217</span><span id="line-217">        return prop 
== null ? simpleLogProps.getProperty(name) : prop;</span>
-<span class="source-line-no">218</span><span id="line-218">    }</span>
-<span class="source-line-no">219</span><span id="line-219">    private static 
String getStringProperty(final String name, final String defaultValue) {</span>
-<span class="source-line-no">220</span><span id="line-220">        final 
String prop = getStringProperty(name);</span>
-<span class="source-line-no">221</span><span id="line-221">        return prop 
== null ? defaultValue : prop;</span>
-<span class="source-line-no">222</span><span id="line-222">    }</span>
-<span class="source-line-no">223</span><span id="line-223">    /** The name of 
this simple log instance */</span>
-<span class="source-line-no">224</span><span id="line-224">    protected 
volatile String logName;</span>
-<span class="source-line-no">225</span><span id="line-225"></span>
-<span class="source-line-no">226</span><span id="line-226">    /** The current 
log level */</span>
-<span class="source-line-no">227</span><span id="line-227">    protected 
volatile int currentLogLevel;</span>
+<span class="source-line-no">130</span><span id="line-130">    /** Enable no 
logging levels */</span>
+<span class="source-line-no">131</span><span id="line-131">    public static 
final int LOG_LEVEL_OFF    = LOG_LEVEL_FATAL + 1;</span>
+<span class="source-line-no">132</span><span id="line-132"></span>
+<span class="source-line-no">133</span><span id="line-133">    // Initialize 
class attributes.</span>
+<span class="source-line-no">134</span><span id="line-134">    // Load 
properties file, if found.</span>
+<span class="source-line-no">135</span><span id="line-135">    // Override 
with system properties.</span>
+<span class="source-line-no">136</span><span id="line-136">    static {</span>
+<span class="source-line-no">137</span><span id="line-137">        // Add 
props from the resource simplelog.properties</span>
+<span class="source-line-no">138</span><span id="line-138">        try 
(InputStream in = getResourceAsStream("simplelog.properties")) {</span>
+<span class="source-line-no">139</span><span id="line-139">            if 
(null != in) {</span>
+<span class="source-line-no">140</span><span id="line-140">                
simpleLogProps.load(in);</span>
+<span class="source-line-no">141</span><span id="line-141">            }</span>
+<span class="source-line-no">142</span><span id="line-142">        } catch 
(final IOException ignore) {</span>
+<span class="source-line-no">143</span><span id="line-143">            // 
Ignore</span>
+<span class="source-line-no">144</span><span id="line-144">        }</span>
+<span class="source-line-no">145</span><span id="line-145"></span>
+<span class="source-line-no">146</span><span id="line-146">        showLogName 
= getBooleanProperty(systemPrefix + "showlogname", showLogName);</span>
+<span class="source-line-no">147</span><span id="line-147">        
showShortName = getBooleanProperty(systemPrefix + "showShortLogname", 
showShortName);</span>
+<span class="source-line-no">148</span><span id="line-148">        
showDateTime = getBooleanProperty(systemPrefix + "showdatetime", 
showDateTime);</span>
+<span class="source-line-no">149</span><span id="line-149"></span>
+<span class="source-line-no">150</span><span id="line-150">        if 
(showDateTime) {</span>
+<span class="source-line-no">151</span><span id="line-151">            
dateTimeFormat = getStringProperty(systemPrefix + "dateTimeFormat", 
dateTimeFormat);</span>
+<span class="source-line-no">152</span><span id="line-152">            try 
{</span>
+<span class="source-line-no">153</span><span id="line-153">                
dateFormatter = new SimpleDateFormat(dateTimeFormat);</span>
+<span class="source-line-no">154</span><span id="line-154">            } catch 
(final IllegalArgumentException e) {</span>
+<span class="source-line-no">155</span><span id="line-155">                // 
If the format pattern is invalid - use the default format</span>
+<span class="source-line-no">156</span><span id="line-156">                
dateTimeFormat = DEFAULT_DATE_TIME_FORMAT;</span>
+<span class="source-line-no">157</span><span id="line-157">                
dateFormatter = new SimpleDateFormat(dateTimeFormat);</span>
+<span class="source-line-no">158</span><span id="line-158">            }</span>
+<span class="source-line-no">159</span><span id="line-159">        }</span>
+<span class="source-line-no">160</span><span id="line-160">    }</span>
+<span class="source-line-no">161</span><span id="line-161"></span>
+<span class="source-line-no">162</span><span id="line-162">    private static 
boolean getBooleanProperty(final String name, final boolean defaultValue) 
{</span>
+<span class="source-line-no">163</span><span id="line-163">        final 
String prop = getStringProperty(name);</span>
+<span class="source-line-no">164</span><span id="line-164">        return prop 
== null ? defaultValue : Boolean.parseBoolean(prop);</span>
+<span class="source-line-no">165</span><span id="line-165">    }</span>
+<span class="source-line-no">166</span><span id="line-166"></span>
+<span class="source-line-no">167</span><span id="line-167">    /**</span>
+<span class="source-line-no">168</span><span id="line-168">     * Gets the 
thread context class loader if available. Otherwise return null.</span>
+<span class="source-line-no">169</span><span id="line-169">     *</span>
+<span class="source-line-no">170</span><span id="line-170">     * The thread 
context class loader is available if certain security conditions are met.</span>
+<span class="source-line-no">171</span><span id="line-171">     *</span>
+<span class="source-line-no">172</span><span id="line-172">     * @throws 
LogConfigurationException if a suitable class loader cannot be 
identified.</span>
+<span class="source-line-no">173</span><span id="line-173">     */</span>
+<span class="source-line-no">174</span><span id="line-174">    private static 
ClassLoader getContextClassLoader() {</span>
+<span class="source-line-no">175</span><span id="line-175">        ClassLoader 
classLoader = null;</span>
+<span class="source-line-no">176</span><span id="line-176"></span>
+<span class="source-line-no">177</span><span id="line-177">        // Get the 
thread context class loader (if there is one)</span>
+<span class="source-line-no">178</span><span id="line-178">        try {</span>
+<span class="source-line-no">179</span><span id="line-179">            
classLoader = Thread.currentThread().getContextClassLoader();</span>
+<span class="source-line-no">180</span><span id="line-180">        } catch 
(final RuntimeException e) {</span>
+<span class="source-line-no">181</span><span id="line-181">            
/**</span>
+<span class="source-line-no">182</span><span id="line-182">             * 
getContextClassLoader() throws SecurityException when the context class loader 
isn't an ancestor of the calling class's class loader, or if</span>
+<span class="source-line-no">183</span><span id="line-183">             * 
security permissions are restricted.</span>
+<span class="source-line-no">184</span><span id="line-184">             
*</span>
+<span class="source-line-no">185</span><span id="line-185">             * In 
the first case (not related), we want to ignore and keep going. We cannot help 
but also ignore the second with the logic below, but other</span>
+<span class="source-line-no">186</span><span id="line-186">             * 
calls elsewhere (to obtain a class loader) will trigger this exception where we 
can make a distinction.</span>
+<span class="source-line-no">187</span><span id="line-187">             
*/</span>
+<span class="source-line-no">188</span><span id="line-188">            // 
Capture 'e.getTargetException()' exception for details</span>
+<span class="source-line-no">189</span><span id="line-189">            // 
alternate: log 'e.getTargetException()', and pass back 'e'.</span>
+<span class="source-line-no">190</span><span id="line-190">            if (!(e 
instanceof SecurityException)) {</span>
+<span class="source-line-no">191</span><span id="line-191">                
throw new LogConfigurationException("Unexpected SecurityException", e);</span>
+<span class="source-line-no">192</span><span id="line-192">            }</span>
+<span class="source-line-no">193</span><span id="line-193">        }</span>
+<span class="source-line-no">194</span><span id="line-194"></span>
+<span class="source-line-no">195</span><span id="line-195">        if 
(classLoader == null) {</span>
+<span class="source-line-no">196</span><span id="line-196">            
classLoader = SimpleLog.class.getClassLoader();</span>
+<span class="source-line-no">197</span><span id="line-197">        }</span>
+<span class="source-line-no">198</span><span id="line-198"></span>
+<span class="source-line-no">199</span><span id="line-199">        // Return 
the selected class loader</span>
+<span class="source-line-no">200</span><span id="line-200">        return 
classLoader;</span>
+<span class="source-line-no">201</span><span id="line-201">    }</span>
+<span class="source-line-no">202</span><span id="line-202"></span>
+<span class="source-line-no">203</span><span id="line-203">    private static 
InputStream getResourceAsStream(final String name) {</span>
+<span class="source-line-no">204</span><span id="line-204">        return 
AccessController.doPrivileged((PrivilegedAction&lt;InputStream&gt;) () -&gt; 
{</span>
+<span class="source-line-no">205</span><span id="line-205">            final 
ClassLoader threadCL = getContextClassLoader();</span>
+<span class="source-line-no">206</span><span id="line-206">            if 
(threadCL != null) {</span>
+<span class="source-line-no">207</span><span id="line-207">                
return threadCL.getResourceAsStream(name);</span>
+<span class="source-line-no">208</span><span id="line-208">            }</span>
+<span class="source-line-no">209</span><span id="line-209">            return 
ClassLoader.getSystemResourceAsStream(name);</span>
+<span class="source-line-no">210</span><span id="line-210">        });</span>
+<span class="source-line-no">211</span><span id="line-211">    }</span>
+<span class="source-line-no">212</span><span id="line-212"></span>
+<span class="source-line-no">213</span><span id="line-213">    private static 
String getStringProperty(final String name) {</span>
+<span class="source-line-no">214</span><span id="line-214">        String prop 
= null;</span>
+<span class="source-line-no">215</span><span id="line-215">        try {</span>
+<span class="source-line-no">216</span><span id="line-216">            prop = 
System.getProperty(name);</span>
+<span class="source-line-no">217</span><span id="line-217">        } catch 
(final SecurityException e) {</span>
+<span class="source-line-no">218</span><span id="line-218">            // 
Ignore</span>
+<span class="source-line-no">219</span><span id="line-219">        }</span>
+<span class="source-line-no">220</span><span id="line-220">        return prop 
== null ? simpleLogProps.getProperty(name) : prop;</span>
+<span class="source-line-no">221</span><span id="line-221">    }</span>
+<span class="source-line-no">222</span><span id="line-222">    private static 
String getStringProperty(final String name, final String defaultValue) {</span>
+<span class="source-line-no">223</span><span id="line-223">        final 
String prop = getStringProperty(name);</span>
+<span class="source-line-no">224</span><span id="line-224">        return prop 
== null ? defaultValue : prop;</span>
+<span class="source-line-no">225</span><span id="line-225">    }</span>
+<span class="source-line-no">226</span><span id="line-226">    /** The name of 
this simple log instance */</span>
+<span class="source-line-no">227</span><span id="line-227">    protected 
volatile String logName;</span>
 <span class="source-line-no">228</span><span id="line-228"></span>
-<span class="source-line-no">229</span><span id="line-229">    /** The short 
name of this simple log instance */</span>
-<span class="source-line-no">230</span><span id="line-230">    private 
volatile String shortLogName;</span>
+<span class="source-line-no">229</span><span id="line-229">    /** The current 
log level */</span>
+<span class="source-line-no">230</span><span id="line-230">    protected 
volatile int currentLogLevel;</span>
 <span class="source-line-no">231</span><span id="line-231"></span>
-<span class="source-line-no">232</span><span id="line-232">    /**</span>
-<span class="source-line-no">233</span><span id="line-233">     * Constructs a 
simple log with given name.</span>
-<span class="source-line-no">234</span><span id="line-234">     *</span>
-<span class="source-line-no">235</span><span id="line-235">     * @param name 
log name</span>
-<span class="source-line-no">236</span><span id="line-236">     */</span>
-<span class="source-line-no">237</span><span id="line-237">    public 
SimpleLog(String name) {</span>
-<span class="source-line-no">238</span><span id="line-238">        logName = 
name;</span>
-<span class="source-line-no">239</span><span id="line-239"></span>
-<span class="source-line-no">240</span><span id="line-240">        // Set 
initial log level</span>
-<span class="source-line-no">241</span><span id="line-241">        // Used to 
be: set default log level to ERROR</span>
-<span class="source-line-no">242</span><span id="line-242">        // IMHO it 
should be lower, but at least info (costin).</span>
-<span class="source-line-no">243</span><span id="line-243">        
setLevel(SimpleLog.LOG_LEVEL_INFO);</span>
-<span class="source-line-no">244</span><span id="line-244"></span>
-<span class="source-line-no">245</span><span id="line-245">        // Set log 
level from properties</span>
-<span class="source-line-no">246</span><span id="line-246">        String lvl 
= getStringProperty(systemPrefix + "log." + logName);</span>
-<span class="source-line-no">247</span><span id="line-247">        int i = 
String.valueOf(name).lastIndexOf(".");</span>
-<span class="source-line-no">248</span><span id="line-248">        while(null 
== lvl &amp;&amp; i &gt; -1) {</span>
-<span class="source-line-no">249</span><span id="line-249">            name = 
name.substring(0,i);</span>
-<span class="source-line-no">250</span><span id="line-250">            lvl = 
getStringProperty(systemPrefix + "log." + name);</span>
-<span class="source-line-no">251</span><span id="line-251">            i = 
String.valueOf(name).lastIndexOf(".");</span>
-<span class="source-line-no">252</span><span id="line-252">        }</span>
-<span class="source-line-no">253</span><span id="line-253"></span>
-<span class="source-line-no">254</span><span id="line-254">        if (null == 
lvl) {</span>
-<span class="source-line-no">255</span><span id="line-255">            lvl =  
getStringProperty(systemPrefix + "defaultlog");</span>
-<span class="source-line-no">256</span><span id="line-256">        }</span>
-<span class="source-line-no">257</span><span id="line-257"></span>
-<span class="source-line-no">258</span><span id="line-258">        if 
("all".equalsIgnoreCase(lvl)) {</span>
-<span class="source-line-no">259</span><span id="line-259">            
setLevel(SimpleLog.LOG_LEVEL_ALL);</span>
-<span class="source-line-no">260</span><span id="line-260">        } else if 
("trace".equalsIgnoreCase(lvl)) {</span>
-<span class="source-line-no">261</span><span id="line-261">            
setLevel(SimpleLog.LOG_LEVEL_TRACE);</span>
-<span class="source-line-no">262</span><span id="line-262">        } else if 
("debug".equalsIgnoreCase(lvl)) {</span>
-<span class="source-line-no">263</span><span id="line-263">            
setLevel(SimpleLog.LOG_LEVEL_DEBUG);</span>
-<span class="source-line-no">264</span><span id="line-264">        } else if 
("info".equalsIgnoreCase(lvl)) {</span>
-<span class="source-line-no">265</span><span id="line-265">            
setLevel(SimpleLog.LOG_LEVEL_INFO);</span>
-<span class="source-line-no">266</span><span id="line-266">        } else if 
("warn".equalsIgnoreCase(lvl)) {</span>
-<span class="source-line-no">267</span><span id="line-267">            
setLevel(SimpleLog.LOG_LEVEL_WARN);</span>
-<span class="source-line-no">268</span><span id="line-268">        } else if 
("error".equalsIgnoreCase(lvl)) {</span>
-<span class="source-line-no">269</span><span id="line-269">            
setLevel(SimpleLog.LOG_LEVEL_ERROR);</span>
-<span class="source-line-no">270</span><span id="line-270">        } else if 
("fatal".equalsIgnoreCase(lvl)) {</span>
-<span class="source-line-no">271</span><span id="line-271">            
setLevel(SimpleLog.LOG_LEVEL_FATAL);</span>
-<span class="source-line-no">272</span><span id="line-272">        } else if 
("off".equalsIgnoreCase(lvl)) {</span>
-<span class="source-line-no">273</span><span id="line-273">            
setLevel(SimpleLog.LOG_LEVEL_OFF);</span>
-<span class="source-line-no">274</span><span id="line-274">        }</span>
-<span class="source-line-no">275</span><span id="line-275">    }</span>
-<span class="source-line-no">276</span><span id="line-276"></span>
-<span class="source-line-no">277</span><span id="line-277">    /**</span>
-<span class="source-line-no">278</span><span id="line-278">     * Logs a 
message with</span>
-<span class="source-line-no">279</span><span id="line-279">     * {@code 
org.apache.commons.logging.impl.SimpleLog.LOG_LEVEL_DEBUG}.</span>
-<span class="source-line-no">280</span><span id="line-280">     *</span>
-<span class="source-line-no">281</span><span id="line-281">     * @param 
message to log</span>
-<span class="source-line-no">282</span><span id="line-282">     * @see 
org.apache.commons.logging.Log#debug(Object)</span>
-<span class="source-line-no">283</span><span id="line-283">     */</span>
-<span class="source-line-no">284</span><span id="line-284">    @Override</span>
-<span class="source-line-no">285</span><span id="line-285">    public final 
void debug(final Object message) {</span>
-<span class="source-line-no">286</span><span id="line-286">        if 
(isLevelEnabled(SimpleLog.LOG_LEVEL_DEBUG)) {</span>
-<span class="source-line-no">287</span><span id="line-287">            
log(SimpleLog.LOG_LEVEL_DEBUG, message, null);</span>
-<span class="source-line-no">288</span><span id="line-288">        }</span>
-<span class="source-line-no">289</span><span id="line-289">    }</span>
-<span class="source-line-no">290</span><span id="line-290"></span>
-<span class="source-line-no">291</span><span id="line-291">    /**</span>
-<span class="source-line-no">292</span><span id="line-292">     * Logs a 
message with</span>
-<span class="source-line-no">293</span><span id="line-293">     * {@code 
org.apache.commons.logging.impl.SimpleLog.LOG_LEVEL_DEBUG}.</span>
-<span class="source-line-no">294</span><span id="line-294">     *</span>
-<span class="source-line-no">295</span><span id="line-295">     * @param 
message to log</span>
-<span class="source-line-no">296</span><span id="line-296">     * @param t log 
this cause</span>
-<span class="source-line-no">297</span><span id="line-297">     * @see 
org.apache.commons.logging.Log#debug(Object, Throwable)</span>
-<span class="source-line-no">298</span><span id="line-298">     */</span>
-<span class="source-line-no">299</span><span id="line-299">    @Override</span>
-<span class="source-line-no">300</span><span id="line-300">    public final 
void debug(final Object message, final Throwable t) {</span>
-<span class="source-line-no">301</span><span id="line-301">        if 
(isLevelEnabled(SimpleLog.LOG_LEVEL_DEBUG)) {</span>
-<span class="source-line-no">302</span><span id="line-302">            
log(SimpleLog.LOG_LEVEL_DEBUG, message, t);</span>
-<span class="source-line-no">303</span><span id="line-303">        }</span>
-<span class="source-line-no">304</span><span id="line-304">    }</span>
-<span class="source-line-no">305</span><span id="line-305"></span>
-<span class="source-line-no">306</span><span id="line-306">    /**</span>
-<span class="source-line-no">307</span><span id="line-307">     * Logs a 
message with {@code 
org.apache.commons.logging.impl.SimpleLog.LOG_LEVEL_ERROR}.</span>
-<span class="source-line-no">308</span><span id="line-308">     *</span>
-<span class="source-line-no">309</span><span id="line-309">     * @param 
message to log</span>
-<span class="source-line-no">310</span><span id="line-310">     * @see 
org.apache.commons.logging.Log#error(Object)</span>
-<span class="source-line-no">311</span><span id="line-311">     */</span>
-<span class="source-line-no">312</span><span id="line-312">    @Override</span>
-<span class="source-line-no">313</span><span id="line-313">    public final 
void error(final Object message) {</span>
-<span class="source-line-no">314</span><span id="line-314">        if 
(isLevelEnabled(SimpleLog.LOG_LEVEL_ERROR)) {</span>
-<span class="source-line-no">315</span><span id="line-315">            
log(SimpleLog.LOG_LEVEL_ERROR, message, null);</span>
-<span class="source-line-no">316</span><span id="line-316">        }</span>
-<span class="source-line-no">317</span><span id="line-317">    }</span>
-<span class="source-line-no">318</span><span id="line-318"></span>
-<span class="source-line-no">319</span><span id="line-319">    /**</span>
-<span class="source-line-no">320</span><span id="line-320">     * Logs a 
message with {@code 
org.apache.commons.logging.impl.SimpleLog.LOG_LEVEL_ERROR}.</span>
-<span class="source-line-no">321</span><span id="line-321">     *</span>
-<span class="source-line-no">322</span><span id="line-322">     * @param 
message to log</span>
-<span class="source-line-no">323</span><span id="line-323">     * @param t log 
this cause</span>
-<span class="source-line-no">324</span><span id="line-324">     * @see 
org.apache.commons.logging.Log#error(Object, Throwable)</span>
-<span class="source-line-no">325</span><span id="line-325">     */</span>
-<span class="source-line-no">326</span><span id="line-326">    @Override</span>
-<span class="source-line-no">327</span><span id="line-327">    public final 
void error(final Object message, final Throwable t) {</span>
-<span class="source-line-no">328</span><span id="line-328">        if 
(isLevelEnabled(SimpleLog.LOG_LEVEL_ERROR)) {</span>
-<span class="source-line-no">329</span><span id="line-329">            
log(SimpleLog.LOG_LEVEL_ERROR, message, t);</span>
-<span class="source-line-no">330</span><span id="line-330">        }</span>
-<span class="source-line-no">331</span><span id="line-331">    }</span>
-<span class="source-line-no">332</span><span id="line-332"></span>
-<span class="source-line-no">333</span><span id="line-333">    /**</span>
-<span class="source-line-no">334</span><span id="line-334">     * Log a 
message with {@code 
org.apache.commons.logging.impl.SimpleLog.LOG_LEVEL_FATAL}.</span>
-<span class="source-line-no">335</span><span id="line-335">     *</span>
-<span class="source-line-no">336</span><span id="line-336">     * @param 
message to log</span>
-<span class="source-line-no">337</span><span id="line-337">     * @see 
org.apache.commons.logging.Log#fatal(Object)</span>
-<span class="source-line-no">338</span><span id="line-338">     */</span>
-<span class="source-line-no">339</span><span id="line-339">    @Override</span>
-<span class="source-line-no">340</span><span id="line-340">    public final 
void fatal(final Object message) {</span>
-<span class="source-line-no">341</span><span id="line-341">        if 
(isLevelEnabled(SimpleLog.LOG_LEVEL_FATAL)) {</span>
-<span class="source-line-no">342</span><span id="line-342">            
log(SimpleLog.LOG_LEVEL_FATAL, message, null);</span>
-<span class="source-line-no">343</span><span id="line-343">        }</span>
-<span class="source-line-no">344</span><span id="line-344">    }</span>
-<span class="source-line-no">345</span><span id="line-345"></span>
-<span class="source-line-no">346</span><span id="line-346">    /**</span>
-<span class="source-line-no">347</span><span id="line-347">     * Logs a 
message with {@code 
org.apache.commons.logging.impl.SimpleLog.LOG_LEVEL_FATAL}.</span>
-<span class="source-line-no">348</span><span id="line-348">     *</span>
-<span class="source-line-no">349</span><span id="line-349">     * @param 
message to log</span>
-<span class="source-line-no">350</span><span id="line-350">     * @param t log 
this cause</span>
-<span class="source-line-no">351</span><span id="line-351">     * @see 
org.apache.commons.logging.Log#fatal(Object, Throwable)</span>
-<span class="source-line-no">352</span><span id="line-352">     */</span>
-<span class="source-line-no">353</span><span id="line-353">    @Override</span>
-<span class="source-line-no">354</span><span id="line-354">    public final 
void fatal(final Object message, final Throwable t) {</span>
-<span class="source-line-no">355</span><span id="line-355">        if 
(isLevelEnabled(SimpleLog.LOG_LEVEL_FATAL)) {</span>
-<span class="source-line-no">356</span><span id="line-356">            
log(SimpleLog.LOG_LEVEL_FATAL, message, t);</span>
-<span class="source-line-no">357</span><span id="line-357">        }</span>
-<span class="source-line-no">358</span><span id="line-358">    }</span>
-<span class="source-line-no">359</span><span id="line-359"></span>
-<span class="source-line-no">360</span><span id="line-360">    /**</span>
-<span class="source-line-no">361</span><span id="line-361">     * Gets logging 
level.</span>
-<span class="source-line-no">362</span><span id="line-362">     *</span>
-<span class="source-line-no">363</span><span id="line-363">     * @return  
logging level.</span>
-<span class="source-line-no">364</span><span id="line-364">     */</span>
-<span class="source-line-no">365</span><span id="line-365">    public int 
getLevel() {</span>
-<span class="source-line-no">366</span><span id="line-366">        return 
currentLogLevel;</span>
-<span class="source-line-no">367</span><span id="line-367">    }</span>
-<span class="source-line-no">368</span><span id="line-368"></span>
-<span class="source-line-no">369</span><span id="line-369">    /**</span>
-<span class="source-line-no">370</span><span id="line-370">     * Logs a 
message with {@code 
org.apache.commons.logging.impl.SimpleLog.LOG_LEVEL_INFO}.</span>
-<span class="source-line-no">371</span><span id="line-371">     *</span>
-<span class="source-line-no">372</span><span id="line-372">     * @param 
message to log</span>
-<span class="source-line-no">373</span><span id="line-373">     * @see 
org.apache.commons.logging.Log#info(Object)</span>
-<span class="source-line-no">374</span><span id="line-374">     */</span>
-<span class="source-line-no">375</span><span id="line-375">    @Override</span>
-<span class="source-line-no">376</span><span id="line-376">    public final 
void info(final Object message) {</span>
-<span class="source-line-no">377</span><span id="line-377">        if 
(isLevelEnabled(SimpleLog.LOG_LEVEL_INFO)) {</span>
-<span class="source-line-no">378</span><span id="line-378">            
log(SimpleLog.LOG_LEVEL_INFO,message,null);</span>
-<span class="source-line-no">379</span><span id="line-379">        }</span>
-<span class="source-line-no">380</span><span id="line-380">    }</span>
-<span class="source-line-no">381</span><span id="line-381"></span>
-<span class="source-line-no">382</span><span id="line-382">    /**</span>
-<span class="source-line-no">383</span><span id="line-383">     * Logs a 
message with {@code 
org.apache.commons.logging.impl.SimpleLog.LOG_LEVEL_INFO}.</span>
-<span class="source-line-no">384</span><span id="line-384">     *</span>
-<span class="source-line-no">385</span><span id="line-385">     * @param 
message to log</span>
-<span class="source-line-no">386</span><span id="line-386">     * @param t log 
this cause</span>
-<span class="source-line-no">387</span><span id="line-387">     * @see 
org.apache.commons.logging.Log#info(Object, Throwable)</span>
-<span class="source-line-no">388</span><span id="line-388">     */</span>
-<span class="source-line-no">389</span><span id="line-389">    @Override</span>
-<span class="source-line-no">390</span><span id="line-390">    public final 
void info(final Object message, final Throwable t) {</span>
-<span class="source-line-no">391</span><span id="line-391">        if 
(isLevelEnabled(SimpleLog.LOG_LEVEL_INFO)) {</span>
-<span class="source-line-no">392</span><span id="line-392">            
log(SimpleLog.LOG_LEVEL_INFO, message, t);</span>
-<span class="source-line-no">393</span><span id="line-393">        }</span>
-<span class="source-line-no">394</span><span id="line-394">    }</span>
-<span class="source-line-no">395</span><span id="line-395"></span>
-<span class="source-line-no">396</span><span id="line-396">    /**</span>
-<span class="source-line-no">397</span><span id="line-397">     * Are debug 
messages currently enabled?</span>
-<span class="source-line-no">398</span><span id="line-398">     * 
&lt;p&gt;</span>
-<span class="source-line-no">399</span><span id="line-399">     * This allows 
expensive operations such as {@code String}</span>
-<span class="source-line-no">400</span><span id="line-400">     * 
concatenation to be avoided when the message will be ignored by the</span>
-<span class="source-line-no">401</span><span id="line-401">     * 
logger.</span>
-<span class="source-line-no">402</span><span id="line-402">     */</span>
-<span class="source-line-no">403</span><span id="line-403">    @Override</span>
-<span class="source-line-no">404</span><span id="line-404">    public final 
boolean isDebugEnabled() {</span>
-<span class="source-line-no">405</span><span id="line-405">        return 
isLevelEnabled(SimpleLog.LOG_LEVEL_DEBUG);</span>
-<span class="source-line-no">406</span><span id="line-406">    }</span>
-<span class="source-line-no">407</span><span id="line-407"></span>
-<span class="source-line-no">408</span><span id="line-408">    /**</span>
-<span class="source-line-no">409</span><span id="line-409">     * Are error 
messages currently enabled?</span>
-<span class="source-line-no">410</span><span id="line-410">     * 
&lt;p&gt;</span>
-<span class="source-line-no">411</span><span id="line-411">     * This allows 
expensive operations such as {@code String}</span>
-<span class="source-line-no">412</span><span id="line-412">     * 
concatenation to be avoided when the message will be ignored by the</span>
-<span class="source-line-no">413</span><span id="line-413">     * 
logger.</span>
-<span class="source-line-no">414</span><span id="line-414">     */</span>
-<span class="source-line-no">415</span><span id="line-415">    @Override</span>
-<span class="source-line-no">416</span><span id="line-416">    public final 
boolean isErrorEnabled() {</span>
-<span class="source-line-no">417</span><span id="line-417">        return 
isLevelEnabled(SimpleLog.LOG_LEVEL_ERROR);</span>
-<span class="source-line-no">418</span><span id="line-418">    }</span>
-<span class="source-line-no">419</span><span id="line-419"></span>
-<span class="source-line-no">420</span><span id="line-420">    /**</span>
-<span class="source-line-no">421</span><span id="line-421">     * Are fatal 
messages currently enabled?</span>
-<span class="source-line-no">422</span><span id="line-422">     * 
&lt;p&gt;</span>
-<span class="source-line-no">423</span><span id="line-423">     * This allows 
expensive operations such as {@code String}</span>
-<span class="source-line-no">424</span><span id="line-424">     * 
concatenation to be avoided when the message will be ignored by the</span>
-<span class="source-line-no">425</span><span id="line-425">     * 
logger.</span>
-<span class="source-line-no">426</span><span id="line-426">     */</span>
-<span class="source-line-no">427</span><span id="line-427">    @Override</span>
-<span class="source-line-no">428</span><span id="line-428">    public final 
boolean isFatalEnabled() {</span>
-<span class="source-line-no">429</span><span id="line-429">        return 
isLevelEnabled(SimpleLog.LOG_LEVEL_FATAL);</span>
-<span class="source-line-no">430</span><span id="line-430">    }</span>
-<span class="source-line-no">431</span><span id="line-431"></span>
-<span class="source-line-no">432</span><span id="line-432">    /**</span>
-<span class="source-line-no">433</span><span id="line-433">     * Are info 
messages currently enabled?</span>
-<span class="source-line-no">434</span><span id="line-434">     * 
&lt;p&gt;</span>
-<span class="source-line-no">435</span><span id="line-435">     * This allows 
expensive operations such as {@code String}</span>
-<span class="source-line-no">436</span><span id="line-436">     * 
concatenation to be avoided when the message will be ignored by the</span>
-<span class="source-line-no">437</span><span id="line-437">     * 
logger.</span>
-<span class="source-line-no">438</span><span id="line-438">     */</span>
-<span class="source-line-no">439</span><span id="line-439">    @Override</span>
-<span class="source-line-no">440</span><span id="line-440">    public final 
boolean isInfoEnabled() {</span>
-<span class="source-line-no">441</span><span id="line-441">        return 
isLevelEnabled(SimpleLog.LOG_LEVEL_INFO);</span>
-<span class="source-line-no">442</span><span id="line-442">    }</span>
-<span class="source-line-no">443</span><span id="line-443"></span>
-<span class="source-line-no">444</span><span id="line-444">    /**</span>
-<span class="source-line-no">445</span><span id="line-445">     * Tests 
whether the given log level currently enabled.</span>
-<span class="source-line-no">446</span><span id="line-446">     *</span>
-<span class="source-line-no">447</span><span id="line-447">     * @param 
logLevel is this level enabled?</span>
-<span class="source-line-no">448</span><span id="line-448">     * @return 
whether the given log level currently enabled.</span>
-<span class="source-line-no">449</span><span id="line-449">     */</span>
-<span class="source-line-no">450</span><span id="line-450">    protected 
boolean isLevelEnabled(final int logLevel) {</span>
-<span class="source-line-no">451</span><span id="line-451">        // log 
level are numerically ordered so can use simple numeric</span>
-<span class="source-line-no">452</span><span id="line-452">        // 
comparison</span>
-<span class="source-line-no">453</span><span id="line-453">        return 
logLevel &gt;= currentLogLevel;</span>
-<span class="source-line-no">454</span><span id="line-454">    }</span>
-<span class="source-line-no">455</span><span id="line-455"></span>
-<span class="source-line-no">456</span><span id="line-456">    /**</span>
-<span class="source-line-no">457</span><span id="line-457">     * Are trace 
messages currently enabled?</span>
-<span class="source-line-no">458</span><span id="line-458">     * 
&lt;p&gt;</span>
-<span class="source-line-no">459</span><span id="line-459">     * This allows 
expensive operations such as {@code String}</span>
-<span class="source-line-no">460</span><span id="line-460">     * 
concatenation to be avoided when the message will be ignored by the</span>
-<span class="source-line-no">461</span><span id="line-461">     * 
logger.</span>
-<span class="source-line-no">462</span><span id="line-462">     */</span>
-<span class="source-line-no">463</span><span id="line-463">    @Override</span>
-<span class="source-line-no">464</span><span id="line-464">    public final 
boolean isTraceEnabled() {</span>
-<span class="source-line-no">465</span><span id="line-465">        return 
isLevelEnabled(SimpleLog.LOG_LEVEL_TRACE);</span>
-<span class="source-line-no">466</span><span id="line-466">    }</span>
-<span class="source-line-no">467</span><span id="line-467"></span>
-<span class="source-line-no">468</span><span id="line-468">    /**</span>
-<span class="source-line-no">469</span><span id="line-469">     * Are warn 
messages currently enabled?</span>
-<span class="source-line-no">470</span><span id="line-470">     * 
&lt;p&gt;</span>
-<span class="source-line-no">471</span><span id="line-471">     * This allows 
expensive operations such as {@code String}</span>
-<span class="source-line-no">472</span><span id="line-472">     * 
concatenation to be avoided when the message will be ignored by the</span>
-<span class="source-line-no">473</span><span id="line-473">     * 
logger.</span>
-<span class="source-line-no">474</span><span id="line-474">     */</span>
-<span class="source-line-no">475</span><span id="line-475">    @Override</span>
-<span class="source-line-no">476</span><span id="line-476">    public final 
boolean isWarnEnabled() {</span>
-<span class="source-line-no">477</span><span id="line-477">        return 
isLevelEnabled(SimpleLog.LOG_LEVEL_WARN);</span>
-<span class="source-line-no">478</span><span id="line-478">    }</span>
-<span class="source-line-no">479</span><span id="line-479"></span>
-<span class="source-line-no">480</span><span id="line-480">    /**</span>
-<span class="source-line-no">481</span><span id="line-481">     * Do the 
actual logging.</span>
-<span class="source-line-no">482</span><span id="line-482">     * 
&lt;p&gt;</span>
-<span class="source-line-no">483</span><span id="line-483">     * This method 
assembles the message and then calls {@code write()}</span>
-<span class="source-line-no">484</span><span id="line-484">     * to cause it 
to be written.</span>
-<span class="source-line-no">485</span><span id="line-485">     *</span>
-<span class="source-line-no">486</span><span id="line-486">     * @param type 
One of the LOG_LEVEL_XXX constants defining the log level</span>
-<span class="source-line-no">487</span><span id="line-487">     * @param 
message The message itself (typically a String)</span>
-<span class="source-line-no">488</span><span id="line-488">     * @param t The 
exception whose stack trace should be logged</span>
-<span class="source-line-no">489</span><span id="line-489">     */</span>
-<span class="source-line-no">490</span><span id="line-490">    protected void 
log(final int type, final Object message, final Throwable t) {</span>
-<span class="source-line-no">491</span><span id="line-491">        // Use a 
string buffer for better performance</span>
-<span class="source-line-no">492</span><span id="line-492">        final 
StringBuilder buf = new StringBuilder();</span>
-<span class="source-line-no">493</span><span id="line-493"></span>
-<span class="source-line-no">494</span><span id="line-494">        // Append 
date-time if so configured</span>
-<span class="source-line-no">495</span><span id="line-495">        if 
(showDateTime) {</span>
-<span class="source-line-no">496</span><span id="line-496">            final 
Date now = new Date();</span>
-<span class="source-line-no">497</span><span id="line-497">            String 
dateText;</span>
-<span class="source-line-no">498</span><span id="line-498">            
synchronized (dateFormatter) {</span>
-<span class="source-line-no">499</span><span id="line-499">                
dateText = dateFormatter.format(now);</span>
-<span class="source-line-no">500</span><span id="line-500">            }</span>
-<span class="source-line-no">501</span><span id="line-501">            
buf.append(dateText);</span>
-<span class="source-line-no">502</span><span id="line-502">            
buf.append(" ");</span>
-<span class="source-line-no">503</span><span id="line-503">        }</span>
-<span class="source-line-no">504</span><span id="line-504"></span>
-<span class="source-line-no">505</span><span id="line-505">        // Append a 
readable representation of the log level</span>
-<span class="source-line-no">506</span><span id="line-506">        switch 
(type) {</span>
-<span class="source-line-no">507</span><span id="line-507">        case 
SimpleLog.LOG_LEVEL_TRACE:</span>
-<span class="source-line-no">508</span><span id="line-508">            
buf.append("[TRACE] ");</span>
-<span class="source-line-no">509</span><span id="line-509">            
break;</span>
-<span class="source-line-no">510</span><span id="line-510">        case 
SimpleLog.LOG_LEVEL_DEBUG:</span>
-<span class="source-line-no">511</span><span id="line-511">            
buf.append("[DEBUG] ");</span>
-<span class="source-line-no">512</span><span id="line-512">            
break;</span>
-<span class="source-line-no">513</span><span id="line-513">        case 
SimpleLog.LOG_LEVEL_INFO:</span>
-<span class="source-line-no">514</span><span id="line-514">            
buf.append("[INFO] ");</span>
-<span class="source-line-no">515</span><span id="line-515">            
break;</span>
-<span class="source-line-no">516</span><span id="line-516">        case 
SimpleLog.LOG_LEVEL_WARN:</span>
-<span class="source-line-no">517</span><span id="line-517">            
buf.append("[WARN] ");</span>
-<span class="source-line-no">518</span><span id="line-518">            
break;</span>
-<span class="source-line-no">519</span><span id="line-519">        case 
SimpleLog.LOG_LEVEL_ERROR:</span>
-<span class="source-line-no">520</span><span id="line-520">            
buf.append("[ERROR] ");</span>
-<span class="source-line-no">521</span><span id="line-521">            
break;</span>
-<span class="source-line-no">522</span><span id="line-522">        case 
SimpleLog.LOG_LEVEL_FATAL:</span>
-<span class="source-line-no">523</span><span id="line-523">            
buf.append("[FATAL] ");</span>
-<span class="source-line-no">524</span><span id="line-524">            
break;</span>
-<span class="source-line-no">525</span><span id="line-525">        
default:</span>
-<span class="source-line-no">526</span><span id="line-526">            // Or 
throw?</span>
-<span class="source-line-no">527</span><span id="line-527">            
buf.append("[UNDEFINED] ");</span>
-<span class="source-line-no">528</span><span id="line-528">            
break;</span>
-<span class="source-line-no">529</span><span id="line-529">        }</span>
-<span class="source-line-no">530</span><span id="line-530"></span>
-<span class="source-line-no">531</span><span id="line-531">        // Append 
the name of the log instance if so configured</span>
-<span class="source-line-no">532</span><span id="line-532">        if 
(showShortName) {</span>
-<span class="source-line-no">533</span><span id="line-533">            if 
(shortLogName == null) {</span>
-<span class="source-line-no">534</span><span id="line-534">                // 
Cut all but the last component of the name for both styles</span>
-<span class="source-line-no">535</span><span id="line-535">                
final String slName = logName.substring(logName.lastIndexOf(".") + 1);</span>
-<span class="source-line-no">536</span><span id="line-536">                
shortLogName = slName.substring(slName.lastIndexOf("/") + 1);</span>
-<span class="source-line-no">537</span><span id="line-537">            }</span>
-<span class="source-line-no">538</span><span id="line-538">            
buf.append(String.valueOf(shortLogName)).append(" - ");</span>
-<span class="source-line-no">539</span><span id="line-539">        } else if 
(showLogName) {</span>
-<span class="source-line-no">540</span><span id="line-540">            
buf.append(String.valueOf(logName)).append(" - ");</span>
-<span class="source-line-no">541</span><span id="line-541">        }</span>
-<span class="source-line-no">542</span><span id="line-542"></span>
-<span class="source-line-no">543</span><span id="line-543">        // Append 
the message</span>
-<span class="source-line-no">544</span><span id="line-544">        
buf.append(String.valueOf(message));</span>
-<span class="source-line-no">545</span><span id="line-545"></span>
-<span class="source-line-no">546</span><span id="line-546">        // Append 
stack trace if not null</span>
-<span class="source-line-no">547</span><span id="line-547">        if (t != 
null) {</span>
-<span class="source-line-no">548</span><span id="line-548">            
buf.append(" &lt;");</span>
-<span class="source-line-no">549</span><span id="line-549">            
buf.append(t.toString());</span>
-<span class="source-line-no">550</span><span id="line-550">            
buf.append("&gt;");</span>
-<span class="source-line-no">551</span><span id="line-551"></span>
-<span class="source-line-no">552</span><span id="line-552">            final 
StringWriter sw = new StringWriter(1024);</span>
-<span class="source-line-no">553</span><span id="line-553">            try 
(PrintWriter pw = new PrintWriter(sw)) {</span>
-<span class="source-line-no">554</span><span id="line-554">                
t.printStackTrace(pw);</span>
-<span class="source-line-no">555</span><span id="line-555">            }</span>
-<span class="source-line-no">556</span><span id="line-556">            
buf.append(sw.toString());</span>
-<span class="source-line-no">557</span><span id="line-557">        }</span>
-<span class="source-line-no">558</span><span id="line-558"></span>
-<span class="source-line-no">559</span><span id="line-559">        // Print to 
the appropriate destination</span>
-<span class="source-line-no">560</span><span id="line-560">        
write(buf);</span>
-<span class="source-line-no">561</span><span id="line-561">    }</span>
-<span class="source-line-no">562</span><span id="line-562"></span>
-<span class="source-line-no">563</span><span id="line-563">    /**</span>
-<span class="source-line-no">564</span><span id="line-564">     * Sets logging 
level.</span>
-<span class="source-line-no">565</span><span id="line-565">     *</span>
-<span class="source-line-no">566</span><span id="line-566">     * @param 
currentLogLevel new logging level</span>
-<span class="source-line-no">567</span><span id="line-567">     */</span>
-<span class="source-line-no">568</span><span id="line-568">    public void 
setLevel(final int currentLogLevel) {</span>
-<span class="source-line-no">569</span><span id="line-569">        
this.currentLogLevel = currentLogLevel;</span>
-<span class="source-line-no">570</span><span id="line-570">    }</span>
-<span class="source-line-no">571</span><span id="line-571"></span>
-<span class="source-line-no">572</span><span id="line-572">    /**</span>
-<span class="source-line-no">573</span><span id="line-573">     * Logs a 
message with {@code 
org.apache.commons.logging.impl.SimpleLog.LOG_LEVEL_TRACE}.</span>
-<span class="source-line-no">574</span><span id="line-574">     *</span>
-<span class="source-line-no">575</span><span id="line-575">     * @param 
message to log</span>
-<span class="source-line-no">576</span><span id="line-576">     * @see 
org.apache.commons.logging.Log#trace(Object)</span>
-<span class="source-line-no">577</span><span id="line-577">     */</span>
-<span class="source-line-no">578</span><span id="line-578">    @Override</span>
-<span class="source-line-no">579</span><span id="line-579">    public final 
void trace(final Object message) {</span>
-<span class="source-line-no">580</span><span id="line-580">        if 
(isLevelEnabled(SimpleLog.LOG_LEVEL_TRACE)) {</span>
-<span class="source-line-no">581</span><span id="line-581">            
log(SimpleLog.LOG_LEVEL_TRACE, message, null);</span>
+<span class="source-line-no">232</span><span id="line-232">    /** The short 
name of this simple log instance */</span>
+<span class="source-line-no">233</span><span id="line-233">    private 
volatile String shortLogName;</span>
+<span class="source-line-no">234</span><span id="line-234"></span>
+<span class="source-line-no">235</span><span id="line-235">    /**</span>
+<span class="source-line-no">236</span><span id="line-236">     * Constructs a 
simple log with given name.</span>
+<span class="source-line-no">237</span><span id="line-237">     *</span>
+<span class="source-line-no">238</span><span id="line-238">     * @param name 
log name</span>
+<span class="source-line-no">239</span><span id="line-239">     */</span>
+<span class="source-line-no">240</span><span id="line-240">    public 
SimpleLog(String name) {</span>
+<span class="source-line-no">241</span><span id="line-241">        logName = 
name;</span>
+<span class="source-line-no">242</span><span id="line-242"></span>
+<span class="source-line-no">243</span><span id="line-243">        // Set 
initial log level</span>
+<span class="source-line-no">244</span><span id="line-244">        // Used to 
be: set default log level to ERROR</span>
+<span class="source-line-no">245</span><span id="line-245">        // IMHO it 
should be lower, but at least info (costin).</span>
+<span class="source-line-no">246</span><span id="line-246">        
setLevel(LOG_LEVEL_INFO);</span>
+<span class="source-line-no">247</span><span id="line-247"></span>
+<span class="source-line-no">248</span><span id="line-248">        // Set log 
level from properties</span>
+<span class="source-line-no">249</span><span id="line-249">        String 
level = getStringProperty(systemPrefix + "log." + logName);</span>
+<span class="source-line-no">250</span><span id="line-250">        int i = 
String.valueOf(name).lastIndexOf(".");</span>
+<span class="source-line-no">251</span><span id="line-251">        while 
(level == null &amp;&amp; i &gt; -1) {</span>
+<span class="source-line-no">252</span><span id="line-252">            name = 
name.substring(0, i);</span>
+<span class="source-line-no">253</span><span id="line-253">            level = 
getStringProperty(systemPrefix + "log." + name);</span>
+<span class="source-line-no">254</span><span id="line-254">            i = 
String.valueOf(name).lastIndexOf(".");</span>
+<span class="source-line-no">255</span><span id="line-255">        }</span>
+<span class="source-line-no">256</span><span id="line-256"></span>
+<span class="source-line-no">257</span><span id="line-257">        if (level 
== null) {</span>
+<span class="source-line-no">258</span><span id="line-258">            level = 
getStringProperty(systemPrefix + "defaultlog");</span>
+<span class="source-line-no">259</span><span id="line-259">        }</span>
+<span class="source-line-no">260</span><span id="line-260">        if (level 
!= null) {</span>
+<span class="source-line-no">261</span><span id="line-261">            level = 
level.toLowerCase(Locale.ROOT);</span>
+<span class="source-line-no">262</span><span id="line-262">        }</span>
+<span class="source-line-no">263</span><span id="line-263">        if (level 
!= null) {</span>
+<span class="source-line-no">264</span><span id="line-264">            switch 
(level) {</span>
+<span class="source-line-no">265</span><span id="line-265">            case 
"all":</span>
+<span class="source-line-no">266</span><span id="line-266">                
setLevel(LOG_LEVEL_ALL);</span>
+<span class="source-line-no">267</span><span id="line-267">                
break;</span>
+<span class="source-line-no">268</span><span id="line-268">            case 
"trace":</span>
+<span class="source-line-no">269</span><span id="line-269">                
setLevel(LOG_LEVEL_TRACE);</span>
+<span class="source-line-no">270</span><span id="line-270">                
break;</span>
+<span class="source-line-no">271</span><span id="line-271">            case 
"debug":</span>
+<span class="source-line-no">272</span><span id="line-272">                
setLevel(LOG_LEVEL_DEBUG);</span>
+<span class="source-line-no">273</span><span id="line-273">                
break;</span>
+<span class="source-line-no">274</span><span id="line-274">            case 
"info":</span>
+<span class="source-line-no">275</span><span id="line-275">                
setLevel(LOG_LEVEL_INFO);</span>
+<span class="source-line-no">276</span><span id="line-276">                
break;</span>
+<span class="source-line-no">277</span><span id="line-277">            case 
"warn":</span>
+<span class="source-line-no">278</span><span id="line-278">                
setLevel(LOG_LEVEL_WARN);</span>
+<span class="source-line-no">279</span><span id="line-279">                
break;</span>
+<span class="source-line-no">280</span><span id="line-280">            case 
"error":</span>
+<span class="source-line-no">281</span><span id="line-281">                
setLevel(LOG_LEVEL_ERROR);</span>
+<span class="source-line-no">282</span><span id="line-282">                
break;</span>
+<span class="source-line-no">283</span><span id="line-283">            case 
"fatal":</span>
+<span class="source-line-no">284</span><span id="line-284">                
setLevel(LOG_LEVEL_FATAL);</span>
+<span class="source-line-no">285</span><span id="line-285">                
break;</span>
+<span class="source-line-no">286</span><span id="line-286">            case 
"off":</span>
+<span class="source-line-no">287</span><span id="line-287">                
setLevel(LOG_LEVEL_OFF);</span>
+<span class="source-line-no">288</span><span id="line-288">                
break;</span>
+<span class="source-line-no">289</span><span id="line-289">            
default:</span>
+<span class="source-line-no">290</span><span id="line-290">                // 
do nothing</span>
+<span class="source-line-no">291</span><span id="line-291">            }</span>
+<span class="source-line-no">292</span><span id="line-292">        }</span>
+<span class="source-line-no">293</span><span id="line-293">    }</span>
+<span class="source-line-no">294</span><span id="line-294"></span>
+<span class="source-line-no">295</span><span id="line-295">    /**</span>
+<span class="source-line-no">296</span><span id="line-296">     * Logs a 
message with</span>
+<span class="source-line-no">297</span><span id="line-297">     * {@code 
org.apache.commons.logging.impl.SimpleLog.LOG_LEVEL_DEBUG}.</span>
+<span class="source-line-no">298</span><span id="line-298">     *</span>
+<span class="source-line-no">299</span><span id="line-299">     * @param 
message to log</span>
+<span class="source-line-no">300</span><span id="line-300">     * @see 
org.apache.commons.logging.Log#debug(Object)</span>
+<span class="source-line-no">301</span><span id="line-301">     */</span>
+<span class="source-line-no">302</span><span id="line-302">    @Override</span>
+<span class="source-line-no">303</span><span id="line-303">    public final 
void debug(final Object message) {</span>
+<span class="source-line-no">304</span><span id="line-304">        if 
(isLevelEnabled(LOG_LEVEL_DEBUG)) {</span>
+<span class="source-line-no">305</span><span id="line-305">            
log(LOG_LEVEL_DEBUG, message, null);</span>
+<span class="source-line-no">306</span><span id="line-306">        }</span>
+<span class="source-line-no">307</span><span id="line-307">    }</span>
+<span class="source-line-no">308</span><span id="line-308"></span>
+<span class="source-line-no">309</span><span id="line-309">    /**</span>
+<span class="source-line-no">310</span><span id="line-310">     * Logs a 
message with</span>
+<span class="source-line-no">311</span><span id="line-311">     * {@code 
org.apache.commons.logging.impl.LOG_LEVEL_DEBUG}.</span>
+<span class="source-line-no">312</span><span id="line-312">     *</span>
+<span class="source-line-no">313</span><span id="line-313">     * @param 
message to log</span>
+<span class="source-line-no">314</span><span id="line-314">     * @param t log 
this cause</span>
+<span class="source-line-no">315</span><span id="line-315">     * @see 
org.apache.commons.logging.Log#debug(Object, Throwable)</span>
+<span class="source-line-no">316</span><span id="line-316">     */</span>
+<span class="source-line-no">317</span><span id="line-317">    @Override</span>
+<span class="source-line-no">318</span><span id="line-318">    public final 
void debug(final Object message, final Throwable t) {</span>
+<span class="source-line-no">319</span><span id="line-319">        if 
(isLevelEnabled(LOG_LEVEL_DEBUG)) {</span>
+<span class="source-line-no">320</span><span id="line-320">            
log(LOG_LEVEL_DEBUG, message, t);</span>
+<span class="source-line-no">321</span><span id="line-321">        }</span>
+<span class="source-line-no">322</span><span id="line-322">    }</span>
+<span class="source-line-no">323</span><span id="line-323"></span>
+<span class="source-line-no">324</span><span id="line-324">    /**</span>
+<span class="source-line-no">325</span><span id="line-325">     * Logs a 
message with {@code 
org.apache.commons.logging.impl.SimpleLog.LOG_LEVEL_ERROR}.</span>
+<span class="source-line-no">326</span><span id="line-326">     *</span>
+<span class="source-line-no">327</span><span id="line-327">     * @param 
message to log</span>
+<span class="source-line-no">328</span><span id="line-328">     * @see 
org.apache.commons.logging.Log#error(Object)</span>
+<span class="source-line-no">329</span><span id="line-329">     */</span>
+<span class="source-line-no">330</span><span id="line-330">    @Override</span>
+<span class="source-line-no">331</span><span id="line-331">    public final 
void error(final Object message) {</span>
+<span class="source-line-no">332</span><span id="line-332">        if 
(isLevelEnabled(LOG_LEVEL_ERROR)) {</span>
+<span class="source-line-no">333</span><span id="line-333">            
log(LOG_LEVEL_ERROR, message, null);</span>
+<span class="source-line-no">334</span><span id="line-334">        }</span>
+<span class="source-line-no">335</span><span id="line-335">    }</span>
+<span class="source-line-no">336</span><span id="line-336"></span>
+<span class="source-line-no">337</span><span id="line-337">    /**</span>

[... 409 lines stripped ...]


Reply via email to