<?xml version="1.0" ?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more 
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership. 
The ASF licenses this file to you under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with 
the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<document>

    <properties>
        <author email="nicko at apache dot org">Nicko Cadell</author>
        <title>Apache log4net: Home</title>
    </properties>

    <meta name="keywords" content=".net, C#, VB.NET, logging, tracing, component, framework, API, log4net" />

    <body>
        <section id="main" name="What is Apache log4net&#x2122;">

                <p>
                    The Apache log4net library is a tool to help the programmer output log statements to a variety 
                    of output targets. log4net is a port of the excellent Apache log4j&#x2122; framework to the 
                    Microsoft&#xae; .NET runtime. We have kept the framework similar in spirit to the original log4j 
                    while taking advantage of new features in the .NET runtime.
                    For more information on log4net see the <a href="release/features.html">features</a> document.
                </p>
        </section>

        <section id="project" name="The Apache log4net project">
                <p>
                    log4net is part of the <a href="http://logging.apache.org/">Apache Logging Services</a> 
                    project at the <a href="http://www.apache.org/">Apache Software Foundation</a>. The Logging Services project is intended to provide cross-language logging 
                    services for purposes of application debugging and auditing.
                </p>
        </section>
    </body>

</document>
