The Lumberjack project provides an open source (covered by the GNU Lesser Public License) implementation of the logging APIs first introduced in JDK 1.4 that will work for JDK 1.2 and 1.3. The goal is for this implementation to work transparently on JDK 1.2 and 1.3 without recompile and with no significant difference in behavior between it and the implementation provided in JDK 1.4 (differences will be ruthlessly eradicated when found :-). More information about the logging API can be found in JSR 47, the logging page in the documentation for JDK 1.4, the overview of Logging, and the javadoc for java.util.logging.
The intent is to allow developers to gain experience with the logging API sooner so that they can become more familiar with the API before moving to 1.4, and to allow them to write code that will move without change to 1.4. This should speed adoption of the logging APIs and build a collection of custom filters and handlers more quickly.
This project is hosted on SourceForge. There you can learn more about the project, download the latest release or read the release notes.
The latest release (0.9.3) of Lumberjack was made available on January 13th, 2002. It fixes a number of bugs in the implementation. While Lumberjack can't become final until JDK 1.4 becomes final (currently estimated at 4Q2001), the implementation is essentially complete at this point and there is little implementation work left to be done. From here forward, changes will be primarily bug fixes or adjustment to changes in the specification.
Lumberjack was implemented from scratch (clean room from any Sun materials except JSR 47) by Brian R. Gilstrap. Hopefully, others will find it worthwhile and join in making it better.