1
0

Initial cut at releasenotes for next release.

git-svn-id: https://svn.apache.org/repos/asf/jakarta/commons/proper/logging/trunk@190898 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Simon Kitching
2005-06-16 11:08:10 +00:00
parent 9da2f04b89
commit 3e05e7977f

View File

@@ -1,6 +1,6 @@
<!-- <!--
Copyright 2001-2004 The Apache Software Foundation. Copyright 2005 The Apache Software Foundation.
Licensed under the Apache License, Version 2.0 (the "License"); Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License. you may not use this file except in compliance with the License.
@@ -19,94 +19,77 @@
$Id$ $Id$
Commons Logging Package Commons Logging Package
Version 1.0.4 Version 1.1.0
Release Notes Release Notes
INTRODUCTION: INTRODUCTION:
============ ============
This document contains the release notes for this version of the Commons This release introduces significant changes in the way that discovery of
Logging package. It is primarily a service release for downstream users. logging implementations occurs, and how errors are handled. A number of
The main emphasis maintenance and code cleanup release, problems that have troubled users in past releases (particularly the
with some new features including support for both the old 1.2.x series "Log4JLogger does not implement Log" problem) will hopefully be
of Log4J releases and the new 1.3.x series of releases. significantly reduced or cured.
The following paragraphs document changes since the previous release This release is 100% compatible with existing code that calls
(version 1.0.3). The documentation (userguide and javadoc) commons-logging. There are some incompatibilities with code that extends
has also been improved. commons-logging, for example to implement custom logging adapters.
== New Features ==
* jars now have release-numbers embedded in the names
* commons-logging-adapters-xxx.jar now included.
* creation of optional jar containing WeakHashtable implementation
Changes to LogFactory to use a WeakHashtable if one is available.
* added internal diagnostics feature. If commons-logging is behaving in an
unexpected manner, you can now set system property
org.apache.commons.logging.diagnostics.dest
to the value STDOUT, STDERR or a filename. As commons-logging initialises
itself for each new contextClassLoader it detects, useful information will
be output about which logging library is bound to and why.
* new configurable attributes ALLOW_FLAWED_HIERARCHY, ALLOW_FLAWED_DISCOVERY and
ALLOW_FLAWED_CONTEXT. The default values for these are all true, meaning that
commons-logging attempts to recover from bad logging configuration situations
by finding *some* logger to use even when it isn't quite the one that might
be expected. This will significantly reduce the occurrence of the dreaded
LogConfigurationException on application/webapp startup at the cost of
slightly more ambiguity about where output will go. In cases where no logging
output is generated or wanted (which is the case 99% of the time) this is definitely a
more convenient approach. Users who cannot figure out where logging went or
why it went to an unexpected destination can enable diagnostics to find out,
or set the ALLOW_FLAWED_ settings to false to force LogConfigurationException
to be thrown as in earlier releases.
NEW FEATURES: * ServletContextCleaner class now provided to ensure memory is released
============ when undeploying webapps. This does require an entry in the webapp
deployment descriptor to enable.
[ALL FILES] This version of Commons Logging is released under the
Apache License (Version 2.0). All source files have been
modified to reflect this.
[maven.xml] Added beginnings of a Maven-based build, primarily for the == Bugs Fixed ==
purpose of creating documentation consistent with Mavenized
commons projects. The official build system for the software
is still the Ant "build.xml" file.
[AvalonLogger] Added AvalonLogger, which wraps the logger used by the * 31597: problem where log4j adapter in parent classloader but log4j.jar was
Avalon framework. As with other implementations, this in child classloader led to failure to initialise logging has been
is compiled only if the appropriate dependencies are fixed.
satisfied. This implementation is *NOT* Serializable
[Jdk13LumberjackLogger] * 31710, 10825: commons-logging now works better in systems where getClassLoader
Added Jdk13LumberjackLogger, which wraps the implementation returns null. This essentially means embedded systems.
of the JSR-47 logging APIs (for JDKs before 1.4) provided
by the SourceForge "lumberjack" project.
<http://sourceforge.net/projects/lumberjack/>
[LogFactoryImpl] If an InvocationTargetException is returned during the * 31818: workaround for bug in java1.2 compiler; code now compiles under 1.2
creation of a new Log instance, unwrap the underlying
cause and pass it in to the LogConfigurationException
constructor. This will make the actual cause of the
problem easier to diagnose.
[LogFactoryImpl] If the isAssignableFrom() test fails because there is more * Log4JCategoryLog has been removed from the main distribution jar; it has been
than one instance of org.apache.commons.logging.Log visible deprecated for a long while. Replacement class Log4JLogger should be a completely
in the class loader hierarchy, make the exception message transparent replacement for all commons-logging users.
that is reported explicitly state this, rather than the
potentially misleading claim that an implementation class
does not implement Log.
[Log4JLogger] Changes to allow this logger to support both the existing 1.2.x * package.html files are no longer present in the jarfiles, removing nuisance
series of releases and also the upcoming 1.3.x series of Log4J javadoc warnings when building javadoc for apps using jcl.
releases.
[SimpleLog] Added support for setting date-time format.
BUG FIXES:
=========
[MANIFEST.MF] Remove reference to Log4J from the manifest classpath.
[LogConfigurationException]
Include root cause in the text of the message, if present.
[LogFactory] Improve usability of error messages reporting
configuration problems.
[JDK14Logger] Implement Serializable, remove "final" declaration for
easy subclassing.
[Log4JLogger] Implement Serializable, remove "final" declaration for
easy subclassing.
[NoOpLogger] Implement Serializable, remove "final" declaration for
easy subclassing.
[SimpleLog] Make SimpleLog more friendly to the security manager
in an applet environment, by swallowing any security
exceptions when looking up system properties that are
not accessible.
[AvalonLogger] Fix NullPointerException when it when providing a
default logger.
* In several cases, LogConfigurationException objects were being wrapped in
other LogConfigurationException objects. These have (hopefully) all been
fixed.
DEPRECATIONS: DEPRECATIONS:
============ ============
@@ -120,7 +103,3 @@ DEPRECATIONS:
purpose. The class is now deprecated, and the proxy purpose. The class is now deprecated, and the proxy
instance is no longer created. instance is no longer created.
[Log4JCategoryLog] This class has been replaced by Log4JLogger, which
corresponds to the availability of the new Logger class
in Log4J 1.2 and later.