The Apache FAQ |
ApacheCon |
The Apache Software Foundation |
Apache Module Registry |
Apache-Perl Integration Project |
Apache XML Project |
Apache Project |
Apache-Related Projects |
The Jakarta Project |
The Java Apache Project |
PHP Server Side Scripting |
|
Enterprise Linux Today |
Linux Today |
Apache Today
|
Linux Programming |
BSD Central |
Just Linux |
Linux Apps |
BSD Today |
All Linux Devices |
Linux Central |
Linux Start |
PHPBuilder |
Linuxnewbie.org |
Linux Planet |
SITE DESCRIPTIONS |
|
|
Ceki Gulcu: log4j version 1.0 released
Jan 9, 2001, 07 :49 UTC (4 Talkback[s]) (2374 reads) (Other stories by Ceki Gulcu)
|
Date: Tue, 09 Jan 2001 04:24:41 +0100
From: Ceki Gulcu
To: announce@apache.org
Subject: log4j version 1.0
Greetings everyone,
I am pleased to announce log4j version 1.0, the 20th public release of
log4j and the first under the Apache banner.
For those unfamiliar with the name, log4j is a popular logging package
written in Java. log4j allows you to log to a file, a java.io.Writer,
a remote server, NT Event Log or a syslog daemon. The package is
designed so that log statements can remain in shipped code without
incurring a high performance cost. One distinctive feature of log4j is
the notion of hierarchical categories. Using categories, it is
possible to select (at runtime) which log statements are output at
arbitrary granularity. Users can choose to implement their own log
formats and output strategies.
This release brings a number of new features along with bug fixes.
The most important change is that log4j is now part of the Jakarta
project of the Apache Software Foundation. Consequently, the package
hierarchy now starts at org.apache.log4j instead of org.log4j.
I have also taken advantage of this release to drop the EMERG priority
and replace it with FATAL which is more widely understood.
This version fixes all known bugs. It also adds a number of features
such as the SMTPAppender, HTMLLayout, JMSAppender and ObjectRenderers.
The PropertyConfigurator has been enhanced to support variable
substitution for all option values, support for specifying the
category factory and object renderers. Just as importantly, both the
DOMConfigurator and the PropertyConfigurator can be used to configure
any given hierarchy not just the default one.
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.
- Release of version 1.0 (the 20th public release)
- Package hierarchy now starts at org.apache.log4j. [***]
- Added the fatal() family of methods to the Category
class. Moreoever, the EMERG priority has been removed from the
Priority class. This priority has been replaced by the FATAL
priority that is more widely accepted. This change will
require EMERG log statements to be replaced by FATAL log
statements. Assuming EMERG log statements are rare, this should
have a small but bearable impact on existing client code.
Moreover, the Unix Syslog priorities ALERT, CRIT and NOTICE are no
longer recognized. Support for these priorities was mininal and
few users should suffer from these changes. [**/***]
- Removed the methods setRootPriority, getRootPriority as these
methods were redundant and had been previously deprecated. [**]
- Dropped the DOM Level 2 dependency in DOMConfigurator. This makes
log4j XML configurable using Sun's parser or Apache's Xerces. [*]
- Enhanced the PropertyConfigurator and DOMConfigurator to support
customization of independent Hierarchies. The
org.apache.log4j.net.SocketServer has been enhanced to take
advantage of this functionality. The old code of SocketServer has
been moved to SimpleSocketServer. [**]
- Enhanced the PropertyConfigurator to support variable substitution
for all option *values* (but not keys!). [*]
- Categories are now aware of the Hierarchy they are linked to. This
will provide a basis for several performance enhancements planned
for the future. [*]
- Added support for object rendering. It is now possible to register
an object renderer for a given object type. When the given object
needs to be logged log4j will invoke the corresponding renderer to
transform the object into a String.
As a result of this enhancement, all the String forms of all the
printing methods such as debug(String), info(String) have been
removed as they are no longer necessary. This change should be
perfectly backward compatible. [*]
- Added support for user defined category factories in the
PropertyConfigurator. Thus, it is now possible to configure log4j
with a properties file and still use custom Category
sub-classes. The DOMConfigurator had already a finer grain
support. [*]
- Addeed the SMTPAppender that in case of an error or fatal event
sends an e-mail containing latest N logging events in its buffer,
where N is chosen by the user. [*]
- Added the method getInstance(Class) to the Category class. [*]
- Corrected a bug in configureAndWatch method of configurators that
would configure log4j only after an unnecessary delay. [*]
Best regards, Ceki Gulcu
|
|