APACHE LOG4NET PROJECT STATUS
=============================

Project Status
==============

Apache log4net is a dormant sub project of the Apache Logging Services project. 
Apache log4net graduated from the Apache Incubator in February 2007.


Project Details
===============

Web site: http://logging.apache.org/log4net/
Issue Tracking: http://issues.apache.org/jira/browse/LOG4NET
Source Code: http://svn.apache.org/viewvc/logging/log4net/
Mailing Lists:
  User: log4net-user@logging.apache.org
  Dev:  log4net-dev@logging.apache.org


Active Committers
=================
None

Former Committers
================
* Nicko Cadell (nicko)
* Niall Daley (niall)
* Gert Driesen (drieseng)
* Ron Grabowski (rgrabowski)
* Stefan Bodewig (bodewig)
* Dominik Psenner (dpsenner)

