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) () -> 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"> * <p></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"> * </p></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<ClassLoader, LogFactory>
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<ClassLoader, LogFactory>
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<?> 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"> * <p></em>
-<a class="jxr_linenumber" name="L1565" href="#L1565">1565</a> <em
class="jxr_javadoccomment"> * <strong>NOTE</strong> - 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"> * </p></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<?>) () ->
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"> * <p></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"> * </p></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<ClassLoader, LogFactory>
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<ClassLoader, LogFactory>
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<?> 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"> * <p></em>
+<a class="jxr_linenumber" name="L1563" href="#L1563">1563</a> <em
class="jxr_javadoccomment"> * <strong>NOTE</strong> - 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"> * </p></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 © 2001–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<?> 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<?> 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<String, Object> attributes = <strong
class="jxr_keyword">new</strong> ConcurrentHashMap<>();
<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<?> 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<?> 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 © 2001–2024 <a
href="https://www.apache.org/">The Apache Software Foundation</a>. All rights
reserved.</div>