Workplan for log4j 1.2

Here is my proposed plan for the next major log4j release. As customary, there is no scheduled release date. It will be ready when it is ready. Your comments and suggestions are most welcome.

Label Comment Volunteer Status
More test cases We need more automated test cases to catch bugs as early is possible.It is highly recommended to add a new test case with each new feature or component.

All committers ongoing effort
Removal of deprecated methods Deprecated setOption and getOption method should be removed. Ceki done
JDBCAppender We currently have two competing JDBCAppenders: one by Thomas Fenner and the other by Kevin Steppe. We should try to get both authors to collaborate.

We must be careful not to dismiss an implementation without proper testing and due study. We should include at least of one of these implemetation in the standard log4j distribution.

? not started
Log4j in applets In order to minimize network traffic, the size of log4j-core.jar needs to be reduced to at most 50KB.

Log4jME has been released. It's less than 20KB.

Ceki done
Improved documentation Log4j documentation needs to be enhanced with configuration examples and much more hand-holding. Ceki under discussion
Mapped Diagnostic Contexts Mapped Diagnostic Contexts are similar to the NDC except that the MDC is a string to string map instead of a stack that the user sets when entering a special context. The PatternLayout has to be enhanced to support this by extending the %x pattern to accept an argument. Here is an example:
		ConversionPattern=3D%d %p %c %x{server} %x{host} - %m%n
	      
User code:
		{
		MDC.put("server", "totoServer");
		MDC.put("host", "someHost");

		cat.debug("Hello");
		
		}
	      
will print:
2000-01-24 10:00:00,000 DEBUG totoServer someHost - Hello

To make MDCs truly user friendly ThreadLocal variables are required. This will allow the MDC to be inherited by child threads. ThreadLocal are only supported under JDK 1.2 and above. In JDK 1.1, the MDC will not work but won't harm the user application either.

Ceki done
Enhanced variable substitution support in DOMConfigurator Ceki done
FallbackErrorHandler The FallbackErrorHandler implements the ErrorHandler interface such that a secondary appender may be specified. This secondary appender takes over if the primary appender fails for whatever reason.

The DOMConfigurator needs to be extended to support the FallbackErrorHandler

Ceki implemented, requires further testing
Review of the configure and watch architecture in configurators This is a very useful feature and the current architecture is not very good.

Contributions have been received by Mark Womack and others.

See
http://www.mail-archive.com/log4j-dev@jakarta.apache.org/msg01390.html
http://www.mail-archive.com/log4j-user@jakarta.apache.org/msg00666.html
http://marc.theaimsgroup.com/?t=101010070500002&r=1&w=2

? not yet started