You can subscribe to this list here.
| 2000 |
Jan
|
Feb
|
Mar
|
Apr
(2) |
May
(3) |
Jun
(1) |
Jul
|
Aug
(5) |
Sep
|
Oct
|
Nov
(2) |
Dec
(2) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2001 |
Jan
(4) |
Feb
(1) |
Mar
|
Apr
(2) |
May
(3) |
Jun
(5) |
Jul
|
Aug
(1) |
Sep
|
Oct
(1) |
Nov
|
Dec
|
| 2002 |
Jan
|
Feb
(1) |
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: Ceki <ce...@qo...> - 2002-03-04 23:39:59
|
Hi all,
Log4j 1.2 beta4 has been just released. This latest version corrects a
rather annoying classloading problem.
This is what HISTORY file has to say:
- Replaced the custom class loading based on the thread context class
loader with a simple Class.forName() call. This solves two allied
but distinct problems encountered when using Ant with JUnit
although the bug is more general. In one instance of the
problem, log4j would throw java.lang.NoClassDefFoundError for
org/apache/log4j/AppenderSkeleton where log4j.jar and related
classes were clearly available to the Ant classloader. In another
incarnation, log4j would reject a custom appender claiming that it is
not assignable to a org.apache.log4j.Appender variable. This would
occur when log4j.jar was available to both the Ant classloader and the
system classloader.
Thanks to Dave Herman for providing detailed scenarios exposing
the issues involved. See
http://forum.java.sun.com/thread.jsp?forum=38&thread=70946
http://forum.java.sun.com/thread.jsp?forum=38&thread=70946#479697
http://marc.theaimsgroup.com/?l=ant-user&m=101139178705895&w=2
for more details. [*]
|
|
From: Ceki <ce...@qo...> - 2002-02-18 23:10:27
|
Greetings, I am pleased to announce log4j 1.2beta3. In addition to many performance improvements, bug fixes, and other small enhancements, log4j 1.2 beta3 adds JMX support, Mapped Diagnostic Contexts, and buffered IO capability. One important change is the replacement of the Category class with Logger class and the Priority with the Level in order to facilitate migration from the JDK 1.4 logging API to log4j. All changes except the removal of deprecated methods are backward compatible such that log4j 1.2beta3 can be considered a drop in replacement for log4j 1.1.3. Binary and source distributions are available at http://jakarta.apache.org/log4j/docs/download.html Enjoy, Ceki |
|
From: Ceki <cg...@qo...> - 2001-10-16 22:04:19
|
Greetings,
The subject says it all. This alpha continues where the previous one left=
off.
HISTORY file reads:
- Improved error reporting in DOMConfigurator. Thanks to Thomas Tuft
Muller for contributing the enhancement. [*]
=20
- Log4j is now configurable using JMX. [*]
- Modified SMTPAppender to allow multiple email sessions. Thanks to
Jon Skeet for supplying the relevant patch. [*]
- The CategoryFactory class has been replaced by the LoggerFactory
class. The makeNewCategoryInstance method has been renamed as
makeNewLoggerInstance. This change requires subclasses of Category
classes to be modified and recompiled. [**]
- The Level class replaced the Priority class. Priority class now
extends Level to preserve backward compatibility. [*]
- The Logger class replaced the Category class. Category class now
extends Logger to preserve backward compatibility. [*]
- The Category.assert method has been replaced by
Category.assertLog. This change was mecessary because assert is a
language reserved word in JDK 1.4. [**]
- Added buffered IO capability to FileAppender and subclasses. [*]
- Added event reporting capability to the Hierachy class.
=20
- Added new system property "log4j.configuratorClass". This property
allows the user to specify the custom configurator at the default
initialization phase. This property replaces the previous
interpretation of the reference part of "log4j.configuration"=20
as the custom configurator class. This interpretation was sometimes
erroneous and caused headaches. [*]
=20
- Introduced the Mapped Diagnostic Context or MDC class. This class
is similar to the NDC except that the diagnistic context is based
on a map instead of a stack. Moreover the MDC is automatically
inherited by child threads under JDK 1.2 and above. [*]
- Corrected a performance bug in the NDC class as observed by Dan
Milstein and independently by Ray Millard. [*]
- Removed deprecated methods setOptions and getOptionStrings defined
in the org.apache.log4j.spi.OptionHandler interface. This interface
is implemented by most log4j appenders and layouts. In particular,
all appenders and layouts shipped with log4j contain these
deprecated methods. They have become totally redundant after we
moved to JavaBeans style configuration in log4j 1.1. [**]
- The disable(Level) methods in Hierarchy have been removed and been
replaced by threshold methods. [**]
- Removed deprecated methods disable(Priority), disableAll,
disableDebug, disableInfo and enableAll in BasicConfigurator. [*]
- Added supports java.io.Reader objects in the method doConfigure(),
instead of only InputStream. Thanks to Mark Womack for submitting
the relevant patch. [*]
--
Ceki G=FClc=FC - http://qos.ch
Link of the day: http://www.nytimes.com/2001/10/14/opinion/14SUN1.html
|
|
From: Ceki <cg...@qo...> - 2001-08-03 15:28:25
|
Greetings, Log4j MicroEdition, or log4jME, version 1.0-b1 is now available at http://qos.ch It is based on nearly the same code as log4j standard edition. As the name indicates, the micro-edition is much smaller. log4jME.jar binary file is 25281 bytes long. It offers the same client interface such that client code compiled for log4jME is 100% upgrade-compatible with log4j standard edition. You may upgrade to log4j standard edition at any time by replacing log4jME.jar with log4j.jar in your classpath. Log4jME is intended for applets and other constrained environments. Log4jME is distributed under the Apache Software License. -- Ceki G=FClc=FC - http://qos.ch |
|
From: Ceki <cg...@qo...> - 2001-06-19 18:42:13
|
Greetings,=20 This release corrects a bug in log4j.dtd that prevented it from working in the recent namespace aware XML parsers. This version=20 introduces no new code.=20 HISTORY file reads: - Release of version 1.1.3 - Added a missing namespace declaration in the log4j:configuration element in log4j.dtd. The missing declaration caused the new generation of namespace aware parsers to barf when parsing log4j configuration files.=20 - Reduced the size of log4j-core.jar to 78KB.=20 - Minor documentation changes.=20 Regards, Ceki G=FClc=FC |
|
From: Ceki <cg...@qo...> - 2001-06-14 12:41:59
|
Greetings, In just 24 hours, over sixty individuals have responded with their personalized request to Sun. Their requests as well as my critique of JSR47 can be found at http://jakarta.apache.org/log4j/docs/critique.html I am very happy about both the volume and quality of these requests but I am sure we can do better. It is becoming increasingly evident that no one will be happy about the upcoming logging API from Sun. I invite you to join our community in protest against the pollution of the Java environment with dubious APIs. Thank you in advance, Ceki G=FClc=FC |
|
From: Ceki <cg...@qo...> - 2001-06-13 10:56:04
|
Greetings, Since yesterday evening a non-negligible number of requests were directed to jav...@en.... I find Ellis Teer's comments (included below) quite interesting. My critique of the JSR47 API can be found at: http://jakarta.apache.org/log4j/docs/critique.html If you agree with its contents, you are encouraged to send your own comments to jav...@en... Thanks, Ceki >Delivered-To: cg...@qo... >Date: Tue, 12 Jun 2001 18:35:16 -0700 (PDT) >From: Ellis Teer <e_...@ya...> >Subject: JSR47 vs. log4j >To: jav...@en... > >To whom it may concern, > >I feel that the differences between log4j and the JSR47 API outlined at the >following URL are significant. > >http://jakarta.apache.org/log4j/docs/critique.html > >I also feel, that rather than reinventing the wheel the JSR47 group should >incorporate the log4j API rather than recreating it. The standards put forth >by the JSR group will eventually replace any similarly functioning external API >due to its incorporation into the JDK. For the number of people who already >use log4j, such as myself, it feels that Sun by way of including this new API >in the JDK is forcing users of log4j to switch. I understand that there are >licensing issues but I suspect Ceki would be accommodating in this regard. > >In addition, by incorporating such projects into the API rather than recreating >them from scratch I believe Sun will promote more projects like these to move >forward rather than possibly dissuading programmers from creating new API's for >fear that their work will become useless by Sun's recreation of their features >in the next JDK. > >I point to the success of Tomcat as an example. > >Sincerely, > >-Ellis Teer |
|
From: Ceki <cg...@qo...> - 2001-06-12 23:33:46
|
Greetings, Here is a written critique of JSR47, the logging API shipped with=20 JDK 1.4: http://jakarta.apache.org/log4j/docs/critique.html If you agree with its contents, then you are encouraged to send a personalized request to jav...@en... asking them to adopt log4j as the logging API shipped with JDK 1.4. Please cc: me if and when you choose do so. Thank you in advance. -- Ceki G=FClc=FC=20 |
|
From: Ceki <cg...@qo...> - 2001-06-07 14:18:52
|
Greetings, I am pleased to announce log4j version 1.1.2. This release fixes a bug with the default initialization procedure which would use an incorrect class loader to find the default configuration file. The HISTORY file reads: June 7, 2001 - Release of version 1.1.2 - Corrected a problem with the static initializer of the Category class which would use the wrong class loader to search for the log4j.properties file. The associated search algorithm has been also simplified. Nevertheless, the preferred method to specify the automatic configuration file is by setting the log4j.configuration system property. [*] - Documentation improvements. Added a new section to the manual explaining the default initialization procedure [*] =20 - Enhancements to the org.apache.log4j.examples.appserver package. [*] - Corrected a bug in the way the NTEventLogAppender printed exceptions. [*] Regards, Ceki G=FClc=FC |
|
From: Ceki <cg...@qo...> - 2001-05-19 21:54:13
|
Greetings, Log4j 1.1 is now available at http://jakarta.apache.org/log4j. This official release is identical to 1.1beta7 with the exception of minor documentation improvements. Version 1.1 is backward compatible with log4j version 1.0.x. Thus, it should be considered as a drop-in replacement for 1.0.x. Version 1.1 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. See the HISTORY file under the docs/ directory of the distribution for the= full history of changes.=20 Regards, Ceki G=FClc=FC |
|
From: Ceki <cg...@qo...> - 2001-05-07 19:05:34
|
Greetings, In a serious and one time abuse of the posting rules for the log4j mailing= lists, I am going to ask the audience if they have an open position for an= experienced C, C++, Java developer in their U.S.A. based organization.= Indeed, a good friend of mine, Gr=E9goire Jaunin, who very recently= emigrated to the U.S. with his wife from Switzerland has been laid off= along with 25% other workers of the company he had joined a week earlier.= He happened to be at wrong place at an inopportune time.=20 Having studied with Gr=E9goire at University for several years, I can= personally vouch that he his extremely sharp and has extensive development= experience. He has also managed large development teams in his previous= stint as a team leader in an IT company here in Switzerland. He is the kind of person I look up to. Gr=E9goire is the rare pearl that you= do not want to miss. If you are interested, please respond to Gr=E9goire= directly at ngj...@bl.... Please do not respond to any of the log4j= lists. Thank you. Ceki -- Ceki G=FClc=FC |
|
From: Ceki <cg...@qo...> - 2001-05-05 11:28:23
|
Greetings, Here are some pretty good news: http://www.javaworld.com/jw-05-2001/jw-0504-finalists.html Regards, Ceki |
|
From: Ceki <cg...@qo...> - 2001-04-26 13:36:53
|
Greetings everyone,
I am pleased to announce log4j version 1.1 beta 6. This release fixes a=
number of bugs that were found beta 5. Regards, Ceki G=FClc=FC=20
HISTORY file reads:
=20
[*] Changes that are 100% compatible with existing client code. =20
[**] Changes that requiring little or no modification to existing
client code.=20
[***] Changes requiring important modifications to existing client code.
April 26, 2001
- Release of version 1.1b6
- Aaron Greenhouse from Carnegie Mellon SCS found a series of
multi-threading related bugs in Category and AsyncAppender. See bug
ids 1505 and 1507 in our bug database for examplary bug
reports. They are worth the detour. [*]
=20
- InvalidJarIndexException is only available in JDK 1.3. Referring
to this exception type caused log4j 1.1b5 to break on earlier JDKs.
We now avoid referring to it. [*]
- Added PriorityRangeFilter by Simon Kitching. See the Threshold
option in AppenderSkeleton for a more convenient alternative. [*]
April 22, 2001
- Release of version 1.1b5
- In HTMLLayout, the Title option sets the HTML document=20
title (<title>...<title>). [*]
=20
- Corrected an important performance bug in LocationInfo. Hein Couwet
and kr...@it... have independently identified the bug. This is
yet another example of the difference made by the number of eyeballs
studying source code. [*]
- Corrected the incorrect value returned by LocationInfo.getClassName
method when running under IBM Visual Age. Thanks to Mathias
Rupprecht for supplying the relevant patch. [*]
=20
- Corrected a bug where the build.sh file in the distribution would be in=
=20
DOS CRLF format. Thanks to ma....@fr... for reporting the
problem. [*]
- Corrected InvalidJarIndexException thrown in applets while
searching for the default log4j configuration file. Thanks to
Michael Lundahl for reporting this bug. [*]
=20
- Added missing PropertySetterException class to log4j-core.jar.
Thanks to ma....@fr... for reporting this bug. [*]
April 20, 2001
- Release of version 1.1b4
- Mathias Bogaert observed that in version 1.1b3 the search algorithm
for the resource used in automatic log4j configuration was
different than in 1.0.x. Beta4 uses a more powerful mechanism which
is also compatible with 1.0.x. [*]
- Paul Glezen correctly observed that if log4j is deployed in a
client/server mode where multiple log4j clients log to a log4j
server, all hosts must be upgraded to version 1.1 in one go because
the internal LoggingEvent class used in client/server communication
changed in log4j 1.1.=20
=20
April 18, 2001
- Release of version 1.1b3
- Added a RollingFileAppenderBeanInfo class that fakes the
maxFileSize JavaBeans property as a String type instead of a long.
This allows us to resuscitate setMaxFileSize(long) method that was
removed in 1.1b2 breaking 100% backward compatibility. This addition
restores 100% backward compatibility. [*]
|
|
From: Ceki <cg...@qo...> - 2001-04-18 09:21:38
|
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:
=20
[*] Changes that are 100% compatible with existing client code. =20
[**] Changes that requiring little or no modification to existing
client code.=20
[***] 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. [*]
=20
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=
=20
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. [*]
=20
- 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. [*]
=20
- The LoggingEvent class now supports serialization of priorities
derived from the org.apache.log4j.Priority class. [*]
=20
- 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. [*]
=20
- 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=20
was closed. Thanks to Tom Palmer for accurately reporting this bug. [*]
Best regards, Ceki G=FClc=FC
|
|
From: Ceki <cg...@qo...> - 2001-02-23 22:04:31
|
Greetings, Log4j version 1.1 beta 1 is now available on=20 http://jakarta.apache.org/log4j/download.html. This version has the ominous beta flag because it introduces new API methods, namely getOption(key), which is still subject of debate. On the other hand, this version fixes a few bugs and irons out numerous wrinkles. In this release, the FileAppender has been split two 3 parts, Appenders and Layouts now get to see the raw message object in LoggingEvent, Appender and Layouts now return their option setting through the newly introduced and controversial getOption(key) method. Otherwise, there are no major changes in this release. I will be away for two weeks with no access to a computer. I preferred to make a beta release now, instead of delaying the release by at least another two weeks. Enjoy, Ceki The HISTORY file reads: [*] Changes that are 100% compatible with existing client code. =20 [**] Changes that requiring little or no modification to existing=20 client code.=20 [***] Changes requiring important modifications to existing client code. 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 has moved from the BasicConfigurator class to the Hierarchy class. [**] - Changed the name of the configuration element to log4j:configuration in= the log4j.dtd. All configuration files written in XML need to be modified. [**] The following perl command can help: perl -p -i.bak -e "s/configuration/log4j:configuration/;" file1.xml ..= fileN.xml - 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. [*] =20 - 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, in 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. [*] =20 - The LoggingEvent class now supports serialization of priorities derived from the org.apache.log4j.Priority class. [*] =20 - 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. [*] - 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. [*] =20 - 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=20 was closed. Thanks to Tom Palmer for accurately reporting this bug. [*] ---- Ceki G=FClc=FC Web: http://qos.ch =20 av. de Rumine 5 email: cg...@qo... (preferred) CH-1005 Lausanne cek...@ya... Switzerland Tel: ++41 21 351 23 15 |
|
From: GOMEZ H. <hg...@sl...> - 2001-01-12 11:24:21
|
Available at : http://rpmized.free.fr <http://rpmized.free.fr> or ftp://ftp.falsehope.com/home/gomez/log4j/ <ftp://ftp.falsehope.com/home/gomez/log4j/> |
|
From: Ceki G. <cg...@ur...> - 2001-01-12 05:35:23
|
New release=two bugs fixed, one serious.
HISTORY file reads:
January 12th, 2001
- Release of version 1.0.4 (the 20th major release)
- Corrected a serious bug in Hierarchy.java that would cause a
NullPointerException depending on the order of instantiation of
categories. Thanks to Wolfram Gewohn for reporting this bug. [*]
- Corrected a bug in the getOptionsStrings method of SMTPAppender
that omitted to mention the EvaluatorClass option. Thanks to Mark
Balster for reporting this bug. [*]
Regards, Ceki
|
|
From: Ceki G. <cg...@ur...> - 2001-01-12 05:10:25
|
Yep, it's a new release! This is a maintenance release that fixes a bug
reported by Frank-Olaf Lohmann. It also rearranges the HTML documentation
for a smoother browsing experience.
HISTORY file reads:
January 12th, 2001
- Release of version 1.0.3 (the 20th major release)
- Fixed a NullPointerException occuring in AsyncAppedner after
invoking Category.shutdown. Thanks to Frank-Olaf Lohmann for
reporting this bug. [*]
- Modified the OptionConverter.selectAndConfigure method to take an
extra argument of type Hierarchy. This method is used internally
and should not affect most users. [*/**]
- Added the warn method to LogLog which is used internally by log4j
to report on itself. [*]
- Displaced a number of HTML files under the docs directory. The new
structure is compatible with the jakarta site and results in a
more consistent navigation experience. [*]
- Made a few improvements in the javadocs. [*]
Regards, Ceki
|
|
From: Ceki G. <cg...@ur...> - 2001-01-09 16:59:27
|
Greetings everyone, I am pleased to announce log4j version 1.0, the 20th public release of log4j but the first under the Apache banner. The new version is available at http://www.log4j.org and should be available on http://jakarta.apache.org soon. 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 backward compatible but requires recompilation of old client code. Thanks to Michael Smith for noting the recompilation requirement. [**] - 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 custem 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 confgure log4j only after an unnecessary delay. [*] Best regards, Ceki Gulcu |
|
From: <cg...@ur...> - 2000-12-21 21:46:11
|
<html><body> <table border="1" cellpadding="2"> <tr> <th>Time</th><th>Thread</th><th>Priority</th><th>Category</th><th>NDC</th><th>File:Line</th><th>Message</th></tr> <tr><td>0</td> <td>main</td> <td>INFO</td> <td>holiday.greetings</td> <td>2000 CE</td> <td>NewYear.java:39</td> <td>Greetings everyone,</td> </tr> <tr><td>11</td> <td>main</td> <td>DEBUG</td> <td>holiday.greetings</td> <td>2000 CE</td> <td>NewYear.java:40</td> <td></td> </tr> <tr><td>11</td> <td>main</td> <td>INFO</td> <td>holiday.greetings</td> <td>2000 CE</td> <td>NewYear.java:41</td> <td>I would like to wish a merry Christmas and a happy new year to all. The next log4j distribution, version <b>1.0</b> mind you, should become ready for relase before the end of the year.</td> </tr> <tr><td>11</td> <td>main</td> <td><font color="#FF0000">WARN</font></td> <td>holiday.greetings</td> <td>2000 CE</td> <td>NewYear.java:44</td> <td>But again it might not. :-)</td> </tr> <tr><td>11</td> <td>main</td> <td>INFO</td> <td>holiday.greetings</td> <td>2000 CE</td> <td>NewYear.java:45</td> <td>It will have a myriad of useful new features, such as<br>- bug fixes,<br>- SMTPAppender that sends e-mail notes after a triggering event,<br>- HTMLLayout for formatting logs in an convenient HTML table,<br>- JMSAppender for sending log events through a JMS channel,<br>- support for customized ObjectRenders,<br>- <em>lots</em> of other improvements.</td> </tr> <tr><td>21</td> <td>main</td> <td>DEBUG</td> <td>holiday.greetings</td> <td>2000 CE</td> <td>NewYear.java:52</td> <td></td> </tr> <tr><td>21</td> <td>main</td> <td>INFO</td> <td>holiday.greetings</td> <td>2000 CE</td> <td>NewYear.java:53</td> <td>I think the combination of the SMTPAppender and HTMLLayout is the neatest recent addition to log4j.</td> </tr> <tr><td>21</td> <td>main</td> <td>INFO</td> <td>holiday.greetings</td> <td>2000 CE</td> <td>NewYear.java:57</td> <td>On another register, I have proposed a log4j talk for the 2001 ApacheCon 2001 event to be held in April in Santa Clara. If you intend to attend this conference, you might want to check out the list of talks. Did I mention that <em>you can vote</em> to imporve the chances of your favorite talk to get accepted? You need to <a href="http://ApacheCon.Com/html/login.html"> login</a> at ApacheCon first.</td> </tr> <tr><td>21</td> <td>main</td> <td>INFO</td> <td>holiday.greetings</td> <td>2000 CE</td> <td>NewYear.java:63</td> <td>Best regards, Ceki Gülcü</td> </tr> <tr><td>21</td> <td>main</td> <td><font color="#FF0000">FATAL</font></td> <td>holiday.greetings</td> <td>2000 CE</td> <td>NewYear.java:64</td> <td>Millenium change not expected before a thousand years!</td> </tr> <tr><td colspan="7">NewYearException: Unexpected millenium change, will automatically e-mail log4j users. <br> at NewYear.greet(NewYear.java:64)<br> at NewYear.main(NewYear.java:19)</td></tr></table></body></html> |
|
From: Ceki G. <cg...@ur...> - 2000-12-05 13:24:37
|
Greetings everyone, As you probably know already, log4j is licensed under IBM Public License (IPL), a full-fledged open-source license, certified by the open source initiative. It allows the licensee to freely use and distribute the package, even in modified form. Some developers have objected to using the IPL because it is not company neutral. To alleviate these concerns, I intend to release all new log4j code and code already copyrighted by me and other contributors (who agree) under the MIT Public License, a very simple open-source license, equally certified by the open source initiative. It is important to realize that this change has no practical implications for users. This will underscore the independence of the log4j project which is neither controlled nor sponsored by IBM. The mid-term goal is to replace all IBM copyrighted parts of the code so that we can dispose of log4j in the best interest of the project and its user community, this, without being hostage to IBM politics. Your comments and suggestions are welcome. Ceki Gulcu |
|
From: Ceki G. <cg...@ur...> - 2000-11-30 22:17:18
|
Greetings everyone,
I am pleased to announce log4j version 0.9.1, the 19th public release.
This release is backward compatible with 0.9.0 except the new dependance on
the DOM level 2 API in org.log4j.xml.DOMConfigurator.
This release adds asynchronous logging and the capability to automatically
reload changed or newly created configuration files. Some of the new
features in the DOMConfigurator require a JAXP, DOM level 2 compliant
parser. As far as I know, the only parser fulfilling both requirements is
Apache's Xerces parser.
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.
November 30, 2000
- Release of version 0.9.1 (the 19th public release)
- Corrected a typo making NTEventLogAppender.dll register the wrong
category message file. Thanks to Peter Hayes for accurately
reporting this bug. [*]
- The DOMConfigurator and PropertyConfigurator can now automatically
detect modified configuration files and re-read them. [*]
- Added AsyncAppender which buffers log requests and serves them
at a later time. AsyncAppender can increase logging performance
tremendously if logging operations are interspersed with long
and blocking non CPU-intensive operations, typically I/O or network
access. For CPU intensive applications, using the AsyncAppender
will actualy degrade logging performance by 10 to 25 percent. [*]
- The log4j.dtd has been modified to allow appenders to refer to
other appenders by IDREF. [*]
- The DOMConfigurator has been modified to take advantage of ID/IDREF
attributes when referring to appenders. This change requires a
DOM Level-2 API compliant parser. DOM Level-2 java bindings are
available at
http://www.w3.org/TR/1999/WD-DOM-Level-2-19990923/java-binding.html.
- Added the configure(String filename) method to DOMConfigurator.
This method requires the presence of a JAXP compatible parser.
At this time, the only DOM2 and JAXP compatible parser seems to be
the Apache xerces parser.
- Added the PriorityMatchFilter allowing filtering by exact priority
match. This was a common request by users. [*]
- The configuration of a category is now an atomic operation. This
ensures that log requests are not lost while configuration is in
progress. Anders Kristensen was to first to observe the potential
problems in non-atomic configurations. [*]
Best regards, Ceki Gulcu (cg...@ur...)
|
|
From: Ceki G. <cg...@ur...> - 2000-11-20 21:55:27
|
Greetings everyone, I am pleased to announce log4j version 0.9.0, the 18th public release. This version brings a few bug-fixes and performance tweaks in addition to important API enhancements. This release is backward compatible with version 0.8.5 except a change in log4j.dtd and a change in the handling of ResourceBundles by the Category class. The backward incompatible changes are listed at the top of the HISTORY file reproduced below. In practice, most users can consider log4j v0.9.0 as a drop-in replacement for log4j v0.8.5. New features include support for multiple hierarchy trees, support for sub-classing the Category class and the Priority class, support for sub-classing the PatternLayout with new conversion characters, support for custom filters in appenders, support for custom error handling in appenders, a new layout called XMLLayout and a new appender called ExternallyRolledFileAppender. 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 0.9.0 (the 18th public release) - The "log4j" element has been renamed to "configuration" in the log4j DTD. This change requires that log4j configuration files written in XML be modified. Since the log4j element figures only once in the XML file, this change should take little time. [**] - ResourceBundles are now category instance specific and no longer class static. Moreover, like other properties resource bundles follow the category hierarchy. [**] - Fixed a bug where configuration files were not parsed correctely due to trailing spaces in option values as returned by java.util.Properties. Trailing spaces are now removed from option values. This bug was quite disconcerting because the trailing spaces cannot be seen without careful examination of the configuration file. [*] - Added the XMLLayout. The output of the XMLLayout consists of a series of log4j:event elements. It does not output a complete XML file. The output is designed to be included as an external entity to form a well-formed XML file. [*] - Added a new abstract class org.log4j.helpers.DateLayout. The TTCCLayout now extends DateLayout. [*] - Corrected a rather subtle performance bug in the buffer management code in PatternLayout. Thanks to Vladislav Dutov and Constantine A. Plotnikov for for insisting on the correction of this bug. [*] - Created a new package called org.log4j.spi. This new package holds classes that are hidden from the casual user but are needed to extend log4j. [*] - Added org.log4j.varia.ExternallyRolledFileAppender to handle externally triggered file rollovers. [*] - Added support for multiple hierarchy trees. [*] - PatternLayout can now be subclassed to support new conversion patterns. [*] - Extended the DOMConfigurator and the log4j DTD to properly handle sub-classing of Category and Priority classes. There have been also minor adjustments to other classes to handle sub-classing. These changes should be invisible to users. All categories except the root category can be sub-classed and also assigned priorities sub-classing org.log4j.Priority. The root category always exists and cannot be subclassed. The ProppertyConfigurator remains unchanged. Thus, it does not handle extensions of the Category class. [*] - Added filter support in appenders. The DOMConfigurator and the log4j.dtd have been enhanced to support filters. [*] - Added error handling support to appenders. The DOMConfigurator and the log4j.dtd have been enhanced to support filters. [*] - Added support for correct interpretation of location information in IBM's Visual Age environment. Thanks to Wolf Siberski for supplying the relevant patch. [*] - Added getAdditivity method to Category. This feature was requested by Constantin Mitran. (mitran at ecircle.de) [*] Best regards, Ceki Gulcu (cg...@ur...) |
|
From: Ceki G. <cg...@fr...> - 2000-08-27 21:40:50
|
Greetings, Log4j version 0.8.5b has been released. This release corrects multiple bugs in default initialization code of Category class. Thanks to Jeff Turner for identifying and supplying corrective patches. Regards, Ceki Gulcu |
|
From: Ceki G. <cg...@fr...> - 2000-08-24 20:46:35
|
Hi again, I have just released log4j 0.8.5a. History file reads: - Added the %n conversion character to PatternLayout so that a line separator can be specified in a platform independent way. - In 0.8.5 internal Priority integer values were decoupled from the Unix Syslog values. This broke SyslogAppedder. A new function Priority.toSyslogInt is introduced to solve this bug. I thought it was wiser to correct the Syslog bug as soon as possible at the cost of a new release. Regards, Ceki Gulcu |