You are viewing a plain text version of this content. The canonical link for it is here.
Posted to announcements@jakarta.apache.org by Ceki Gülcü <cg...@qos.ch> on 2001/04/18 11:24:30 UTC
log4j version 1.1beta2 released
Greetings,
After a three month wait, I am pleased to announce log4j version
1.1b2, a release candidate that should be soon sanctioned as 1.1 final
release.
Version 1.1beta2 is 100% backward compatible with log4j version 1.0.x,
even if 1.1beta1 was not. Thus it should be considered as a drop-in
replacement for all 1.0.x versions and as well as 1.1beta1.
Beta2 is mainly maintenance release that corrects *many* small or big
wrinkles in previous versions. There were important internal changes,
in particular we now use JavaBeans style configuration of log4j
components. This has caused some APIs to be deprecated although they
are still accessible.
The HISTORY file reads:
[*] Changes that are 100% compatible with existing client code.
[**] Changes that requiring little or no modification to existing
client code.
[***] Changes requiring important modifications to existing client code.
April 18, 2001
- Release of version 1.1b2
- The directory structure has changed to better suit Jakarta
conventions as follows:
org/** --> src/java/org/**
xdocs/** --> src/xdocs/**
If you have a CVS checked out copy of log4j be sure to check out a
fresh copy. [*]
- Added a few jar files required at build time to build/lib so that
it is now possible to compile log4j out of the box. [*]
- Whenever a priority parameter is expected in a configuration file,
one can now use a custom priority class. See OptionConverter.toPriority
method for more information. Note that the <priority> element in
log4j.dtd remains unaffected by this change. [*]
- Added the setQuietMode(booelan) method to LogLog. In quiet mode
LogLog will not output anything even in case of errors. [*]
- Log4j components are now configured as JavaBeans. The setOption and
getOptionString methods have been deprecated in OptionHandler
interface which is implemented by most log4j components. [*]
- The stack trace of a throwable passed in a logging statement is not
parsed into a stack array which is serializable. This allows cascading of
log4j servers to properly propagate throwable information. [*]
- In XML configuration files, the <configuration> element has been
deprecated and was replaced by the <log4j:configuration> element. [*]
The following perl command can help to migrate:
perl -p -i.bak -e "s/configuration/log4j:configuration/;" file1.xml .. fileN.xml
- The "log4j.configDebug" system property has been replaced with the
"log4j.debug" system property altough it is still available.
Similarly, the "configDebug" attribute has been deprecated and
replaced with the "debug" attribute in log4j.dtd. [*]
February 23, 2001
- Release of version 1.1b1
- Logging can now be disabled per Hierarchy. It can also be disabled
using configuration files using the "disable" directive. The
"disableOverride" directive takes precedence over the "disable"
directive. As a result of this change the disable family of
methods in BasicConfigurator has been deprecated and replaced by the same
family of methods in the Hierarchy class. [*]
- The FileAppender has been split into three parts: WriterAppender,
ConsoleAppender and FileAppender. ConsoleAppender takes over the
console logging functionality of FileAppender. As a result Support
for stream and console printing has been deprecated in FileAppender. [**]
- The FileAppender now correctly outputs the header and footer of its
layout. This problem was reported by too many users to list here. [*]
- Appenders and Layouts now get to see the raw message object in
LoggingEvent not just its rendered form. The access modifiers of
some LoggingEvent fields were changed so that they can be accessed
in less error-prone ways. Thanks to Jim Cakalic and Anders Kristens
for their valuable advice. [*]
- Added getLayout(), getErrorHandler(), and getFilter() to the
Appender interface. [*]
- Added getOption(key) method to the OptionHandler interface and modified
implementations of it as appropriate. [*]
- Added the much awaited DailyRollingFileAppender. [*]
- The structure of the distribution changed somewhat. The log4j.jar
files can be found under dist/. The javadoc directory has been
moved to docs/api/. We are now totally dependent on ANT to perform
all the steps involved in creating a release, including
compilation, jar file creation, generation of the javadocs, and for
the creation of the distribution tar and zip files. [*]
- Removed org/apache/log4j/varia/ResilientFileAppender.java which was
bogus to begin with. [*]
- XMLLayout will now mark some output as <![CDATA .. [[> so that it
does not get interpreted by the XML parser. This was suggested by
Mathias Bogaert like a long list of other fixes. [*]
- Corrected a bug in CyclicBuffer.resize method that would not update the
next insertion point. Thanks to Ole Bulbuk for accurately reporting
the bug. [*]
- The LoggingEvent class now supports serialization of priorities
derived from the org.apache.log4j.Priority class. [*]
- Improved the search method for finding the "log4j.properties" file in
the static initializer of Category class. Thanks to Calvin Chan for
supplying a better method. [*]
- The code handling the FCQN (formerly instanceFQN) parameter was
cleaned up. There is now a well-established and simple manner for
sub-classes of Category (or wrapper classes) to define the FCQN
variable: just define a static variable, say FCQN, consisting of
the fully qualified class name of the subclass or wrapper, supply
this variable as an argument to forcedLog method if and when
the sub-class or wrapper invokes that method. [*]
- Made the instanceFCQN an instance variable instead of a class
static in Category.java. In related move, the Category constructor
now takes an additional argument setting the instanceFCQN. This
makes life less miserable for Category subclasses. [*]
- Corrected a bug in the OptionConverter.instantiateByClassName
method that would not return the defaultValue in case of error. Thanks
to Matthieu Verbert for identifying this bug.
- Corrected the missing stack trace in e-mails generated by the
SMTPAppender when using certain Layouts. [*]
- Updated the "Adding Conversion Characters to PatternLayout"
document to reflect the latest changes to the code. Also added the
org/apache/log4j/examples/appserver directory containing the
associated example code. [*]
- Added the BufferSize option to the AsyncAppender. [*]
- Eliminated the SecurityExceptions thrown in Applets. Thanks Timur
Zambalayev for reporting this bug. [*]
- Fixed the erroneously thrown IOInterruptedException when the AsyncAppender
was closed. Thanks to Tom Palmer for accurately reporting this bug. [*]
Best regards, Ceki Gülcü