Version 1.2.0

Plan for the current release.

Description Volunteers Status

Lots more unit tests. We need more automated test cases to catch bugs as early is possible. It is highly recommended that a new test case be added with each new feature or component.
NUnit test need to be incorporated into the NAnt build process.
Split the test out from the main log4net assembly into a seperate assembly. This will reduce our dependency on NUnit.

pending

Documentation needs to be enhanced with more configuration examples and much more hand-holding.

  • Documentation for each appender
  • Documentation for each example
  • log4net Features
  • Howto build log4net (NAnt & Visual Studio .NET)

Nicko, Gert

50%

Examples need to be available in C# and VB where possible. Some Managed C++ examples would be nice.

Gert

done

Add support for repository properties. This allows a repository to be configured with certain properties that override those for the process. The appenders will need to be updated to look at repository properties before process or system wide properties.

Nicko

done

Support pluggable file locking modes for the FileAppender. These should support exclusive locking (the current behaviour), shared write locking, and cooperative exclusive locking (Filter OpLock).

pending

Support replacement patterns in the FileAppender file path. Currently environment variables are supported, but a more powerfull system is needed.

pending

Support multiple XML encodings in the XMLLayout. Support for the log4j schema will be most usefull.

Nicko

done

Investigate a WMI appender.
Because of the way that a managed WMI schema must be registered with the system (using assembly attributes) there seems little scope for a generic appender for WMI. The immediate plan is to look at generating a sample appender that does WMI.

suspended

Version 1.3.0

Plan for the next major release.

Description Volunteers Status

Replace internal logging (LogLog) with log4net itself. Replace ErrorHandler and OnlyOnceErrorHandler with alarm style extension. (Remove ErrorCodes enumeration).

planned

Strategy based rollovers. Unlike the RollingFileAppender, Apache Avalon's logkit has a nice and clean implementation for rolling files. See the org.apache.log.output.io.rotate package for exact details. Their implementation is based on strategies which are sub-components of appender.

planned

Cope with appender failure. Add a FallbackErrorHandler that 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.

planned

Update the SMTPAppender to use a separate SMTP agent. The System.Web.Mail package may not be available on all platforms.

planned

Add an assert extension. An extension that adds several assert methods.

planned

Add an alarm extension. An alarm is stateful and can be raised or reset.

planned

Add an XML-RPC appender.

planned

Extend the PatternLayout to support multi character patterns rather than just single character patterns. Allow patterns to be added dynamically.

planned

Loads more cool stuff...

Ideas

Good (and not so good) ideas that are not currently targeted towards a specific release.

Description Volunteers

Build a Microsoft Windows Installer Merge Module (MSM) for log4net. This allows it to be easily included in a user's installer.

Add support for pseudo attributes on the Compact Framework. The Compact Framework does not support reading assembly level attributes. Add a system using well known class names to substitute attribute like functionality.

Recycle the LoggingEvent objects. This will reduce the object allocation/deallocation for each logged message. Store the object in a thread local slot and reuse for each message. Care should be taken to support the buffering appenders that fix their logging event objects.