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

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

Apache log4net is a 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
=================
* Davyd McColl (davydm)

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

