<!DOCTYPE html>
<html lang="en">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Apache Logging Services</title>

    <link href="css/asciidoctor-default.css" rel="stylesheet" type="text/css" />
    <link href="css/bootstrap.min.css" rel="stylesheet" type="text/css" />
    <link href="css/site.css" rel="stylesheet" type="text/css" />

    <script src="js/jquery.min.js"></script>
    <script src="js/bootstrap.min.js"></script>
    <script src="js/site.js"></script>

</head>

<body>
<div class="navbar">
    <div class="navbar-inner">
        <div class="container">
            <a class="brand" href="https://logging.apache.org">Apache Logging Services&trade;</a>
            <ul class="nav">
                <li class="dropdown">
                    <a href="#" class="dropdown-toggle" data-toggle="dropdown">About<b class="caret"></b></a>
                    <ul class="dropdown-menu">
                        <li><a target="_blank" href="guidelines.html">Guidelines</a></li>
                        <li><a target="_blank" href="charter.html">Charter</a></li>
                        <li><a target="_blank" href="team-list.html">Team</a></li>
                        <li><a target="_blank" href="mailing-lists.html">Mailing lists</a></li>
                        <li><a target="_blank" href="https://cwiki.apache.org/confluence/display/LOGGING/Home">Wiki</a>
                        <li><a target="_blank" href="what-is-logging.html">What is logging?</a>
                        </li>
                    </ul>
                </li>
            </ul>
            <ul class="nav">
                <li class="dropdown">
                    <a href="#" class="dropdown-toggle" data-toggle="dropdown">Projects<b class="caret"></b></a>
                    <ul class="dropdown-menu">
                        <li><a target="_blank" href="chainsaw/2.x/index.html">Apache chainsaw</a></li>
                        <li><a target="_blank" href="log4cxx">Apache log4cxx</a></li>
                        <li><a target="_blank" href="log4j/2.x/index.html">Apache log4j</a></li>
                        <li><a target="_blank" href="log4j-audit/latest/index.html">Apache log4j-audit</a></li>
                        <li><a target="_blank" href="log4j/kotlin/index.html">Apache log4j Kotlin API</a></li>
                        <li><a target="_blank" href="log4j/scala/index.html">Apache log4j Scala API</a></li>
                        <li><a target="_blank" href="log4net">Apache log4net</a></li>
                    </ul>
                </li>
            </ul>
            <ul class="nav">
                <li class="dropdown">
                    <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dormant<b class="caret"></b></a>
                    <ul class="dropdown-menu">
                        <li><a target="_blank" href="log4j/1.2/index.html">Apache log4j 1.x</a></li>
                        <li><a target="_blank" href="log4j/extras/index.html">Apache log4j 1.x extras</a></li>
                        <li><a target="_blank" href="log4php">Apache log4php</a></li>
                    </ul>
                </li>
            </ul>

            <ul class="nav pull-right">
                <li class="dropdown">
                    <a href="#" class="dropdown-toggle" data-toggle="dropdown">Apache<b class="caret"></b></a>
                    <ul class="dropdown-menu">
                        <li><a target="_blank" href="https://www.apache.org/">Home</a></li>
                        <li><a target="_blank" href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
                        <li><a target="_blank" href="https://www.apache.org/licenses/">License</a></li>
                        <li><a target="_blank" href="https://www.apache.org/foundation/thanks.html">Thanks</a></li>
                        <li><a target="_blank" href="https://www.apache.org/events/current-event.html">Current Events</a></li>
                        <li><a target="_blank" href="https://www.apache.org/security/">Security</a></li>
                        <li><a target="_blank" href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy</a></li>
                    </ul>
                </li>
            </ul>
        </div>
    </div>
</div>

<div class="container">
    <div class="content">
        <h3>Dormant Projects</h3>
<p>These are Logging Services Projects that have been deemed inactive since they have seen little recent development activity or have reached end-of-life. If you wish to use any of these components, you must build them yourselves. It is best to assume that these components will not be released in the near future.</p>
<div class="row">
        <div class="span4">
                <h2>Apache Log4j 1.x</h2>
                <p>The original Log4j. Reached End-Of-Life August 2015</p>
                <p><a target="_blank" class="btn" href="log4j/1.2/index.html">Project site &raquo;</a></p>
        </div>
        <div class="span4">
                <h2>Apache log4j 1 extras</h2>
                <p>Extras for log4j 1.x, like companions, receivers and more.</p>
                <p><a target="_blank" class="btn" href="log4j/extras/index.html">Project site &raquo;</a></p>
        </div>
        <div class="span4">
            <h2>Apache log4php</h2>
            <p>A versatile logging framework for PHP. Originally a port of Apache log4j to PHP, it has grown to include
              various PHP specific features.</p>
            <p><a target="_blank" class="btn" href="log4php">Project site &raquo;</a></p>
        </div>
</div>

    </div>

<div class="footer">
        <p>
            Copyright © 2017-2022 <a href="https://www.apache.org" target="external">The Apache Software Foundation</a>.
            Licensed under the <a href="https://www.apache.org/licenses/LICENSE-2.0"
            target="external">Apache Software License, Version 2.0</a> Please read our <a href="https://privacy.apache.org/policies/privacy-policy-public.html">privacy policy</a>.
        </p><p>
            Apache, Apache chainsaw, Apache log4cxx, Apache log4j, Apache log4net, Apache log4php and the Apache
            feather logo are trademarks of The Apache Software Foundation.	Oracle and Java are registered trademarks
            of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.
        </p><p>
            Site powered by <a href="https://getbootstrap.com/" target="external">Bootstrap</a>
            and <a href="https://jquery.com/" target="external">jQuery</a>.
        </p>
</div>
</div>
</body>
</html>
