Modified: 
websites/production/commons/content/proper/commons-logging/xref/org/apache/commons/logging/LogFactory.html
==============================================================================
--- 
websites/production/commons/content/proper/commons-logging/xref/org/apache/commons/logging/LogFactory.html
 (original)
+++ 
websites/production/commons/content/proper/commons-logging/xref/org/apache/commons/logging/LogFactory.html
 Wed May 15 16:57:04 2024
@@ -1432,201 +1432,199 @@
 <a class="jxr_linenumber" name="L1424" href="#L1424">1424</a>     <strong 
class="jxr_keyword">protected</strong> <strong 
class="jxr_keyword">static</strong> <a name="LogFactory" 
href="../../../../org/apache/commons/logging/LogFactory.html#LogFactory">LogFactory</a>
 newFactory(<strong class="jxr_keyword">final</strong> String factoryClass,
 <a class="jxr_linenumber" name="L1425" href="#L1425">1425</a>                  
                          <strong class="jxr_keyword">final</strong> 
ClassLoader classLoader,
 <a class="jxr_linenumber" name="L1426" href="#L1426">1426</a>                  
                          <strong class="jxr_keyword">final</strong> 
ClassLoader contextClassLoader)
-<a class="jxr_linenumber" name="L1427" href="#L1427">1427</a>         <strong 
class="jxr_keyword">throws</strong> <a name="LogConfigurationException" 
href="../../../../org/apache/commons/logging/LogConfigurationException.html#LogConfigurationException">LogConfigurationException</a>
 {
+<a class="jxr_linenumber" name="L1427" href="#L1427">1427</a>             
<strong class="jxr_keyword">throws</strong> <a name="LogConfigurationException" 
href="../../../../org/apache/commons/logging/LogConfigurationException.html#LogConfigurationException">LogConfigurationException</a>
 {
 <a class="jxr_linenumber" name="L1428" href="#L1428">1428</a>         <em 
class="jxr_comment">// Note that any unchecked exceptions thrown by the 
createFactory</em>
 <a class="jxr_linenumber" name="L1429" href="#L1429">1429</a>         <em 
class="jxr_comment">// method will propagate out of this method; in particular 
a</em>
 <a class="jxr_linenumber" name="L1430" href="#L1430">1430</a>         <em 
class="jxr_comment">// ClassCastException can be thrown.</em>
-<a class="jxr_linenumber" name="L1431" href="#L1431">1431</a>         <strong 
class="jxr_keyword">final</strong> Object result = 
AccessController.doPrivileged(
-<a class="jxr_linenumber" name="L1432" href="#L1432">1432</a>             
(PrivilegedAction) () -&gt; createFactory(factoryClass, classLoader));
-<a class="jxr_linenumber" name="L1433" href="#L1433">1433</a> 
-<a class="jxr_linenumber" name="L1434" href="#L1434">1434</a>         <strong 
class="jxr_keyword">if</strong> (result instanceof <a 
name="LogConfigurationException" 
href="../../../../org/apache/commons/logging/LogConfigurationException.html#LogConfigurationException">LogConfigurationException</a>)
 {
-<a class="jxr_linenumber" name="L1435" href="#L1435">1435</a>             
<strong class="jxr_keyword">final</strong> <a name="LogConfigurationException" 
href="../../../../org/apache/commons/logging/LogConfigurationException.html#LogConfigurationException">LogConfigurationException</a>
 ex = (<a name="LogConfigurationException" 
href="../../../../org/apache/commons/logging/LogConfigurationException.html#LogConfigurationException">LogConfigurationException</a>)
 result;
-<a class="jxr_linenumber" name="L1436" href="#L1436">1436</a>             
<strong class="jxr_keyword">if</strong> (isDiagnosticsEnabled()) {
-<a class="jxr_linenumber" name="L1437" href="#L1437">1437</a>                 
logDiagnostic(<span class="jxr_string">"An error occurred while loading the 
factory class:"</span> + ex.getMessage());
-<a class="jxr_linenumber" name="L1438" href="#L1438">1438</a>             }
-<a class="jxr_linenumber" name="L1439" href="#L1439">1439</a>             
<strong class="jxr_keyword">throw</strong> ex;
-<a class="jxr_linenumber" name="L1440" href="#L1440">1440</a>         }
-<a class="jxr_linenumber" name="L1441" href="#L1441">1441</a>         <strong 
class="jxr_keyword">if</strong> (isDiagnosticsEnabled()) {
-<a class="jxr_linenumber" name="L1442" href="#L1442">1442</a>             
logDiagnostic(<span class="jxr_string">"Created object "</span> + 
objectId(result) + <span class="jxr_string">" to manage class loader "</span> +
-<a class="jxr_linenumber" name="L1443" href="#L1443">1443</a>                  
         objectId(contextClassLoader));
-<a class="jxr_linenumber" name="L1444" href="#L1444">1444</a>         }
-<a class="jxr_linenumber" name="L1445" href="#L1445">1445</a>         <strong 
class="jxr_keyword">return</strong> (<a name="LogFactory" 
href="../../../../org/apache/commons/logging/LogFactory.html#LogFactory">LogFactory</a>)
 result;
-<a class="jxr_linenumber" name="L1446" href="#L1446">1446</a>     }
-<a class="jxr_linenumber" name="L1447" href="#L1447">1447</a> 
-<a class="jxr_linenumber" name="L1448" href="#L1448">1448</a>     <em 
class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L1449" href="#L1449">1449</a> <em 
class="jxr_javadoccomment">     * Returns a string that uniquely identifies the 
specified object, including</em>
-<a class="jxr_linenumber" name="L1450" href="#L1450">1450</a> <em 
class="jxr_javadoccomment">     * its class.</em>
-<a class="jxr_linenumber" name="L1451" href="#L1451">1451</a> <em 
class="jxr_javadoccomment">     * &lt;p&gt;</em>
-<a class="jxr_linenumber" name="L1452" href="#L1452">1452</a> <em 
class="jxr_javadoccomment">     * The returned string is of form 
"className@hashCode", that is, is the same as</em>
-<a class="jxr_linenumber" name="L1453" href="#L1453">1453</a> <em 
class="jxr_javadoccomment">     * the return value of the Object.toString() 
method, but works even when</em>
-<a class="jxr_linenumber" name="L1454" href="#L1454">1454</a> <em 
class="jxr_javadoccomment">     * the specified object's class has overridden 
the toString method.</em>
-<a class="jxr_linenumber" name="L1455" href="#L1455">1455</a> <em 
class="jxr_javadoccomment">     * &lt;/p&gt;</em>
-<a class="jxr_linenumber" name="L1456" href="#L1456">1456</a> <em 
class="jxr_javadoccomment">     *</em>
-<a class="jxr_linenumber" name="L1457" href="#L1457">1457</a> <em 
class="jxr_javadoccomment">     * @param o may be null.</em>
-<a class="jxr_linenumber" name="L1458" href="#L1458">1458</a> <em 
class="jxr_javadoccomment">     * @return a string of form className@hashCode, 
or "null" if param o is null.</em>
-<a class="jxr_linenumber" name="L1459" href="#L1459">1459</a> <em 
class="jxr_javadoccomment">     * @since 1.1</em>
-<a class="jxr_linenumber" name="L1460" href="#L1460">1460</a> <em 
class="jxr_javadoccomment">     */</em>
-<a class="jxr_linenumber" name="L1461" href="#L1461">1461</a>     <strong 
class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> 
String objectId(<strong class="jxr_keyword">final</strong> Object o) {
-<a class="jxr_linenumber" name="L1462" href="#L1462">1462</a>         <strong 
class="jxr_keyword">if</strong> (o == <strong 
class="jxr_keyword">null</strong>) {
-<a class="jxr_linenumber" name="L1463" href="#L1463">1463</a>             
<strong class="jxr_keyword">return</strong> <span 
class="jxr_string">"null"</span>;
-<a class="jxr_linenumber" name="L1464" href="#L1464">1464</a>         }
-<a class="jxr_linenumber" name="L1465" href="#L1465">1465</a>         <strong 
class="jxr_keyword">return</strong> o.getClass().getName() + <span 
class="jxr_string">"@"</span> + System.identityHashCode(o);
-<a class="jxr_linenumber" name="L1466" href="#L1466">1466</a>     }
-<a class="jxr_linenumber" name="L1467" href="#L1467">1467</a> 
-<a class="jxr_linenumber" name="L1468" href="#L1468">1468</a>     <em 
class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L1469" href="#L1469">1469</a> <em 
class="jxr_javadoccomment">     * Release any internal references to previously 
created {@link LogFactory}</em>
-<a class="jxr_linenumber" name="L1470" href="#L1470">1470</a> <em 
class="jxr_javadoccomment">     * instances that have been associated with the 
specified class loader</em>
-<a class="jxr_linenumber" name="L1471" href="#L1471">1471</a> <em 
class="jxr_javadoccomment">     * (if any), after calling the instance method 
{@code release()} on</em>
-<a class="jxr_linenumber" name="L1472" href="#L1472">1472</a> <em 
class="jxr_javadoccomment">     * each of them.</em>
-<a class="jxr_linenumber" name="L1473" href="#L1473">1473</a> <em 
class="jxr_javadoccomment">     *</em>
-<a class="jxr_linenumber" name="L1474" href="#L1474">1474</a> <em 
class="jxr_javadoccomment">     * @param classLoader ClassLoader for which to 
release the LogFactory</em>
-<a class="jxr_linenumber" name="L1475" href="#L1475">1475</a> <em 
class="jxr_javadoccomment">     */</em>
-<a class="jxr_linenumber" name="L1476" href="#L1476">1476</a>     <strong 
class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> 
<strong class="jxr_keyword">void</strong> release(<strong 
class="jxr_keyword">final</strong> ClassLoader classLoader) {
-<a class="jxr_linenumber" name="L1477" href="#L1477">1477</a>         <strong 
class="jxr_keyword">if</strong> (isDiagnosticsEnabled()) {
-<a class="jxr_linenumber" name="L1478" href="#L1478">1478</a>             
logDiagnostic(<span class="jxr_string">"Releasing factory for class loader 
"</span> + objectId(classLoader));
-<a class="jxr_linenumber" name="L1479" href="#L1479">1479</a>         }
-<a class="jxr_linenumber" name="L1480" href="#L1480">1480</a>         <em 
class="jxr_comment">// factories is not final and could be replaced in this 
block.</em>
-<a class="jxr_linenumber" name="L1481" href="#L1481">1481</a>         <strong 
class="jxr_keyword">final</strong> Hashtable&lt;ClassLoader, LogFactory&gt; 
factories = LogFactory.factories;
-<a class="jxr_linenumber" name="L1482" href="#L1482">1482</a>         <strong 
class="jxr_keyword">synchronized</strong> (factories) {
-<a class="jxr_linenumber" name="L1483" href="#L1483">1483</a>             
<strong class="jxr_keyword">if</strong> (classLoader == <strong 
class="jxr_keyword">null</strong>) {
-<a class="jxr_linenumber" name="L1484" href="#L1484">1484</a>                 
<strong class="jxr_keyword">if</strong> (nullClassLoaderFactory != <strong 
class="jxr_keyword">null</strong>) {
-<a class="jxr_linenumber" name="L1485" href="#L1485">1485</a>                  
   nullClassLoaderFactory.release();
-<a class="jxr_linenumber" name="L1486" href="#L1486">1486</a>                  
   nullClassLoaderFactory = <strong class="jxr_keyword">null</strong>;
-<a class="jxr_linenumber" name="L1487" href="#L1487">1487</a>                 }
-<a class="jxr_linenumber" name="L1488" href="#L1488">1488</a>             } 
<strong class="jxr_keyword">else</strong> {
-<a class="jxr_linenumber" name="L1489" href="#L1489">1489</a>                 
<strong class="jxr_keyword">final</strong> <a name="LogFactory" 
href="../../../../org/apache/commons/logging/LogFactory.html#LogFactory">LogFactory</a>
 factory = factories.get(classLoader);
-<a class="jxr_linenumber" name="L1490" href="#L1490">1490</a>                 
<strong class="jxr_keyword">if</strong> (factory != <strong 
class="jxr_keyword">null</strong>) {
-<a class="jxr_linenumber" name="L1491" href="#L1491">1491</a>                  
   factory.release();
-<a class="jxr_linenumber" name="L1492" href="#L1492">1492</a>                  
   factories.remove(classLoader);
-<a class="jxr_linenumber" name="L1493" href="#L1493">1493</a>                 }
-<a class="jxr_linenumber" name="L1494" href="#L1494">1494</a>             }
-<a class="jxr_linenumber" name="L1495" href="#L1495">1495</a>         }
-<a class="jxr_linenumber" name="L1496" href="#L1496">1496</a>     }
-<a class="jxr_linenumber" name="L1497" href="#L1497">1497</a> 
-<a class="jxr_linenumber" name="L1498" href="#L1498">1498</a>     <em 
class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L1499" href="#L1499">1499</a> <em 
class="jxr_javadoccomment">     * Release any internal references to previously 
created {@link LogFactory}</em>
-<a class="jxr_linenumber" name="L1500" href="#L1500">1500</a> <em 
class="jxr_javadoccomment">     * instances, after calling the instance method 
{@code release()} on</em>
-<a class="jxr_linenumber" name="L1501" href="#L1501">1501</a> <em 
class="jxr_javadoccomment">     * each of them.  This is useful in environments 
like servlet containers,</em>
-<a class="jxr_linenumber" name="L1502" href="#L1502">1502</a> <em 
class="jxr_javadoccomment">     * which implement application reloading by 
throwing away a ClassLoader.</em>
-<a class="jxr_linenumber" name="L1503" href="#L1503">1503</a> <em 
class="jxr_javadoccomment">     * Dangling references to objects in that class 
loader would prevent</em>
-<a class="jxr_linenumber" name="L1504" href="#L1504">1504</a> <em 
class="jxr_javadoccomment">     * garbage collection.</em>
-<a class="jxr_linenumber" name="L1505" href="#L1505">1505</a> <em 
class="jxr_javadoccomment">     */</em>
-<a class="jxr_linenumber" name="L1506" href="#L1506">1506</a>     <strong 
class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> 
<strong class="jxr_keyword">void</strong> releaseAll() {
-<a class="jxr_linenumber" name="L1507" href="#L1507">1507</a>         <strong 
class="jxr_keyword">if</strong> (isDiagnosticsEnabled()) {
-<a class="jxr_linenumber" name="L1508" href="#L1508">1508</a>             
logDiagnostic(<span class="jxr_string">"Releasing factory for all class 
loaders."</span>);
-<a class="jxr_linenumber" name="L1509" href="#L1509">1509</a>         }
-<a class="jxr_linenumber" name="L1510" href="#L1510">1510</a>         <em 
class="jxr_comment">// factories is not final and could be replaced in this 
block.</em>
-<a class="jxr_linenumber" name="L1511" href="#L1511">1511</a>         <strong 
class="jxr_keyword">final</strong> Hashtable&lt;ClassLoader, LogFactory&gt; 
factories = LogFactory.factories;
-<a class="jxr_linenumber" name="L1512" href="#L1512">1512</a>         <strong 
class="jxr_keyword">synchronized</strong> (factories) {
-<a class="jxr_linenumber" name="L1513" href="#L1513">1513</a>             
factories.values().forEach(LogFactory::release);
-<a class="jxr_linenumber" name="L1514" href="#L1514">1514</a>             
factories.clear();
-<a class="jxr_linenumber" name="L1515" href="#L1515">1515</a> 
-<a class="jxr_linenumber" name="L1516" href="#L1516">1516</a>             
<strong class="jxr_keyword">if</strong> (nullClassLoaderFactory != <strong 
class="jxr_keyword">null</strong>) {
-<a class="jxr_linenumber" name="L1517" href="#L1517">1517</a>                 
nullClassLoaderFactory.release();
-<a class="jxr_linenumber" name="L1518" href="#L1518">1518</a>                 
nullClassLoaderFactory = <strong class="jxr_keyword">null</strong>;
-<a class="jxr_linenumber" name="L1519" href="#L1519">1519</a>             }
-<a class="jxr_linenumber" name="L1520" href="#L1520">1520</a>         }
-<a class="jxr_linenumber" name="L1521" href="#L1521">1521</a>     }
-<a class="jxr_linenumber" name="L1522" href="#L1522">1522</a> 
-<a class="jxr_linenumber" name="L1523" href="#L1523">1523</a>     <em 
class="jxr_javadoccomment">/** Utility method to safely trim a string. */</em>
-<a class="jxr_linenumber" name="L1524" href="#L1524">1524</a>     <strong 
class="jxr_keyword">private</strong> <strong 
class="jxr_keyword">static</strong> String trim(<strong 
class="jxr_keyword">final</strong> String src) {
-<a class="jxr_linenumber" name="L1525" href="#L1525">1525</a>         <strong 
class="jxr_keyword">if</strong> (src == <strong 
class="jxr_keyword">null</strong>) {
-<a class="jxr_linenumber" name="L1526" href="#L1526">1526</a>             
<strong class="jxr_keyword">return</strong> <strong 
class="jxr_keyword">null</strong>;
-<a class="jxr_linenumber" name="L1527" href="#L1527">1527</a>         }
-<a class="jxr_linenumber" name="L1528" href="#L1528">1528</a>         <strong 
class="jxr_keyword">return</strong> src.trim();
-<a class="jxr_linenumber" name="L1529" href="#L1529">1529</a>     }
-<a class="jxr_linenumber" name="L1530" href="#L1530">1530</a> 
-<a class="jxr_linenumber" name="L1531" href="#L1531">1531</a>     <em 
class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L1532" href="#L1532">1532</a> <em 
class="jxr_javadoccomment">     * Protected constructor that is not available 
for public use.</em>
-<a class="jxr_linenumber" name="L1533" href="#L1533">1533</a> <em 
class="jxr_javadoccomment">     */</em>
-<a class="jxr_linenumber" name="L1534" href="#L1534">1534</a>     <strong 
class="jxr_keyword">protected</strong> <a name="LogFactory" 
href="../../../../org/apache/commons/logging/LogFactory.html#LogFactory">LogFactory</a>()
 {
-<a class="jxr_linenumber" name="L1535" href="#L1535">1535</a>     }
-<a class="jxr_linenumber" name="L1536" href="#L1536">1536</a> 
-<a class="jxr_linenumber" name="L1537" href="#L1537">1537</a>     <em 
class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L1538" href="#L1538">1538</a> <em 
class="jxr_javadoccomment">     * Gets the configuration attribute with the 
specified name (if any),</em>
-<a class="jxr_linenumber" name="L1539" href="#L1539">1539</a> <em 
class="jxr_javadoccomment">     * or {@code null} if there is no such 
attribute.</em>
-<a class="jxr_linenumber" name="L1540" href="#L1540">1540</a> <em 
class="jxr_javadoccomment">     *</em>
-<a class="jxr_linenumber" name="L1541" href="#L1541">1541</a> <em 
class="jxr_javadoccomment">     * @param name Name of the attribute to 
return</em>
-<a class="jxr_linenumber" name="L1542" href="#L1542">1542</a> <em 
class="jxr_javadoccomment">     * @return the configuration attribute with the 
specified name.</em>
-<a class="jxr_linenumber" name="L1543" href="#L1543">1543</a> <em 
class="jxr_javadoccomment">     */</em>
-<a class="jxr_linenumber" name="L1544" href="#L1544">1544</a>     <strong 
class="jxr_keyword">public</strong> <strong 
class="jxr_keyword">abstract</strong> Object getAttribute(String name);
-<a class="jxr_linenumber" name="L1545" href="#L1545">1545</a> 
-<a class="jxr_linenumber" name="L1546" href="#L1546">1546</a>     <em 
class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L1547" href="#L1547">1547</a> <em 
class="jxr_javadoccomment">     * Gets an array containing the names of all 
currently defined configuration attributes. If there are no such attributes, a 
zero length array is returned.</em>
-<a class="jxr_linenumber" name="L1548" href="#L1548">1548</a> <em 
class="jxr_javadoccomment">     *</em>
-<a class="jxr_linenumber" name="L1549" href="#L1549">1549</a> <em 
class="jxr_javadoccomment">     * @return an array containing the names of all 
currently defined configuration attributes</em>
-<a class="jxr_linenumber" name="L1550" href="#L1550">1550</a> <em 
class="jxr_javadoccomment">     */</em>
-<a class="jxr_linenumber" name="L1551" href="#L1551">1551</a>     <strong 
class="jxr_keyword">public</strong> <strong 
class="jxr_keyword">abstract</strong> String[] getAttributeNames();
-<a class="jxr_linenumber" name="L1552" href="#L1552">1552</a> 
-<a class="jxr_linenumber" name="L1553" href="#L1553">1553</a>     <em 
class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L1554" href="#L1554">1554</a> <em 
class="jxr_javadoccomment">     * Convenience method to derive a name from the 
specified class and call {@code getInstance(String)} with it.</em>
-<a class="jxr_linenumber" name="L1555" href="#L1555">1555</a> <em 
class="jxr_javadoccomment">     *</em>
-<a class="jxr_linenumber" name="L1556" href="#L1556">1556</a> <em 
class="jxr_javadoccomment">     * @param clazz Class for which a suitable Log 
name will be derived</em>
-<a class="jxr_linenumber" name="L1557" href="#L1557">1557</a> <em 
class="jxr_javadoccomment">     * @return a name from the specified class.</em>
-<a class="jxr_linenumber" name="L1558" href="#L1558">1558</a> <em 
class="jxr_javadoccomment">     * @throws LogConfigurationException if a 
suitable {@code Log} instance cannot be returned</em>
-<a class="jxr_linenumber" name="L1559" href="#L1559">1559</a> <em 
class="jxr_javadoccomment">     */</em>
-<a class="jxr_linenumber" name="L1560" href="#L1560">1560</a>     <strong 
class="jxr_keyword">public</strong> <strong 
class="jxr_keyword">abstract</strong> <a name="Log" 
href="../../../../org/apache/commons/logging/Log.html#Log">Log</a> 
getInstance(Class&lt;?&gt; clazz) <strong class="jxr_keyword">throws</strong> 
LogConfigurationException;
-<a class="jxr_linenumber" name="L1561" href="#L1561">1561</a> 
-<a class="jxr_linenumber" name="L1562" href="#L1562">1562</a>     <em 
class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L1563" href="#L1563">1563</a> <em 
class="jxr_javadoccomment">     * Constructs (if necessary) and return a {@code 
Log} instance, using the factory's current set of configuration attributes.</em>
-<a class="jxr_linenumber" name="L1564" href="#L1564">1564</a> <em 
class="jxr_javadoccomment">     * &lt;p&gt;</em>
-<a class="jxr_linenumber" name="L1565" href="#L1565">1565</a> <em 
class="jxr_javadoccomment">     * &lt;strong&gt;NOTE&lt;/strong&gt; - Depending 
upon the implementation of the {@code LogFactory} you are using, the {@code 
Log} instance you are returned may or may</em>
-<a class="jxr_linenumber" name="L1566" href="#L1566">1566</a> <em 
class="jxr_javadoccomment">     * not be local to the current application, and 
may or may not be returned again on a subsequent call with the same name 
argument.</em>
-<a class="jxr_linenumber" name="L1567" href="#L1567">1567</a> <em 
class="jxr_javadoccomment">     * &lt;/p&gt;</em>
-<a class="jxr_linenumber" name="L1568" href="#L1568">1568</a> <em 
class="jxr_javadoccomment">     *</em>
-<a class="jxr_linenumber" name="L1569" href="#L1569">1569</a> <em 
class="jxr_javadoccomment">     * @param name Logical name of the {@code Log} 
instance to be returned (the meaning of this name is only known to the 
underlying logging implementation that</em>
-<a class="jxr_linenumber" name="L1570" href="#L1570">1570</a> <em 
class="jxr_javadoccomment">     *             is being wrapped)</em>
-<a class="jxr_linenumber" name="L1571" href="#L1571">1571</a> <em 
class="jxr_javadoccomment">     * @return a {@code Log} instance.</em>
-<a class="jxr_linenumber" name="L1572" href="#L1572">1572</a> <em 
class="jxr_javadoccomment">     * @throws LogConfigurationException if a 
suitable {@code Log} instance cannot be returned</em>
-<a class="jxr_linenumber" name="L1573" href="#L1573">1573</a> <em 
class="jxr_javadoccomment">     */</em>
-<a class="jxr_linenumber" name="L1574" href="#L1574">1574</a>     <strong 
class="jxr_keyword">public</strong> <strong 
class="jxr_keyword">abstract</strong> <a name="Log" 
href="../../../../org/apache/commons/logging/Log.html#Log">Log</a> 
getInstance(String name)
-<a class="jxr_linenumber" name="L1575" href="#L1575">1575</a>         <strong 
class="jxr_keyword">throws</strong> LogConfigurationException;
-<a class="jxr_linenumber" name="L1576" href="#L1576">1576</a> 
-<a class="jxr_linenumber" name="L1577" href="#L1577">1577</a>     <em 
class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L1578" href="#L1578">1578</a> <em 
class="jxr_javadoccomment">     * Release any internal references to previously 
created {@link Log}</em>
-<a class="jxr_linenumber" name="L1579" href="#L1579">1579</a> <em 
class="jxr_javadoccomment">     * instances returned by this factory.  This is 
useful in environments</em>
-<a class="jxr_linenumber" name="L1580" href="#L1580">1580</a> <em 
class="jxr_javadoccomment">     * like servlet containers, which implement 
application reloading by</em>
-<a class="jxr_linenumber" name="L1581" href="#L1581">1581</a> <em 
class="jxr_javadoccomment">     * throwing away a ClassLoader.  Dangling 
references to objects in that</em>
-<a class="jxr_linenumber" name="L1582" href="#L1582">1582</a> <em 
class="jxr_javadoccomment">     * class loader would prevent garbage 
collection.</em>
-<a class="jxr_linenumber" name="L1583" href="#L1583">1583</a> <em 
class="jxr_javadoccomment">     */</em>
-<a class="jxr_linenumber" name="L1584" href="#L1584">1584</a>     <strong 
class="jxr_keyword">public</strong> <strong 
class="jxr_keyword">abstract</strong> <strong class="jxr_keyword">void</strong> 
release();
-<a class="jxr_linenumber" name="L1585" href="#L1585">1585</a> 
-<a class="jxr_linenumber" name="L1586" href="#L1586">1586</a>     <em 
class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L1587" href="#L1587">1587</a> <em 
class="jxr_javadoccomment">     * Remove any configuration attribute associated 
with the specified name.</em>
-<a class="jxr_linenumber" name="L1588" href="#L1588">1588</a> <em 
class="jxr_javadoccomment">     * If there is no such attribute, no action is 
taken.</em>
-<a class="jxr_linenumber" name="L1589" href="#L1589">1589</a> <em 
class="jxr_javadoccomment">     *</em>
-<a class="jxr_linenumber" name="L1590" href="#L1590">1590</a> <em 
class="jxr_javadoccomment">     * @param name Name of the attribute to 
remove</em>
-<a class="jxr_linenumber" name="L1591" href="#L1591">1591</a> <em 
class="jxr_javadoccomment">     */</em>
-<a class="jxr_linenumber" name="L1592" href="#L1592">1592</a>     <strong 
class="jxr_keyword">public</strong> <strong 
class="jxr_keyword">abstract</strong> <strong class="jxr_keyword">void</strong> 
removeAttribute(String name);
-<a class="jxr_linenumber" name="L1593" href="#L1593">1593</a> 
-<a class="jxr_linenumber" name="L1594" href="#L1594">1594</a>     <em 
class="jxr_comment">//</em>
-<a class="jxr_linenumber" name="L1595" href="#L1595">1595</a>     <em 
class="jxr_comment">// We can't do this in the class constructor, as there are 
many</em>
-<a class="jxr_linenumber" name="L1596" href="#L1596">1596</a>     <em 
class="jxr_comment">// static methods on this class that can be called before 
any</em>
-<a class="jxr_linenumber" name="L1597" href="#L1597">1597</a>     <em 
class="jxr_comment">// LogFactory instances are created, and they depend upon 
this</em>
-<a class="jxr_linenumber" name="L1598" href="#L1598">1598</a>     <em 
class="jxr_comment">// stuff having been set up.</em>
-<a class="jxr_linenumber" name="L1599" href="#L1599">1599</a>     <em 
class="jxr_comment">//</em>
-<a class="jxr_linenumber" name="L1600" href="#L1600">1600</a>     <em 
class="jxr_comment">// Note that this block must come after any variable 
declarations used</em>
-<a class="jxr_linenumber" name="L1601" href="#L1601">1601</a>     <em 
class="jxr_comment">// by any methods called from this block, as we want any 
static initializer</em>
-<a class="jxr_linenumber" name="L1602" href="#L1602">1602</a>     <em 
class="jxr_comment">// associated with the variable to run first. If static 
initializers for</em>
-<a class="jxr_linenumber" name="L1603" href="#L1603">1603</a>     <em 
class="jxr_comment">// variables run after this code, then (a) their value 
might be needed</em>
-<a class="jxr_linenumber" name="L1604" href="#L1604">1604</a>     <em 
class="jxr_comment">// by methods called from here, and (b) they might 
*override* any value</em>
-<a class="jxr_linenumber" name="L1605" href="#L1605">1605</a>     <em 
class="jxr_comment">// computed here!</em>
-<a class="jxr_linenumber" name="L1606" href="#L1606">1606</a>     <em 
class="jxr_comment">//</em>
-<a class="jxr_linenumber" name="L1607" href="#L1607">1607</a>     <em 
class="jxr_comment">// So the wisest thing to do is just to place this code at 
the very end</em>
-<a class="jxr_linenumber" name="L1608" href="#L1608">1608</a>     <em 
class="jxr_comment">// of the class file.</em>
-<a class="jxr_linenumber" name="L1609" href="#L1609">1609</a> 
-<a class="jxr_linenumber" name="L1610" href="#L1610">1610</a>     <em 
class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L1611" href="#L1611">1611</a> <em 
class="jxr_javadoccomment">     * Sets the configuration attribute with the 
specified name.  Calling</em>
-<a class="jxr_linenumber" name="L1612" href="#L1612">1612</a> <em 
class="jxr_javadoccomment">     * this with a {@code null} value is equivalent 
to calling</em>
-<a class="jxr_linenumber" name="L1613" href="#L1613">1613</a> <em 
class="jxr_javadoccomment">     * {@code removeAttribute(name)}.</em>
-<a class="jxr_linenumber" name="L1614" href="#L1614">1614</a> <em 
class="jxr_javadoccomment">     *</em>
-<a class="jxr_linenumber" name="L1615" href="#L1615">1615</a> <em 
class="jxr_javadoccomment">     * @param name Name of the attribute to set</em>
-<a class="jxr_linenumber" name="L1616" href="#L1616">1616</a> <em 
class="jxr_javadoccomment">     * @param value Value of the attribute to set, 
or {@code null}</em>
-<a class="jxr_linenumber" name="L1617" href="#L1617">1617</a> <em 
class="jxr_javadoccomment">     *  to remove any setting for this attribute</em>
-<a class="jxr_linenumber" name="L1618" href="#L1618">1618</a> <em 
class="jxr_javadoccomment">     */</em>
-<a class="jxr_linenumber" name="L1619" href="#L1619">1619</a>     <strong 
class="jxr_keyword">public</strong> <strong 
class="jxr_keyword">abstract</strong> <strong class="jxr_keyword">void</strong> 
setAttribute(String name, Object value);
-<a class="jxr_linenumber" name="L1620" href="#L1620">1620</a> 
-<a class="jxr_linenumber" name="L1621" href="#L1621">1621</a> }
+<a class="jxr_linenumber" name="L1431" href="#L1431">1431</a>         <strong 
class="jxr_keyword">final</strong> Object result = 
AccessController.doPrivileged((PrivilegedAction&lt;?&gt;) () -&gt; 
createFactory(factoryClass, classLoader));
+<a class="jxr_linenumber" name="L1432" href="#L1432">1432</a> 
+<a class="jxr_linenumber" name="L1433" href="#L1433">1433</a>         <strong 
class="jxr_keyword">if</strong> (result instanceof <a 
name="LogConfigurationException" 
href="../../../../org/apache/commons/logging/LogConfigurationException.html#LogConfigurationException">LogConfigurationException</a>)
 {
+<a class="jxr_linenumber" name="L1434" href="#L1434">1434</a>             
<strong class="jxr_keyword">final</strong> <a name="LogConfigurationException" 
href="../../../../org/apache/commons/logging/LogConfigurationException.html#LogConfigurationException">LogConfigurationException</a>
 ex = (<a name="LogConfigurationException" 
href="../../../../org/apache/commons/logging/LogConfigurationException.html#LogConfigurationException">LogConfigurationException</a>)
 result;
+<a class="jxr_linenumber" name="L1435" href="#L1435">1435</a>             
<strong class="jxr_keyword">if</strong> (isDiagnosticsEnabled()) {
+<a class="jxr_linenumber" name="L1436" href="#L1436">1436</a>                 
logDiagnostic(<span class="jxr_string">"An error occurred while loading the 
factory class:"</span> + ex.getMessage());
+<a class="jxr_linenumber" name="L1437" href="#L1437">1437</a>             }
+<a class="jxr_linenumber" name="L1438" href="#L1438">1438</a>             
<strong class="jxr_keyword">throw</strong> ex;
+<a class="jxr_linenumber" name="L1439" href="#L1439">1439</a>         }
+<a class="jxr_linenumber" name="L1440" href="#L1440">1440</a>         <strong 
class="jxr_keyword">if</strong> (isDiagnosticsEnabled()) {
+<a class="jxr_linenumber" name="L1441" href="#L1441">1441</a>             
logDiagnostic(<span class="jxr_string">"Created object "</span> + 
objectId(result) + <span class="jxr_string">" to manage class loader "</span> + 
objectId(contextClassLoader));
+<a class="jxr_linenumber" name="L1442" href="#L1442">1442</a>         }
+<a class="jxr_linenumber" name="L1443" href="#L1443">1443</a>         <strong 
class="jxr_keyword">return</strong> (<a name="LogFactory" 
href="../../../../org/apache/commons/logging/LogFactory.html#LogFactory">LogFactory</a>)
 result;
+<a class="jxr_linenumber" name="L1444" href="#L1444">1444</a>     }
+<a class="jxr_linenumber" name="L1445" href="#L1445">1445</a> 
+<a class="jxr_linenumber" name="L1446" href="#L1446">1446</a>     <em 
class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L1447" href="#L1447">1447</a> <em 
class="jxr_javadoccomment">     * Returns a string that uniquely identifies the 
specified object, including</em>
+<a class="jxr_linenumber" name="L1448" href="#L1448">1448</a> <em 
class="jxr_javadoccomment">     * its class.</em>
+<a class="jxr_linenumber" name="L1449" href="#L1449">1449</a> <em 
class="jxr_javadoccomment">     * &lt;p&gt;</em>
+<a class="jxr_linenumber" name="L1450" href="#L1450">1450</a> <em 
class="jxr_javadoccomment">     * The returned string is of form 
"className@hashCode", that is, is the same as</em>
+<a class="jxr_linenumber" name="L1451" href="#L1451">1451</a> <em 
class="jxr_javadoccomment">     * the return value of the Object.toString() 
method, but works even when</em>
+<a class="jxr_linenumber" name="L1452" href="#L1452">1452</a> <em 
class="jxr_javadoccomment">     * the specified object's class has overridden 
the toString method.</em>
+<a class="jxr_linenumber" name="L1453" href="#L1453">1453</a> <em 
class="jxr_javadoccomment">     * &lt;/p&gt;</em>
+<a class="jxr_linenumber" name="L1454" href="#L1454">1454</a> <em 
class="jxr_javadoccomment">     *</em>
+<a class="jxr_linenumber" name="L1455" href="#L1455">1455</a> <em 
class="jxr_javadoccomment">     * @param o may be null.</em>
+<a class="jxr_linenumber" name="L1456" href="#L1456">1456</a> <em 
class="jxr_javadoccomment">     * @return a string of form className@hashCode, 
or "null" if param o is null.</em>
+<a class="jxr_linenumber" name="L1457" href="#L1457">1457</a> <em 
class="jxr_javadoccomment">     * @since 1.1</em>
+<a class="jxr_linenumber" name="L1458" href="#L1458">1458</a> <em 
class="jxr_javadoccomment">     */</em>
+<a class="jxr_linenumber" name="L1459" href="#L1459">1459</a>     <strong 
class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> 
String objectId(<strong class="jxr_keyword">final</strong> Object o) {
+<a class="jxr_linenumber" name="L1460" href="#L1460">1460</a>         <strong 
class="jxr_keyword">if</strong> (o == <strong 
class="jxr_keyword">null</strong>) {
+<a class="jxr_linenumber" name="L1461" href="#L1461">1461</a>             
<strong class="jxr_keyword">return</strong> <span 
class="jxr_string">"null"</span>;
+<a class="jxr_linenumber" name="L1462" href="#L1462">1462</a>         }
+<a class="jxr_linenumber" name="L1463" href="#L1463">1463</a>         <strong 
class="jxr_keyword">return</strong> o.getClass().getName() + <span 
class="jxr_string">"@"</span> + System.identityHashCode(o);
+<a class="jxr_linenumber" name="L1464" href="#L1464">1464</a>     }
+<a class="jxr_linenumber" name="L1465" href="#L1465">1465</a> 
+<a class="jxr_linenumber" name="L1466" href="#L1466">1466</a>     <em 
class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L1467" href="#L1467">1467</a> <em 
class="jxr_javadoccomment">     * Release any internal references to previously 
created {@link LogFactory}</em>
+<a class="jxr_linenumber" name="L1468" href="#L1468">1468</a> <em 
class="jxr_javadoccomment">     * instances that have been associated with the 
specified class loader</em>
+<a class="jxr_linenumber" name="L1469" href="#L1469">1469</a> <em 
class="jxr_javadoccomment">     * (if any), after calling the instance method 
{@code release()} on</em>
+<a class="jxr_linenumber" name="L1470" href="#L1470">1470</a> <em 
class="jxr_javadoccomment">     * each of them.</em>
+<a class="jxr_linenumber" name="L1471" href="#L1471">1471</a> <em 
class="jxr_javadoccomment">     *</em>
+<a class="jxr_linenumber" name="L1472" href="#L1472">1472</a> <em 
class="jxr_javadoccomment">     * @param classLoader ClassLoader for which to 
release the LogFactory</em>
+<a class="jxr_linenumber" name="L1473" href="#L1473">1473</a> <em 
class="jxr_javadoccomment">     */</em>
+<a class="jxr_linenumber" name="L1474" href="#L1474">1474</a>     <strong 
class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> 
<strong class="jxr_keyword">void</strong> release(<strong 
class="jxr_keyword">final</strong> ClassLoader classLoader) {
+<a class="jxr_linenumber" name="L1475" href="#L1475">1475</a>         <strong 
class="jxr_keyword">if</strong> (isDiagnosticsEnabled()) {
+<a class="jxr_linenumber" name="L1476" href="#L1476">1476</a>             
logDiagnostic(<span class="jxr_string">"Releasing factory for class loader 
"</span> + objectId(classLoader));
+<a class="jxr_linenumber" name="L1477" href="#L1477">1477</a>         }
+<a class="jxr_linenumber" name="L1478" href="#L1478">1478</a>         <em 
class="jxr_comment">// factories is not final and could be replaced in this 
block.</em>
+<a class="jxr_linenumber" name="L1479" href="#L1479">1479</a>         <strong 
class="jxr_keyword">final</strong> Hashtable&lt;ClassLoader, LogFactory&gt; 
factories = LogFactory.factories;
+<a class="jxr_linenumber" name="L1480" href="#L1480">1480</a>         <strong 
class="jxr_keyword">synchronized</strong> (factories) {
+<a class="jxr_linenumber" name="L1481" href="#L1481">1481</a>             
<strong class="jxr_keyword">if</strong> (classLoader == <strong 
class="jxr_keyword">null</strong>) {
+<a class="jxr_linenumber" name="L1482" href="#L1482">1482</a>                 
<strong class="jxr_keyword">if</strong> (nullClassLoaderFactory != <strong 
class="jxr_keyword">null</strong>) {
+<a class="jxr_linenumber" name="L1483" href="#L1483">1483</a>                  
   nullClassLoaderFactory.release();
+<a class="jxr_linenumber" name="L1484" href="#L1484">1484</a>                  
   nullClassLoaderFactory = <strong class="jxr_keyword">null</strong>;
+<a class="jxr_linenumber" name="L1485" href="#L1485">1485</a>                 }
+<a class="jxr_linenumber" name="L1486" href="#L1486">1486</a>             } 
<strong class="jxr_keyword">else</strong> {
+<a class="jxr_linenumber" name="L1487" href="#L1487">1487</a>                 
<strong class="jxr_keyword">final</strong> <a name="LogFactory" 
href="../../../../org/apache/commons/logging/LogFactory.html#LogFactory">LogFactory</a>
 factory = factories.get(classLoader);
+<a class="jxr_linenumber" name="L1488" href="#L1488">1488</a>                 
<strong class="jxr_keyword">if</strong> (factory != <strong 
class="jxr_keyword">null</strong>) {
+<a class="jxr_linenumber" name="L1489" href="#L1489">1489</a>                  
   factory.release();
+<a class="jxr_linenumber" name="L1490" href="#L1490">1490</a>                  
   factories.remove(classLoader);
+<a class="jxr_linenumber" name="L1491" href="#L1491">1491</a>                 }
+<a class="jxr_linenumber" name="L1492" href="#L1492">1492</a>             }
+<a class="jxr_linenumber" name="L1493" href="#L1493">1493</a>         }
+<a class="jxr_linenumber" name="L1494" href="#L1494">1494</a>     }
+<a class="jxr_linenumber" name="L1495" href="#L1495">1495</a> 
+<a class="jxr_linenumber" name="L1496" href="#L1496">1496</a>     <em 
class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L1497" href="#L1497">1497</a> <em 
class="jxr_javadoccomment">     * Release any internal references to previously 
created {@link LogFactory}</em>
+<a class="jxr_linenumber" name="L1498" href="#L1498">1498</a> <em 
class="jxr_javadoccomment">     * instances, after calling the instance method 
{@code release()} on</em>
+<a class="jxr_linenumber" name="L1499" href="#L1499">1499</a> <em 
class="jxr_javadoccomment">     * each of them.  This is useful in environments 
like servlet containers,</em>
+<a class="jxr_linenumber" name="L1500" href="#L1500">1500</a> <em 
class="jxr_javadoccomment">     * which implement application reloading by 
throwing away a ClassLoader.</em>
+<a class="jxr_linenumber" name="L1501" href="#L1501">1501</a> <em 
class="jxr_javadoccomment">     * Dangling references to objects in that class 
loader would prevent</em>
+<a class="jxr_linenumber" name="L1502" href="#L1502">1502</a> <em 
class="jxr_javadoccomment">     * garbage collection.</em>
+<a class="jxr_linenumber" name="L1503" href="#L1503">1503</a> <em 
class="jxr_javadoccomment">     */</em>
+<a class="jxr_linenumber" name="L1504" href="#L1504">1504</a>     <strong 
class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> 
<strong class="jxr_keyword">void</strong> releaseAll() {
+<a class="jxr_linenumber" name="L1505" href="#L1505">1505</a>         <strong 
class="jxr_keyword">if</strong> (isDiagnosticsEnabled()) {
+<a class="jxr_linenumber" name="L1506" href="#L1506">1506</a>             
logDiagnostic(<span class="jxr_string">"Releasing factory for all class 
loaders."</span>);
+<a class="jxr_linenumber" name="L1507" href="#L1507">1507</a>         }
+<a class="jxr_linenumber" name="L1508" href="#L1508">1508</a>         <em 
class="jxr_comment">// factories is not final and could be replaced in this 
block.</em>
+<a class="jxr_linenumber" name="L1509" href="#L1509">1509</a>         <strong 
class="jxr_keyword">final</strong> Hashtable&lt;ClassLoader, LogFactory&gt; 
factories = LogFactory.factories;
+<a class="jxr_linenumber" name="L1510" href="#L1510">1510</a>         <strong 
class="jxr_keyword">synchronized</strong> (factories) {
+<a class="jxr_linenumber" name="L1511" href="#L1511">1511</a>             
factories.values().forEach(LogFactory::release);
+<a class="jxr_linenumber" name="L1512" href="#L1512">1512</a>             
factories.clear();
+<a class="jxr_linenumber" name="L1513" href="#L1513">1513</a> 
+<a class="jxr_linenumber" name="L1514" href="#L1514">1514</a>             
<strong class="jxr_keyword">if</strong> (nullClassLoaderFactory != <strong 
class="jxr_keyword">null</strong>) {
+<a class="jxr_linenumber" name="L1515" href="#L1515">1515</a>                 
nullClassLoaderFactory.release();
+<a class="jxr_linenumber" name="L1516" href="#L1516">1516</a>                 
nullClassLoaderFactory = <strong class="jxr_keyword">null</strong>;
+<a class="jxr_linenumber" name="L1517" href="#L1517">1517</a>             }
+<a class="jxr_linenumber" name="L1518" href="#L1518">1518</a>         }
+<a class="jxr_linenumber" name="L1519" href="#L1519">1519</a>     }
+<a class="jxr_linenumber" name="L1520" href="#L1520">1520</a> 
+<a class="jxr_linenumber" name="L1521" href="#L1521">1521</a>     <em 
class="jxr_javadoccomment">/** Utility method to safely trim a string. */</em>
+<a class="jxr_linenumber" name="L1522" href="#L1522">1522</a>     <strong 
class="jxr_keyword">private</strong> <strong 
class="jxr_keyword">static</strong> String trim(<strong 
class="jxr_keyword">final</strong> String src) {
+<a class="jxr_linenumber" name="L1523" href="#L1523">1523</a>         <strong 
class="jxr_keyword">if</strong> (src == <strong 
class="jxr_keyword">null</strong>) {
+<a class="jxr_linenumber" name="L1524" href="#L1524">1524</a>             
<strong class="jxr_keyword">return</strong> <strong 
class="jxr_keyword">null</strong>;
+<a class="jxr_linenumber" name="L1525" href="#L1525">1525</a>         }
+<a class="jxr_linenumber" name="L1526" href="#L1526">1526</a>         <strong 
class="jxr_keyword">return</strong> src.trim();
+<a class="jxr_linenumber" name="L1527" href="#L1527">1527</a>     }
+<a class="jxr_linenumber" name="L1528" href="#L1528">1528</a> 
+<a class="jxr_linenumber" name="L1529" href="#L1529">1529</a>     <em 
class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L1530" href="#L1530">1530</a> <em 
class="jxr_javadoccomment">     * Protected constructor that is not available 
for public use.</em>
+<a class="jxr_linenumber" name="L1531" href="#L1531">1531</a> <em 
class="jxr_javadoccomment">     */</em>
+<a class="jxr_linenumber" name="L1532" href="#L1532">1532</a>     <strong 
class="jxr_keyword">protected</strong> <a name="LogFactory" 
href="../../../../org/apache/commons/logging/LogFactory.html#LogFactory">LogFactory</a>()
 {
+<a class="jxr_linenumber" name="L1533" href="#L1533">1533</a>     }
+<a class="jxr_linenumber" name="L1534" href="#L1534">1534</a> 
+<a class="jxr_linenumber" name="L1535" href="#L1535">1535</a>     <em 
class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L1536" href="#L1536">1536</a> <em 
class="jxr_javadoccomment">     * Gets the configuration attribute with the 
specified name (if any),</em>
+<a class="jxr_linenumber" name="L1537" href="#L1537">1537</a> <em 
class="jxr_javadoccomment">     * or {@code null} if there is no such 
attribute.</em>
+<a class="jxr_linenumber" name="L1538" href="#L1538">1538</a> <em 
class="jxr_javadoccomment">     *</em>
+<a class="jxr_linenumber" name="L1539" href="#L1539">1539</a> <em 
class="jxr_javadoccomment">     * @param name Name of the attribute to 
return</em>
+<a class="jxr_linenumber" name="L1540" href="#L1540">1540</a> <em 
class="jxr_javadoccomment">     * @return the configuration attribute with the 
specified name.</em>
+<a class="jxr_linenumber" name="L1541" href="#L1541">1541</a> <em 
class="jxr_javadoccomment">     */</em>
+<a class="jxr_linenumber" name="L1542" href="#L1542">1542</a>     <strong 
class="jxr_keyword">public</strong> <strong 
class="jxr_keyword">abstract</strong> Object getAttribute(String name);
+<a class="jxr_linenumber" name="L1543" href="#L1543">1543</a> 
+<a class="jxr_linenumber" name="L1544" href="#L1544">1544</a>     <em 
class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L1545" href="#L1545">1545</a> <em 
class="jxr_javadoccomment">     * Gets an array containing the names of all 
currently defined configuration attributes. If there are no such attributes, a 
zero length array is returned.</em>
+<a class="jxr_linenumber" name="L1546" href="#L1546">1546</a> <em 
class="jxr_javadoccomment">     *</em>
+<a class="jxr_linenumber" name="L1547" href="#L1547">1547</a> <em 
class="jxr_javadoccomment">     * @return an array containing the names of all 
currently defined configuration attributes</em>
+<a class="jxr_linenumber" name="L1548" href="#L1548">1548</a> <em 
class="jxr_javadoccomment">     */</em>
+<a class="jxr_linenumber" name="L1549" href="#L1549">1549</a>     <strong 
class="jxr_keyword">public</strong> <strong 
class="jxr_keyword">abstract</strong> String[] getAttributeNames();
+<a class="jxr_linenumber" name="L1550" href="#L1550">1550</a> 
+<a class="jxr_linenumber" name="L1551" href="#L1551">1551</a>     <em 
class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L1552" href="#L1552">1552</a> <em 
class="jxr_javadoccomment">     * Convenience method to derive a name from the 
specified class and call {@code getInstance(String)} with it.</em>
+<a class="jxr_linenumber" name="L1553" href="#L1553">1553</a> <em 
class="jxr_javadoccomment">     *</em>
+<a class="jxr_linenumber" name="L1554" href="#L1554">1554</a> <em 
class="jxr_javadoccomment">     * @param clazz Class for which a suitable Log 
name will be derived</em>
+<a class="jxr_linenumber" name="L1555" href="#L1555">1555</a> <em 
class="jxr_javadoccomment">     * @return a name from the specified class.</em>
+<a class="jxr_linenumber" name="L1556" href="#L1556">1556</a> <em 
class="jxr_javadoccomment">     * @throws LogConfigurationException if a 
suitable {@code Log} instance cannot be returned</em>
+<a class="jxr_linenumber" name="L1557" href="#L1557">1557</a> <em 
class="jxr_javadoccomment">     */</em>
+<a class="jxr_linenumber" name="L1558" href="#L1558">1558</a>     <strong 
class="jxr_keyword">public</strong> <strong 
class="jxr_keyword">abstract</strong> <a name="Log" 
href="../../../../org/apache/commons/logging/Log.html#Log">Log</a> 
getInstance(Class&lt;?&gt; clazz) <strong class="jxr_keyword">throws</strong> 
LogConfigurationException;
+<a class="jxr_linenumber" name="L1559" href="#L1559">1559</a> 
+<a class="jxr_linenumber" name="L1560" href="#L1560">1560</a>     <em 
class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L1561" href="#L1561">1561</a> <em 
class="jxr_javadoccomment">     * Constructs (if necessary) and return a {@code 
Log} instance, using the factory's current set of configuration attributes.</em>
+<a class="jxr_linenumber" name="L1562" href="#L1562">1562</a> <em 
class="jxr_javadoccomment">     * &lt;p&gt;</em>
+<a class="jxr_linenumber" name="L1563" href="#L1563">1563</a> <em 
class="jxr_javadoccomment">     * &lt;strong&gt;NOTE&lt;/strong&gt; - Depending 
upon the implementation of the {@code LogFactory} you are using, the {@code 
Log} instance you are returned may or may</em>
+<a class="jxr_linenumber" name="L1564" href="#L1564">1564</a> <em 
class="jxr_javadoccomment">     * not be local to the current application, and 
may or may not be returned again on a subsequent call with the same name 
argument.</em>
+<a class="jxr_linenumber" name="L1565" href="#L1565">1565</a> <em 
class="jxr_javadoccomment">     * &lt;/p&gt;</em>
+<a class="jxr_linenumber" name="L1566" href="#L1566">1566</a> <em 
class="jxr_javadoccomment">     *</em>
+<a class="jxr_linenumber" name="L1567" href="#L1567">1567</a> <em 
class="jxr_javadoccomment">     * @param name Logical name of the {@code Log} 
instance to be returned (the meaning of this name is only known to the 
underlying logging implementation that</em>
+<a class="jxr_linenumber" name="L1568" href="#L1568">1568</a> <em 
class="jxr_javadoccomment">     *             is being wrapped)</em>
+<a class="jxr_linenumber" name="L1569" href="#L1569">1569</a> <em 
class="jxr_javadoccomment">     * @return a {@code Log} instance.</em>
+<a class="jxr_linenumber" name="L1570" href="#L1570">1570</a> <em 
class="jxr_javadoccomment">     * @throws LogConfigurationException if a 
suitable {@code Log} instance cannot be returned</em>
+<a class="jxr_linenumber" name="L1571" href="#L1571">1571</a> <em 
class="jxr_javadoccomment">     */</em>
+<a class="jxr_linenumber" name="L1572" href="#L1572">1572</a>     <strong 
class="jxr_keyword">public</strong> <strong 
class="jxr_keyword">abstract</strong> <a name="Log" 
href="../../../../org/apache/commons/logging/Log.html#Log">Log</a> 
getInstance(String name)
+<a class="jxr_linenumber" name="L1573" href="#L1573">1573</a>         <strong 
class="jxr_keyword">throws</strong> LogConfigurationException;
+<a class="jxr_linenumber" name="L1574" href="#L1574">1574</a> 
+<a class="jxr_linenumber" name="L1575" href="#L1575">1575</a>     <em 
class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L1576" href="#L1576">1576</a> <em 
class="jxr_javadoccomment">     * Release any internal references to previously 
created {@link Log}</em>
+<a class="jxr_linenumber" name="L1577" href="#L1577">1577</a> <em 
class="jxr_javadoccomment">     * instances returned by this factory.  This is 
useful in environments</em>
+<a class="jxr_linenumber" name="L1578" href="#L1578">1578</a> <em 
class="jxr_javadoccomment">     * like servlet containers, which implement 
application reloading by</em>
+<a class="jxr_linenumber" name="L1579" href="#L1579">1579</a> <em 
class="jxr_javadoccomment">     * throwing away a ClassLoader.  Dangling 
references to objects in that</em>
+<a class="jxr_linenumber" name="L1580" href="#L1580">1580</a> <em 
class="jxr_javadoccomment">     * class loader would prevent garbage 
collection.</em>
+<a class="jxr_linenumber" name="L1581" href="#L1581">1581</a> <em 
class="jxr_javadoccomment">     */</em>
+<a class="jxr_linenumber" name="L1582" href="#L1582">1582</a>     <strong 
class="jxr_keyword">public</strong> <strong 
class="jxr_keyword">abstract</strong> <strong class="jxr_keyword">void</strong> 
release();
+<a class="jxr_linenumber" name="L1583" href="#L1583">1583</a> 
+<a class="jxr_linenumber" name="L1584" href="#L1584">1584</a>     <em 
class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L1585" href="#L1585">1585</a> <em 
class="jxr_javadoccomment">     * Remove any configuration attribute associated 
with the specified name.</em>
+<a class="jxr_linenumber" name="L1586" href="#L1586">1586</a> <em 
class="jxr_javadoccomment">     * If there is no such attribute, no action is 
taken.</em>
+<a class="jxr_linenumber" name="L1587" href="#L1587">1587</a> <em 
class="jxr_javadoccomment">     *</em>
+<a class="jxr_linenumber" name="L1588" href="#L1588">1588</a> <em 
class="jxr_javadoccomment">     * @param name Name of the attribute to 
remove</em>
+<a class="jxr_linenumber" name="L1589" href="#L1589">1589</a> <em 
class="jxr_javadoccomment">     */</em>
+<a class="jxr_linenumber" name="L1590" href="#L1590">1590</a>     <strong 
class="jxr_keyword">public</strong> <strong 
class="jxr_keyword">abstract</strong> <strong class="jxr_keyword">void</strong> 
removeAttribute(String name);
+<a class="jxr_linenumber" name="L1591" href="#L1591">1591</a> 
+<a class="jxr_linenumber" name="L1592" href="#L1592">1592</a>     <em 
class="jxr_comment">//</em>
+<a class="jxr_linenumber" name="L1593" href="#L1593">1593</a>     <em 
class="jxr_comment">// We can't do this in the class constructor, as there are 
many</em>
+<a class="jxr_linenumber" name="L1594" href="#L1594">1594</a>     <em 
class="jxr_comment">// static methods on this class that can be called before 
any</em>
+<a class="jxr_linenumber" name="L1595" href="#L1595">1595</a>     <em 
class="jxr_comment">// LogFactory instances are created, and they depend upon 
this</em>
+<a class="jxr_linenumber" name="L1596" href="#L1596">1596</a>     <em 
class="jxr_comment">// stuff having been set up.</em>
+<a class="jxr_linenumber" name="L1597" href="#L1597">1597</a>     <em 
class="jxr_comment">//</em>
+<a class="jxr_linenumber" name="L1598" href="#L1598">1598</a>     <em 
class="jxr_comment">// Note that this block must come after any variable 
declarations used</em>
+<a class="jxr_linenumber" name="L1599" href="#L1599">1599</a>     <em 
class="jxr_comment">// by any methods called from this block, as we want any 
static initializer</em>
+<a class="jxr_linenumber" name="L1600" href="#L1600">1600</a>     <em 
class="jxr_comment">// associated with the variable to run first. If static 
initializers for</em>
+<a class="jxr_linenumber" name="L1601" href="#L1601">1601</a>     <em 
class="jxr_comment">// variables run after this code, then (a) their value 
might be needed</em>
+<a class="jxr_linenumber" name="L1602" href="#L1602">1602</a>     <em 
class="jxr_comment">// by methods called from here, and (b) they might 
*override* any value</em>
+<a class="jxr_linenumber" name="L1603" href="#L1603">1603</a>     <em 
class="jxr_comment">// computed here!</em>
+<a class="jxr_linenumber" name="L1604" href="#L1604">1604</a>     <em 
class="jxr_comment">//</em>
+<a class="jxr_linenumber" name="L1605" href="#L1605">1605</a>     <em 
class="jxr_comment">// So the wisest thing to do is just to place this code at 
the very end</em>
+<a class="jxr_linenumber" name="L1606" href="#L1606">1606</a>     <em 
class="jxr_comment">// of the class file.</em>
+<a class="jxr_linenumber" name="L1607" href="#L1607">1607</a> 
+<a class="jxr_linenumber" name="L1608" href="#L1608">1608</a>     <em 
class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L1609" href="#L1609">1609</a> <em 
class="jxr_javadoccomment">     * Sets the configuration attribute with the 
specified name.  Calling</em>
+<a class="jxr_linenumber" name="L1610" href="#L1610">1610</a> <em 
class="jxr_javadoccomment">     * this with a {@code null} value is equivalent 
to calling</em>
+<a class="jxr_linenumber" name="L1611" href="#L1611">1611</a> <em 
class="jxr_javadoccomment">     * {@code removeAttribute(name)}.</em>
+<a class="jxr_linenumber" name="L1612" href="#L1612">1612</a> <em 
class="jxr_javadoccomment">     *</em>
+<a class="jxr_linenumber" name="L1613" href="#L1613">1613</a> <em 
class="jxr_javadoccomment">     * @param name Name of the attribute to set</em>
+<a class="jxr_linenumber" name="L1614" href="#L1614">1614</a> <em 
class="jxr_javadoccomment">     * @param value Value of the attribute to set, 
or {@code null}</em>
+<a class="jxr_linenumber" name="L1615" href="#L1615">1615</a> <em 
class="jxr_javadoccomment">     *  to remove any setting for this attribute</em>
+<a class="jxr_linenumber" name="L1616" href="#L1616">1616</a> <em 
class="jxr_javadoccomment">     */</em>
+<a class="jxr_linenumber" name="L1617" href="#L1617">1617</a>     <strong 
class="jxr_keyword">public</strong> <strong 
class="jxr_keyword">abstract</strong> <strong class="jxr_keyword">void</strong> 
setAttribute(String name, Object value);
+<a class="jxr_linenumber" name="L1618" href="#L1618">1618</a> 
+<a class="jxr_linenumber" name="L1619" href="#L1619">1619</a> }
 </pre>
 <hr/>
 <div id="footer">Copyright &#169; 2001&#x2013;2024 <a 
href="https://www.apache.org/";>The Apache Software Foundation</a>. All rights 
reserved.</div>

Modified: 
websites/production/commons/content/proper/commons-logging/xref/org/apache/commons/logging/LogSource.html
==============================================================================
--- 
websites/production/commons/content/proper/commons-logging/xref/org/apache/commons/logging/LogSource.html
 (original)
+++ 
websites/production/commons/content/proper/commons-logging/xref/org/apache/commons/logging/LogSource.html
 Wed May 15 16:57:04 2024
@@ -69,53 +69,53 @@
 <a class="jxr_linenumber" name="L61" href="#L61">61</a>      <em 
class="jxr_javadoccomment">/** Is Log4j available (in the current classpath) 
*/</em>
 <a class="jxr_linenumber" name="L62" href="#L62">62</a>      <strong 
class="jxr_keyword">static</strong> <strong 
class="jxr_keyword">protected</strong> <strong 
class="jxr_keyword">boolean</strong> log4jIsAvailable;
 <a class="jxr_linenumber" name="L63" href="#L63">63</a>  
-<a class="jxr_linenumber" name="L64" href="#L64">64</a>      <em 
class="jxr_javadoccomment">/** Is JDK 1.4 logging available */</em>
-<a class="jxr_linenumber" name="L65" href="#L65">65</a>      <strong 
class="jxr_keyword">static</strong> <strong 
class="jxr_keyword">protected</strong> <strong 
class="jxr_keyword">boolean</strong> jdk14IsAvailable;
-<a class="jxr_linenumber" name="L66" href="#L66">66</a>  
-<a class="jxr_linenumber" name="L67" href="#L67">67</a>      <em 
class="jxr_javadoccomment">/** Constructor for current log class */</em>
-<a class="jxr_linenumber" name="L68" href="#L68">68</a>      <strong 
class="jxr_keyword">static</strong> <strong 
class="jxr_keyword">protected</strong> Constructor&lt;?&gt; logImplctor;
-<a class="jxr_linenumber" name="L69" href="#L69">69</a>  
-<a class="jxr_linenumber" name="L70" href="#L70">70</a>      <em 
class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L71" href="#L71">71</a>  <em 
class="jxr_javadoccomment">     * An empty immutable {@code String} array.</em>
-<a class="jxr_linenumber" name="L72" href="#L72">72</a>  <em 
class="jxr_javadoccomment">     */</em>
-<a class="jxr_linenumber" name="L73" href="#L73">73</a>      <strong 
class="jxr_keyword">private</strong> <strong 
class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> 
String[] EMPTY_STRING_ARRAY = {};
+<a class="jxr_linenumber" name="L64" href="#L64">64</a>      <em 
class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L65" href="#L65">65</a>  <em 
class="jxr_javadoccomment">     * Is JDK 1.4 logging available, always 
true.</em>
+<a class="jxr_linenumber" name="L66" href="#L66">66</a>  <em 
class="jxr_javadoccomment">     *</em>
+<a class="jxr_linenumber" name="L67" href="#L67">67</a>  <em 
class="jxr_javadoccomment">     * @deprecated Java 8 is the baseline and 
includes JUL.</em>
+<a class="jxr_linenumber" name="L68" href="#L68">68</a>  <em 
class="jxr_javadoccomment">     */</em>
+<a class="jxr_linenumber" name="L69" href="#L69">69</a>      @Deprecated
+<a class="jxr_linenumber" name="L70" href="#L70">70</a>      <strong 
class="jxr_keyword">static</strong> <strong 
class="jxr_keyword">protected</strong> <strong 
class="jxr_keyword">boolean</strong> jdk14IsAvailable = <strong 
class="jxr_keyword">true</strong>;
+<a class="jxr_linenumber" name="L71" href="#L71">71</a>  
+<a class="jxr_linenumber" name="L72" href="#L72">72</a>      <em 
class="jxr_javadoccomment">/** Constructor for current log class */</em>
+<a class="jxr_linenumber" name="L73" href="#L73">73</a>      <strong 
class="jxr_keyword">static</strong> <strong 
class="jxr_keyword">protected</strong> Constructor&lt;?&gt; logImplctor;
 <a class="jxr_linenumber" name="L74" href="#L74">74</a>  
-<a class="jxr_linenumber" name="L75" href="#L75">75</a>      <strong 
class="jxr_keyword">static</strong> {
-<a class="jxr_linenumber" name="L76" href="#L76">76</a>  
-<a class="jxr_linenumber" name="L77" href="#L77">77</a>          <em 
class="jxr_comment">// Is Log4J Available?</em>
-<a class="jxr_linenumber" name="L78" href="#L78">78</a>          
log4jIsAvailable = isClassForName(<span 
class="jxr_string">"org.apache.log4j.Logger"</span>);
+<a class="jxr_linenumber" name="L75" href="#L75">75</a>      <em 
class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L76" href="#L76">76</a>  <em 
class="jxr_javadoccomment">     * An empty immutable {@code String} array.</em>
+<a class="jxr_linenumber" name="L77" href="#L77">77</a>  <em 
class="jxr_javadoccomment">     */</em>
+<a class="jxr_linenumber" name="L78" href="#L78">78</a>      <strong 
class="jxr_keyword">private</strong> <strong 
class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> 
String[] EMPTY_STRING_ARRAY = {};
 <a class="jxr_linenumber" name="L79" href="#L79">79</a>  
-<a class="jxr_linenumber" name="L80" href="#L80">80</a>          <em 
class="jxr_comment">// Is JDK 1.4 Logging Available?</em>
-<a class="jxr_linenumber" name="L81" href="#L81">81</a>          
jdk14IsAvailable = isClassForName(<span 
class="jxr_string">"org.apache.commons.logging.impl.Jdk14Logger"</span>);
-<a class="jxr_linenumber" name="L82" href="#L82">82</a>  
-<a class="jxr_linenumber" name="L83" href="#L83">83</a>          <em 
class="jxr_comment">// Set the default Log implementation</em>
-<a class="jxr_linenumber" name="L84" href="#L84">84</a>          String name = 
<strong class="jxr_keyword">null</strong>;
-<a class="jxr_linenumber" name="L85" href="#L85">85</a>          <strong 
class="jxr_keyword">try</strong> {
-<a class="jxr_linenumber" name="L86" href="#L86">86</a>              name = 
System.getProperty(<span 
class="jxr_string">"org.apache.commons.logging.log"</span>);
-<a class="jxr_linenumber" name="L87" href="#L87">87</a>              <strong 
class="jxr_keyword">if</strong> (name == <strong 
class="jxr_keyword">null</strong>) {
-<a class="jxr_linenumber" name="L88" href="#L88">88</a>                  name 
= System.getProperty(<span 
class="jxr_string">"org.apache.commons.logging.Log"</span>);
-<a class="jxr_linenumber" name="L89" href="#L89">89</a>              }
-<a class="jxr_linenumber" name="L90" href="#L90">90</a>          } <strong 
class="jxr_keyword">catch</strong> (<strong class="jxr_keyword">final</strong> 
Throwable ignore) {
-<a class="jxr_linenumber" name="L91" href="#L91">91</a>              <em 
class="jxr_comment">// Ignore</em>
-<a class="jxr_linenumber" name="L92" href="#L92">92</a>          }
-<a class="jxr_linenumber" name="L93" href="#L93">93</a>          <strong 
class="jxr_keyword">if</strong> (name != <strong 
class="jxr_keyword">null</strong>) {
-<a class="jxr_linenumber" name="L94" href="#L94">94</a>              <strong 
class="jxr_keyword">try</strong> {
-<a class="jxr_linenumber" name="L95" href="#L95">95</a>                  
setLogImplementation(name);
-<a class="jxr_linenumber" name="L96" href="#L96">96</a>              } <strong 
class="jxr_keyword">catch</strong> (<strong class="jxr_keyword">final</strong> 
Throwable t) {
-<a class="jxr_linenumber" name="L97" href="#L97">97</a>                  
<strong class="jxr_keyword">try</strong> {
-<a class="jxr_linenumber" name="L98" href="#L98">98</a>                      
setLogImplementation(<span 
class="jxr_string">"org.apache.commons.logging.impl.NoOpLog"</span>);
-<a class="jxr_linenumber" name="L99" href="#L99">99</a>                  } 
<strong class="jxr_keyword">catch</strong> (<strong 
class="jxr_keyword">final</strong> Throwable ignore) {
-<a class="jxr_linenumber" name="L100" href="#L100">100</a>                     
<em class="jxr_comment">// Ignore</em>
-<a class="jxr_linenumber" name="L101" href="#L101">101</a>                 }
-<a class="jxr_linenumber" name="L102" href="#L102">102</a>             }
-<a class="jxr_linenumber" name="L103" href="#L103">103</a>         } <strong 
class="jxr_keyword">else</strong> {
-<a class="jxr_linenumber" name="L104" href="#L104">104</a>             <strong 
class="jxr_keyword">try</strong> {
-<a class="jxr_linenumber" name="L105" href="#L105">105</a>                 
<strong class="jxr_keyword">if</strong> (log4jIsAvailable) {
-<a class="jxr_linenumber" name="L106" href="#L106">106</a>                     
setLogImplementation(<span 
class="jxr_string">"org.apache.commons.logging.impl.Log4JLogger"</span>);
-<a class="jxr_linenumber" name="L107" href="#L107">107</a>                 } 
<strong class="jxr_keyword">else</strong> <strong 
class="jxr_keyword">if</strong> (jdk14IsAvailable) {
-<a class="jxr_linenumber" name="L108" href="#L108">108</a>                     
setLogImplementation(<span 
class="jxr_string">"org.apache.commons.logging.impl.Jdk14Logger"</span>);
+<a class="jxr_linenumber" name="L80" href="#L80">80</a>      <strong 
class="jxr_keyword">static</strong> {
+<a class="jxr_linenumber" name="L81" href="#L81">81</a>  
+<a class="jxr_linenumber" name="L82" href="#L82">82</a>          <em 
class="jxr_comment">// Is Log4J Available?</em>
+<a class="jxr_linenumber" name="L83" href="#L83">83</a>          
log4jIsAvailable = isClassForName(<span 
class="jxr_string">"org.apache.log4j.Logger"</span>);
+<a class="jxr_linenumber" name="L84" href="#L84">84</a>  
+<a class="jxr_linenumber" name="L85" href="#L85">85</a>          <em 
class="jxr_comment">// Set the default Log implementation</em>
+<a class="jxr_linenumber" name="L86" href="#L86">86</a>          String name = 
<strong class="jxr_keyword">null</strong>;
+<a class="jxr_linenumber" name="L87" href="#L87">87</a>          <strong 
class="jxr_keyword">try</strong> {
+<a class="jxr_linenumber" name="L88" href="#L88">88</a>              name = 
System.getProperty(<span 
class="jxr_string">"org.apache.commons.logging.log"</span>);
+<a class="jxr_linenumber" name="L89" href="#L89">89</a>              <strong 
class="jxr_keyword">if</strong> (name == <strong 
class="jxr_keyword">null</strong>) {
+<a class="jxr_linenumber" name="L90" href="#L90">90</a>                  name 
= System.getProperty(<span 
class="jxr_string">"org.apache.commons.logging.Log"</span>);
+<a class="jxr_linenumber" name="L91" href="#L91">91</a>              }
+<a class="jxr_linenumber" name="L92" href="#L92">92</a>          } <strong 
class="jxr_keyword">catch</strong> (<strong class="jxr_keyword">final</strong> 
Throwable ignore) {
+<a class="jxr_linenumber" name="L93" href="#L93">93</a>              <em 
class="jxr_comment">// Ignore</em>
+<a class="jxr_linenumber" name="L94" href="#L94">94</a>          }
+<a class="jxr_linenumber" name="L95" href="#L95">95</a>          <strong 
class="jxr_keyword">if</strong> (name != <strong 
class="jxr_keyword">null</strong>) {
+<a class="jxr_linenumber" name="L96" href="#L96">96</a>              <strong 
class="jxr_keyword">try</strong> {
+<a class="jxr_linenumber" name="L97" href="#L97">97</a>                  
setLogImplementation(name);
+<a class="jxr_linenumber" name="L98" href="#L98">98</a>              } <strong 
class="jxr_keyword">catch</strong> (<strong class="jxr_keyword">final</strong> 
Throwable t) {
+<a class="jxr_linenumber" name="L99" href="#L99">99</a>                  
<strong class="jxr_keyword">try</strong> {
+<a class="jxr_linenumber" name="L100" href="#L100">100</a>                     
setLogImplementation(<span 
class="jxr_string">"org.apache.commons.logging.impl.NoOpLog"</span>);
+<a class="jxr_linenumber" name="L101" href="#L101">101</a>                 } 
<strong class="jxr_keyword">catch</strong> (<strong 
class="jxr_keyword">final</strong> Throwable ignore) {
+<a class="jxr_linenumber" name="L102" href="#L102">102</a>                     
<em class="jxr_comment">// Ignore</em>
+<a class="jxr_linenumber" name="L103" href="#L103">103</a>                 }
+<a class="jxr_linenumber" name="L104" href="#L104">104</a>             }
+<a class="jxr_linenumber" name="L105" href="#L105">105</a>         } <strong 
class="jxr_keyword">else</strong> {
+<a class="jxr_linenumber" name="L106" href="#L106">106</a>             <strong 
class="jxr_keyword">try</strong> {
+<a class="jxr_linenumber" name="L107" href="#L107">107</a>                 
<strong class="jxr_keyword">if</strong> (log4jIsAvailable) {
+<a class="jxr_linenumber" name="L108" href="#L108">108</a>                     
setLogImplementation(<span 
class="jxr_string">"org.apache.commons.logging.impl.Log4JLogger"</span>);
 <a class="jxr_linenumber" name="L109" href="#L109">109</a>                 } 
<strong class="jxr_keyword">else</strong> {
-<a class="jxr_linenumber" name="L110" href="#L110">110</a>                     
setLogImplementation(<span 
class="jxr_string">"org.apache.commons.logging.impl.NoOpLog"</span>);
+<a class="jxr_linenumber" name="L110" href="#L110">110</a>                     
setLogImplementation(<span 
class="jxr_string">"org.apache.commons.logging.impl.Jdk14Logger"</span>);
 <a class="jxr_linenumber" name="L111" href="#L111">111</a>                 }
 <a class="jxr_linenumber" name="L112" href="#L112">112</a>             } 
<strong class="jxr_keyword">catch</strong> (<strong 
class="jxr_keyword">final</strong> Throwable t) {
 <a class="jxr_linenumber" name="L113" href="#L113">113</a>                 
<strong class="jxr_keyword">try</strong> {

Modified: 
websites/production/commons/content/proper/commons-logging/xref/org/apache/commons/logging/impl/AvalonLogger.html
==============================================================================
--- 
websites/production/commons/content/proper/commons-logging/xref/org/apache/commons/logging/impl/AvalonLogger.html
 (original)
+++ 
websites/production/commons/content/proper/commons-logging/xref/org/apache/commons/logging/impl/AvalonLogger.html
 Wed May 15 16:57:04 2024
@@ -95,7 +95,7 @@
 <a class="jxr_linenumber" name="L87" href="#L87">87</a>  <em 
class="jxr_javadoccomment">     * @param name the name of the avalon logger 
implementation to delegate to</em>
 <a class="jxr_linenumber" name="L88" href="#L88">88</a>  <em 
class="jxr_javadoccomment">     */</em>
 <a class="jxr_linenumber" name="L89" href="#L89">89</a>      <strong 
class="jxr_keyword">public</strong> <a name="AvalonLogger" 
href="../../../../../org/apache/commons/logging/impl/AvalonLogger.html#AvalonLogger">AvalonLogger</a>(<strong
 class="jxr_keyword">final</strong> String name) {
-<a class="jxr_linenumber" name="L90" href="#L90">90</a>          
Objects.requireNonNull(defaultLogger, <span class="jxr_string">"default logger 
has to be specified if this constructor is used!"</span>);
+<a class="jxr_linenumber" name="L90" href="#L90">90</a>          
Objects.requireNonNull(defaultLogger, <span 
class="jxr_string">"defaultLogger"</span>);
 <a class="jxr_linenumber" name="L91" href="#L91">91</a>          <strong 
class="jxr_keyword">this</strong>.logger = defaultLogger.getChildLogger(name);
 <a class="jxr_linenumber" name="L92" href="#L92">92</a>      }
 <a class="jxr_linenumber" name="L93" href="#L93">93</a>  

Modified: 
websites/production/commons/content/proper/commons-logging/xref/org/apache/commons/logging/impl/Log4jApiLogFactory.html
==============================================================================
--- 
websites/production/commons/content/proper/commons-logging/xref/org/apache/commons/logging/impl/Log4jApiLogFactory.html
 (original)
+++ 
websites/production/commons/content/proper/commons-logging/xref/org/apache/commons/logging/impl/Log4jApiLogFactory.html
 Wed May 15 16:57:04 2024
@@ -191,53 +191,60 @@
 <a class="jxr_linenumber" name="L183" href="#L183">183</a> 
 <a class="jxr_linenumber" name="L184" href="#L184">184</a>     <strong 
class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> 
ConcurrentMap&lt;String, Object&gt; attributes = <strong 
class="jxr_keyword">new</strong> ConcurrentHashMap&lt;&gt;();
 <a class="jxr_linenumber" name="L185" href="#L185">185</a> 
-<a class="jxr_linenumber" name="L186" href="#L186">186</a>     @Override
-<a class="jxr_linenumber" name="L187" href="#L187">187</a>     <strong 
class="jxr_keyword">public</strong> Object getAttribute(<strong 
class="jxr_keyword">final</strong> String name) {
-<a class="jxr_linenumber" name="L188" href="#L188">188</a>         <strong 
class="jxr_keyword">return</strong> attributes.get(name);
-<a class="jxr_linenumber" name="L189" href="#L189">189</a>     }
-<a class="jxr_linenumber" name="L190" href="#L190">190</a> 
-<a class="jxr_linenumber" name="L191" href="#L191">191</a>     @Override
-<a class="jxr_linenumber" name="L192" href="#L192">192</a>     <strong 
class="jxr_keyword">public</strong> String[] getAttributeNames() {
-<a class="jxr_linenumber" name="L193" href="#L193">193</a>         <strong 
class="jxr_keyword">return</strong> attributes.keySet().toArray(EMPTY_ARRAY);
-<a class="jxr_linenumber" name="L194" href="#L194">194</a>     }
-<a class="jxr_linenumber" name="L195" href="#L195">195</a> 
-<a class="jxr_linenumber" name="L196" href="#L196">196</a>     @Override
-<a class="jxr_linenumber" name="L197" href="#L197">197</a>     <strong 
class="jxr_keyword">public</strong> <a name="Log" 
href="../../../../../org/apache/commons/logging/Log.html#Log">Log</a> 
getInstance(<strong class="jxr_keyword">final</strong> Class&lt;?&gt; clazz) {
-<a class="jxr_linenumber" name="L198" href="#L198">198</a>         <strong 
class="jxr_keyword">return</strong> getInstance(clazz.getName());
-<a class="jxr_linenumber" name="L199" href="#L199">199</a>     }
-<a class="jxr_linenumber" name="L200" href="#L200">200</a> 
-<a class="jxr_linenumber" name="L201" href="#L201">201</a>     @Override
-<a class="jxr_linenumber" name="L202" href="#L202">202</a>     <strong 
class="jxr_keyword">public</strong> <a name="Log" 
href="../../../../../org/apache/commons/logging/Log.html#Log">Log</a> 
getInstance(<strong class="jxr_keyword">final</strong> String name) {
-<a class="jxr_linenumber" name="L203" href="#L203">203</a>         <strong 
class="jxr_keyword">return</strong> adapter.getLogger(name);
-<a class="jxr_linenumber" name="L204" href="#L204">204</a>     }
-<a class="jxr_linenumber" name="L205" href="#L205">205</a> 
-<a class="jxr_linenumber" name="L206" href="#L206">206</a>     <em 
class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L207" href="#L207">207</a> <em 
class="jxr_javadoccomment">     * This method is supposed to clear all loggers. 
In this implementation it will clear all the logger</em>
-<a class="jxr_linenumber" name="L208" href="#L208">208</a> <em 
class="jxr_javadoccomment">     * wrappers but the loggers managed by the 
underlying logger context will not be.</em>
-<a class="jxr_linenumber" name="L209" href="#L209">209</a> <em 
class="jxr_javadoccomment">     */</em>
-<a class="jxr_linenumber" name="L210" href="#L210">210</a>     @Override
-<a class="jxr_linenumber" name="L211" href="#L211">211</a>     <strong 
class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> 
release() {
-<a class="jxr_linenumber" name="L212" href="#L212">212</a>         <strong 
class="jxr_keyword">try</strong> {
-<a class="jxr_linenumber" name="L213" href="#L213">213</a>             
adapter.close();
-<a class="jxr_linenumber" name="L214" href="#L214">214</a>         } <strong 
class="jxr_keyword">catch</strong> (<strong class="jxr_keyword">final</strong> 
IOException ignored) {
-<a class="jxr_linenumber" name="L215" href="#L215">215</a>             <em 
class="jxr_comment">// Ignore</em>
-<a class="jxr_linenumber" name="L216" href="#L216">216</a>         }
-<a class="jxr_linenumber" name="L217" href="#L217">217</a>     }
-<a class="jxr_linenumber" name="L218" href="#L218">218</a> 
-<a class="jxr_linenumber" name="L219" href="#L219">219</a>     @Override
-<a class="jxr_linenumber" name="L220" href="#L220">220</a>     <strong 
class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> 
removeAttribute(<strong class="jxr_keyword">final</strong> String name) {
-<a class="jxr_linenumber" name="L221" href="#L221">221</a>         
attributes.remove(name);
-<a class="jxr_linenumber" name="L222" href="#L222">222</a>     }
-<a class="jxr_linenumber" name="L223" href="#L223">223</a> 
-<a class="jxr_linenumber" name="L224" href="#L224">224</a>     @Override
-<a class="jxr_linenumber" name="L225" href="#L225">225</a>     <strong 
class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> 
setAttribute(<strong class="jxr_keyword">final</strong> String name, <strong 
class="jxr_keyword">final</strong> Object value) {
-<a class="jxr_linenumber" name="L226" href="#L226">226</a>         <strong 
class="jxr_keyword">if</strong> (value != <strong 
class="jxr_keyword">null</strong>) {
-<a class="jxr_linenumber" name="L227" href="#L227">227</a>             
attributes.put(name, value);
-<a class="jxr_linenumber" name="L228" href="#L228">228</a>         } <strong 
class="jxr_keyword">else</strong> {
-<a class="jxr_linenumber" name="L229" href="#L229">229</a>             
removeAttribute(name);
-<a class="jxr_linenumber" name="L230" href="#L230">230</a>         }
-<a class="jxr_linenumber" name="L231" href="#L231">231</a>     }
-<a class="jxr_linenumber" name="L232" href="#L232">232</a> }
+<a class="jxr_linenumber" name="L186" href="#L186">186</a>     <em 
class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L187" href="#L187">187</a> <em 
class="jxr_javadoccomment">     * Constructs a new instance.</em>
+<a class="jxr_linenumber" name="L188" href="#L188">188</a> <em 
class="jxr_javadoccomment">     */</em>
+<a class="jxr_linenumber" name="L189" href="#L189">189</a>     <strong 
class="jxr_keyword">public</strong> <a name="Log4jApiLogFactory" 
href="../../../../../org/apache/commons/logging/impl/Log4jApiLogFactory.html#Log4jApiLogFactory">Log4jApiLogFactory</a>()
 {
+<a class="jxr_linenumber" name="L190" href="#L190">190</a>         <em 
class="jxr_comment">// empty</em>
+<a class="jxr_linenumber" name="L191" href="#L191">191</a>     }
+<a class="jxr_linenumber" name="L192" href="#L192">192</a> 
+<a class="jxr_linenumber" name="L193" href="#L193">193</a>     @Override
+<a class="jxr_linenumber" name="L194" href="#L194">194</a>     <strong 
class="jxr_keyword">public</strong> Object getAttribute(<strong 
class="jxr_keyword">final</strong> String name) {
+<a class="jxr_linenumber" name="L195" href="#L195">195</a>         <strong 
class="jxr_keyword">return</strong> attributes.get(name);
+<a class="jxr_linenumber" name="L196" href="#L196">196</a>     }
+<a class="jxr_linenumber" name="L197" href="#L197">197</a> 
+<a class="jxr_linenumber" name="L198" href="#L198">198</a>     @Override
+<a class="jxr_linenumber" name="L199" href="#L199">199</a>     <strong 
class="jxr_keyword">public</strong> String[] getAttributeNames() {
+<a class="jxr_linenumber" name="L200" href="#L200">200</a>         <strong 
class="jxr_keyword">return</strong> attributes.keySet().toArray(EMPTY_ARRAY);
+<a class="jxr_linenumber" name="L201" href="#L201">201</a>     }
+<a class="jxr_linenumber" name="L202" href="#L202">202</a> 
+<a class="jxr_linenumber" name="L203" href="#L203">203</a>     @Override
+<a class="jxr_linenumber" name="L204" href="#L204">204</a>     <strong 
class="jxr_keyword">public</strong> <a name="Log" 
href="../../../../../org/apache/commons/logging/Log.html#Log">Log</a> 
getInstance(<strong class="jxr_keyword">final</strong> Class&lt;?&gt; clazz) {
+<a class="jxr_linenumber" name="L205" href="#L205">205</a>         <strong 
class="jxr_keyword">return</strong> getInstance(clazz.getName());
+<a class="jxr_linenumber" name="L206" href="#L206">206</a>     }
+<a class="jxr_linenumber" name="L207" href="#L207">207</a> 
+<a class="jxr_linenumber" name="L208" href="#L208">208</a>     @Override
+<a class="jxr_linenumber" name="L209" href="#L209">209</a>     <strong 
class="jxr_keyword">public</strong> <a name="Log" 
href="../../../../../org/apache/commons/logging/Log.html#Log">Log</a> 
getInstance(<strong class="jxr_keyword">final</strong> String name) {
+<a class="jxr_linenumber" name="L210" href="#L210">210</a>         <strong 
class="jxr_keyword">return</strong> adapter.getLogger(name);
+<a class="jxr_linenumber" name="L211" href="#L211">211</a>     }
+<a class="jxr_linenumber" name="L212" href="#L212">212</a> 
+<a class="jxr_linenumber" name="L213" href="#L213">213</a>     <em 
class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L214" href="#L214">214</a> <em 
class="jxr_javadoccomment">     * This method is supposed to clear all loggers. 
In this implementation it will clear all the logger</em>
+<a class="jxr_linenumber" name="L215" href="#L215">215</a> <em 
class="jxr_javadoccomment">     * wrappers but the loggers managed by the 
underlying logger context will not be.</em>
+<a class="jxr_linenumber" name="L216" href="#L216">216</a> <em 
class="jxr_javadoccomment">     */</em>
+<a class="jxr_linenumber" name="L217" href="#L217">217</a>     @Override
+<a class="jxr_linenumber" name="L218" href="#L218">218</a>     <strong 
class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> 
release() {
+<a class="jxr_linenumber" name="L219" href="#L219">219</a>         <strong 
class="jxr_keyword">try</strong> {
+<a class="jxr_linenumber" name="L220" href="#L220">220</a>             
adapter.close();
+<a class="jxr_linenumber" name="L221" href="#L221">221</a>         } <strong 
class="jxr_keyword">catch</strong> (<strong class="jxr_keyword">final</strong> 
IOException ignored) {
+<a class="jxr_linenumber" name="L222" href="#L222">222</a>             <em 
class="jxr_comment">// Ignore</em>
+<a class="jxr_linenumber" name="L223" href="#L223">223</a>         }
+<a class="jxr_linenumber" name="L224" href="#L224">224</a>     }
+<a class="jxr_linenumber" name="L225" href="#L225">225</a> 
+<a class="jxr_linenumber" name="L226" href="#L226">226</a>     @Override
+<a class="jxr_linenumber" name="L227" href="#L227">227</a>     <strong 
class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> 
removeAttribute(<strong class="jxr_keyword">final</strong> String name) {
+<a class="jxr_linenumber" name="L228" href="#L228">228</a>         
attributes.remove(name);
+<a class="jxr_linenumber" name="L229" href="#L229">229</a>     }
+<a class="jxr_linenumber" name="L230" href="#L230">230</a> 
+<a class="jxr_linenumber" name="L231" href="#L231">231</a>     @Override
+<a class="jxr_linenumber" name="L232" href="#L232">232</a>     <strong 
class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> 
setAttribute(<strong class="jxr_keyword">final</strong> String name, <strong 
class="jxr_keyword">final</strong> Object value) {
+<a class="jxr_linenumber" name="L233" href="#L233">233</a>         <strong 
class="jxr_keyword">if</strong> (value != <strong 
class="jxr_keyword">null</strong>) {
+<a class="jxr_linenumber" name="L234" href="#L234">234</a>             
attributes.put(name, value);
+<a class="jxr_linenumber" name="L235" href="#L235">235</a>         } <strong 
class="jxr_keyword">else</strong> {
+<a class="jxr_linenumber" name="L236" href="#L236">236</a>             
removeAttribute(name);
+<a class="jxr_linenumber" name="L237" href="#L237">237</a>         }
+<a class="jxr_linenumber" name="L238" href="#L238">238</a>     }
+<a class="jxr_linenumber" name="L239" href="#L239">239</a> }
 </pre>
 <hr/>
 <div id="footer">Copyright &#169; 2001&#x2013;2024 <a 
href="https://www.apache.org/";>The Apache Software Foundation</a>. All rights 
reserved.</div>


Reply via email to