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

Apache log4net is a sub project of the Apache Logging Services project. 
Apache log4net graduated from the Apache Incubator in February 2007.
Web site: http://logging.apache.org/log4net


Documentation
=============

For local documentation, which is correct for this release see:
doc/index.html

For the latest documentation see the log4net web site at:
http://logging.apache.org/log4net

Contributing
============

log4net development happens on the log4net dev mailing list, see
<https://logging.apache.org/log4net/mail-lists.html>.  Please join the
mailing list and discuss bigger changes before working on them.

For bigger changes we must ask you to sign a Contributor License
Agreement <http://www.apache.org/licenses/#clas>.

github pull requests are one way to contribute, but our real issue
tracker is JIRA <https://issues.apache.org/jira/browse/LOG4NET>.

