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ü --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]