Move authors to pom.xml.
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/logging/trunk@1432663 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
33
pom.xml
33
pom.xml
@@ -98,7 +98,7 @@ under the License.
|
||||
<developer>
|
||||
<id>baliuka</id>
|
||||
<name>Juozas Baliuka</name>
|
||||
<email>baliuka@apache.org</email>
|
||||
<email>baliuka at apache dot org</email>
|
||||
<roles>
|
||||
<role>Java Developer</role>
|
||||
</roles>
|
||||
@@ -106,13 +106,13 @@ under the License.
|
||||
<developer>
|
||||
<id>skitching</id>
|
||||
<name>Simon Kitching</name>
|
||||
<email>skitching@apache.org</email>
|
||||
<email>skitching at apache dot org</email>
|
||||
<organization>Apache Software Foundation</organization>
|
||||
</developer>
|
||||
<developer>
|
||||
<id>dennisl</id>
|
||||
<name>Dennis Lundberg</name>
|
||||
<email>dennisl@apache.org</email>
|
||||
<email>dennisl at apache dot org</email>
|
||||
<organization>Apache Software Foundation</organization>
|
||||
</developer>
|
||||
<developer>
|
||||
@@ -120,7 +120,32 @@ under the License.
|
||||
<name>Brian Stansberry</name>
|
||||
</developer>
|
||||
</developers>
|
||||
|
||||
<contributors>
|
||||
<contributor>
|
||||
<name>Vince Eagen</name>
|
||||
<email>vince256 at comcast dot net</email>
|
||||
<roles>
|
||||
<role>Lumberjack logging abstraction</role>
|
||||
</roles>
|
||||
</contributor>
|
||||
<contributor>
|
||||
<name>Berin Loritsch</name>
|
||||
<email>bloritsch at apache dot org</email>
|
||||
<roles>
|
||||
<role>Lumberjack logging abstraction</role>
|
||||
<role>JDK 1.4 logging abstraction</role>
|
||||
</roles>
|
||||
</contributor>
|
||||
<contributor>
|
||||
<name>Neeme Praks</name>
|
||||
<email>neeme at apache dot org</email>
|
||||
<roles>
|
||||
<role>Avalon logging abstraction</role>
|
||||
</roles>
|
||||
</contributor>
|
||||
|
||||
</contributors>
|
||||
|
||||
<scm>
|
||||
<connection>scm:svn:http://svn.apache.org/repos/asf/commons/proper/logging/trunk</connection>
|
||||
<developerConnection>scm:svn:https://svn.apache.org/repos/asf/commons/proper/logging/trunk</developerConnection>
|
||||
|
||||
@@ -54,8 +54,6 @@ package org.apache.commons.logging;
|
||||
* external to the Logging APIs, through whatever mechanism is supported by
|
||||
* that system.
|
||||
*
|
||||
* @author <a href="mailto:sanders@apache.org">Scott Sanders</a>
|
||||
* @author Rod Waldhoff
|
||||
* @version $Id$
|
||||
*/
|
||||
public interface Log {
|
||||
@@ -205,7 +203,6 @@ public interface Log {
|
||||
*/
|
||||
public void error(Object message, Throwable t);
|
||||
|
||||
|
||||
/**
|
||||
* Log a message with fatal log level.
|
||||
*
|
||||
@@ -213,7 +210,6 @@ public interface Log {
|
||||
*/
|
||||
public void fatal(Object message);
|
||||
|
||||
|
||||
/**
|
||||
* Log an error with fatal log level.
|
||||
*
|
||||
|
||||
@@ -22,7 +22,6 @@ package org.apache.commons.logging;
|
||||
* or <code>Log</code> instance cannot be created by the corresponding
|
||||
* factory methods.
|
||||
*
|
||||
* @author Craig R. McClanahan
|
||||
* @version $Id$
|
||||
*/
|
||||
public class LogConfigurationException extends RuntimeException {
|
||||
|
||||
@@ -42,9 +42,6 @@ import java.util.Properties;
|
||||
* based on the SAXParserFactory and DocumentBuilderFactory implementations
|
||||
* (corresponding to the JAXP pluggability APIs) found in Apache Xerces.
|
||||
*
|
||||
* @author Craig R. McClanahan
|
||||
* @author Costin Manolache
|
||||
* @author Richard A. Sitze
|
||||
* @version $Id$
|
||||
*/
|
||||
public abstract class LogFactory {
|
||||
|
||||
@@ -50,7 +50,6 @@ import org.apache.commons.logging.impl.NoOpLog;
|
||||
* @deprecated Use {@link LogFactory} instead - The default factory
|
||||
* implementation performs exactly the same algorithm as this class did
|
||||
*
|
||||
* @author Rod Waldhoff
|
||||
* @version $Id$
|
||||
*/
|
||||
public class LogSource {
|
||||
|
||||
@@ -47,7 +47,6 @@ import org.apache.commons.logging.Log;
|
||||
* be thrown as soon as the deserialized object was used), so removing this marker
|
||||
* is not considered to be an incompatible change.
|
||||
*
|
||||
* @author <a href="mailto:neeme@apache.org">Neeme Praks</a>
|
||||
* @version $Id$
|
||||
*/
|
||||
public class AvalonLogger implements Log {
|
||||
|
||||
@@ -28,14 +28,10 @@ import java.io.StringWriter;
|
||||
import org.apache.commons.logging.Log;
|
||||
|
||||
/**
|
||||
* <p>Implementation of the <code>org.apache.commons.logging.Log</code>
|
||||
* Implementation of the <code>org.apache.commons.logging.Log</code>
|
||||
* interface that wraps the standard JDK logging mechanisms that are
|
||||
* available in SourceForge's Lumberjack for JDKs prior to 1.4.</p>
|
||||
* available in SourceForge's Lumberjack for JDKs prior to 1.4.
|
||||
*
|
||||
* @author <a href="mailto:sanders@apache.org">Scott Sanders</a>
|
||||
* @author <a href="mailto:bloritsch@apache.org">Berin Loritsch</a>
|
||||
* @author <a href="mailto:donaldp@apache.org">Peter Donald</a>
|
||||
* @author <a href="mailto:vince256@comcast.net">Vince Eagen</a>
|
||||
* @version $Id$
|
||||
* @since 1.1
|
||||
*/
|
||||
|
||||
@@ -28,9 +28,6 @@ import org.apache.commons.logging.Log;
|
||||
* interface that wraps the standard JDK logging mechanisms that were
|
||||
* introduced in the Merlin release (JDK 1.4).
|
||||
*
|
||||
* @author <a href="mailto:sanders@apache.org">Scott Sanders</a>
|
||||
* @author <a href="mailto:bloritsch@apache.org">Berin Loritsch</a>
|
||||
* @author <a href="mailto:donaldp@apache.org">Peter Donald</a>
|
||||
* @version $Id$
|
||||
*/
|
||||
public class Jdk14Logger implements Log, Serializable {
|
||||
|
||||
@@ -40,9 +40,6 @@ import org.apache.log4j.Level;
|
||||
* a non-binary-compatible change. The class generated by compiling this code against
|
||||
* log4j 1.2 will therefore not run against log4j 1.3.
|
||||
*
|
||||
* @author <a href="mailto:sanders@apache.org">Scott Sanders</a>
|
||||
* @author Rod Waldhoff
|
||||
* @author Robert Burrell Donkin
|
||||
* @version $Id$
|
||||
*/
|
||||
public class Log4JLogger implements Log, Serializable {
|
||||
|
||||
@@ -30,9 +30,9 @@ import org.apache.commons.logging.LogConfigurationException;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
|
||||
/**
|
||||
* <p>Concrete subclass of {@link LogFactory} that implements the
|
||||
* Concrete subclass of {@link LogFactory} that implements the
|
||||
* following algorithm to dynamically select a logging implementation
|
||||
* class to instantiate a wrapper for.</p>
|
||||
* class to instantiate a wrapper for:
|
||||
* <ul>
|
||||
* <li>Use a factory configuration attribute named
|
||||
* <code>org.apache.commons.logging.Log</code> to identify the
|
||||
@@ -46,21 +46,17 @@ import org.apache.commons.logging.LogFactory;
|
||||
* <li>Otherwise, return an instance of
|
||||
* <code>org.apache.commons.logging.impl.SimpleLog</code>.</li>
|
||||
* </ul>
|
||||
*
|
||||
* <p>If the selected {@link Log} implementation class has a
|
||||
* <p>
|
||||
* If the selected {@link Log} implementation class has a
|
||||
* <code>setLogFactory()</code> method that accepts a {@link LogFactory}
|
||||
* parameter, this method will be called on each newly created instance
|
||||
* to identify the associated factory. This makes factory configuration
|
||||
* attributes available to the Log instance, if it so desires.</p>
|
||||
*
|
||||
* <p>This factory will remember previously created <code>Log</code> instances
|
||||
* attributes available to the Log instance, if it so desires.
|
||||
* <p>
|
||||
* This factory will remember previously created <code>Log</code> instances
|
||||
* for the same name, and will return them on repeated requests to the
|
||||
* <code>getInstance()</code> method.</p>
|
||||
* <code>getInstance()</code> method.
|
||||
*
|
||||
* @author Rod Waldhoff
|
||||
* @author Craig R. McClanahan
|
||||
* @author Richard A. Sitze
|
||||
* @author Brian Stansberry
|
||||
* @version $Id$
|
||||
*/
|
||||
public class LogFactoryImpl extends LogFactory {
|
||||
|
||||
@@ -31,8 +31,6 @@ import org.apache.commons.logging.Log;
|
||||
* Therefore, this implementation converts object messages into strings
|
||||
* by called their <code>toString()</code> method before logging them.
|
||||
*
|
||||
* @author <a href="mailto:sanders@apache.org">Scott Sanders</a>
|
||||
* @author Robert Burrell Donkin
|
||||
* @version $Id$
|
||||
*/
|
||||
public class LogKitLogger implements Log, Serializable {
|
||||
|
||||
@@ -24,8 +24,6 @@ import org.apache.commons.logging.Log;
|
||||
* Trivial implementation of Log that throws away all messages. No
|
||||
* configurable system properties are supported.
|
||||
*
|
||||
* @author <a href="mailto:sanders@apache.org">Scott Sanders</a>
|
||||
* @author Rod Waldhoff
|
||||
* @version $Id$
|
||||
*/
|
||||
public class NoOpLog implements Log, Serializable {
|
||||
|
||||
@@ -32,9 +32,9 @@ import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogConfigurationException;
|
||||
|
||||
/**
|
||||
* <p>Simple implementation of Log that sends all enabled log messages,
|
||||
* Simple implementation of Log that sends all enabled log messages,
|
||||
* for all defined loggers, to System.err. The following system properties
|
||||
* are supported to configure the behavior of this logger:</p>
|
||||
* are supported to configure the behavior of this logger:
|
||||
* <ul>
|
||||
* <li><code>org.apache.commons.logging.simplelog.defaultlog</code> -
|
||||
* Default logging detail level for all instances of SimpleLog.
|
||||
@@ -60,15 +60,11 @@ import org.apache.commons.logging.LogConfigurationException;
|
||||
* specified or is invalid, the default format is used.
|
||||
* The default format is <code>yyyy/MM/dd HH:mm:ss:SSS zzz</code>.</li>
|
||||
* </ul>
|
||||
*
|
||||
* <p>In addition to looking for system properties with the names specified
|
||||
* <p>
|
||||
* In addition to looking for system properties with the names specified
|
||||
* above, this implementation also checks for a class loader resource named
|
||||
* <code>"simplelog.properties"</code>, and includes any matching definitions
|
||||
* from this resource (if it exists).</p>
|
||||
*
|
||||
* @author <a href="mailto:sanders@apache.org">Scott Sanders</a>
|
||||
* @author Rod Waldhoff
|
||||
* @author Robert Burrell Donkin
|
||||
* from this resource (if it exists).
|
||||
*
|
||||
* @version $Id$
|
||||
*/
|
||||
|
||||
@@ -28,29 +28,27 @@ import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
/**
|
||||
* <p>Implementation of <code>Hashtable</code> that uses <code>WeakReference</code>'s
|
||||
* Implementation of <code>Hashtable</code> that uses <code>WeakReference</code>'s
|
||||
* to hold its keys thus allowing them to be reclaimed by the garbage collector.
|
||||
* The associated values are retained using strong references.</p>
|
||||
*
|
||||
* <p>This class follows the semantics of <code>Hashtable</code> as closely as
|
||||
* possible. It therefore does not accept null values or keys.</p>
|
||||
*
|
||||
* <p><strong>Note:</strong>
|
||||
* The associated values are retained using strong references.
|
||||
* <p>
|
||||
* This class follows the semantics of <code>Hashtable</code> as closely as
|
||||
* possible. It therefore does not accept null values or keys.
|
||||
* <p>
|
||||
* <strong>Note:</strong>
|
||||
* This is <em>not</em> intended to be a general purpose hash table replacement.
|
||||
* This implementation is also tuned towards a particular purpose: for use as a replacement
|
||||
* for <code>Hashtable</code> in <code>LogFactory</code>. This application requires
|
||||
* good liveliness for <code>get</code> and <code>put</code>. Various tradeoffs
|
||||
* have been made with this in mind.
|
||||
* </p>
|
||||
* <p>
|
||||
* <strong>Usage:</strong> typical use case is as a drop-in replacement
|
||||
* for the <code>Hashtable</code> used in <code>LogFactory</code> for J2EE environments
|
||||
* running 1.3+ JVMs. Use of this class <i>in most cases</i> (see below) will
|
||||
* allow classloaders to be collected by the garbage collector without the need
|
||||
* to call {@link org.apache.commons.logging.LogFactory#release(ClassLoader) LogFactory.release(ClassLoader)}.
|
||||
* </p>
|
||||
*
|
||||
* <p><code>org.apache.commons.logging.LogFactory</code> checks whether this class
|
||||
* <p>
|
||||
* <code>org.apache.commons.logging.LogFactory</code> checks whether this class
|
||||
* can be supported by the current JVM, and if so then uses it to store
|
||||
* references to the <code>LogFactory</code> implementation it loads
|
||||
* (rather than using a standard Hashtable instance).
|
||||
@@ -60,9 +58,9 @@ import java.util.Set;
|
||||
* of <code>java.lang.ref.WeakReference</code> and associates).
|
||||
* And by the way, this extends <code>Hashtable</code> rather than <code>HashMap</code>
|
||||
* for backwards compatibility reasons. See the documentation
|
||||
* for method <code>LogFactory.createFactoryStore</code> for more details.</p>
|
||||
*
|
||||
* <p>The reason all this is necessary is due to a issue which
|
||||
* for method <code>LogFactory.createFactoryStore</code> for more details.
|
||||
* <p>
|
||||
* The reason all this is necessary is due to a issue which
|
||||
* arises during hot deploy in a J2EE-like containers.
|
||||
* Each component running in the container owns one or more classloaders; when
|
||||
* the component loads a LogFactory instance via the component classloader
|
||||
@@ -77,16 +75,14 @@ import java.util.Set;
|
||||
* garbage collected; this <i>should</i> be done by any container that
|
||||
* bundles commons-logging by default. However, holding the classloader
|
||||
* references weakly ensures that the classloader will be garbage collected
|
||||
* without the container performing this step. </p>
|
||||
*
|
||||
* without the container performing this step.
|
||||
* <p>
|
||||
* <strong>Limitations:</strong>
|
||||
* There is still one (unusual) scenario in which a component will not
|
||||
* be correctly unloaded without an explicit release. Though weak references
|
||||
* are used for its keys, it is necessary to use strong references for its values.
|
||||
* </p>
|
||||
*
|
||||
* <p> If the abstract class <code>LogFactory</code> is
|
||||
* <p>
|
||||
* If the abstract class <code>LogFactory</code> is
|
||||
* loaded by the container classloader but a subclass of
|
||||
* <code>LogFactory</code> [LogFactory1] is loaded by the component's
|
||||
* classloader and an instance stored in the static map associated with the
|
||||
@@ -94,22 +90,18 @@ import java.util.Set;
|
||||
* class to the LogFactory1 instance (as normal) and a strong reference from
|
||||
* the LogFactory1 instance to the component classloader via
|
||||
* <code>getClass().getClassLoader()</code>. This chain of references will prevent
|
||||
* collection of the child classloader.</p>
|
||||
*
|
||||
* collection of the child classloader.
|
||||
* <p>
|
||||
* Such a situation occurs when the commons-logging.jar is
|
||||
* loaded by a parent classloader (e.g. a server level classloader in a
|
||||
* servlet container) and a custom <code>LogFactory</code> implementation is
|
||||
* loaded by a child classloader (e.g. a web app classloader).</p>
|
||||
*
|
||||
* <p>To avoid this scenario, ensure
|
||||
* loaded by a child classloader (e.g. a web app classloader).
|
||||
* <p>
|
||||
* To avoid this scenario, ensure
|
||||
* that any custom LogFactory subclass is loaded by the same classloader as
|
||||
* the base <code>LogFactory</code>. Creating custom LogFactory subclasses is,
|
||||
* however, rare. The standard LogFactoryImpl class should be sufficient
|
||||
* for most or all users.</p>
|
||||
*
|
||||
*
|
||||
* @author Brian Stansberry
|
||||
* for most or all users.
|
||||
*
|
||||
* @version $Id$
|
||||
* @since 1.1
|
||||
@@ -363,8 +355,7 @@ public final class WeakHashtable extends Hashtable {
|
||||
Map.Entry entry = (Map.Entry) o;
|
||||
result = (getKey()==null ?
|
||||
entry.getKey() == null :
|
||||
getKey().equals(entry.getKey()))
|
||||
&&
|
||||
getKey().equals(entry.getKey())) &&
|
||||
(getValue()==null ?
|
||||
entry.getValue() == null :
|
||||
getValue().equals(entry.getValue()));
|
||||
@@ -373,7 +364,6 @@ public final class WeakHashtable extends Hashtable {
|
||||
}
|
||||
|
||||
public int hashCode() {
|
||||
|
||||
return (getKey()==null ? 0 : getKey().hashCode()) ^
|
||||
(getValue()==null ? 0 : getValue().hashCode());
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user