<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!--
 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.

-->
<!-- Generated by Apache Maven Doxia at May 13, 2012 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>Apache log4j 1.2 - log4j 1.2 Publications</title>
    <style type="text/css" media="all">
      @import url("./css/maven-base.css");
      @import url("./css/maven-theme.css");
      @import url("./css/site.css");
    </style>
    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
    <meta name="Date-Revision-yyyymmdd" content="20120513" />
    <meta http-equiv="Content-Language" content="en" />
      </head>
  <body class="composite">
    <div id="banner">
                  <a href="../../" id="bannerLeft">
                                                <img src="images/ls-logo.jpg" alt="Apache Logging Services Project" />
                </a>
                        <a href=".." id="bannerRight">
                                                <img src="images/logo.jpg" alt="Apache log4j™" />
                </a>
            <div class="clear">
        <hr/>
      </div>
    </div>
    <div id="breadcrumbs">
            
        
                <div class="xleft">
        <span id="publishDate">Last Published: 2012-05-13</span>
                  &nbsp;| <span id="projectVersion">Version: 1.2.17</span>
                          |                           <a href="http://www.apache.org/" class="externalLink" title="Apache">Apache</a>
                &gt;
                              <a href="../../" title="Logging Services">Logging Services</a>
                &gt;
                              <a href="../" title="log4j">log4j</a>
                &gt;
                              <a href="./" title="1.2">1.2</a>
                          </div>
            <div class="xright">        
        
      </div>
      <div class="clear">
        <hr/>
      </div>
    </div>
    <div id="leftColumn">
      <div id="navcolumn">
             
        
                                <h5>About log4j 1.2</h5>
                  <ul>
                  <li class="none">
                          <a href="index.html" title="What is log4j?">What is log4j?</a>
            </li>
                  <li class="none">
                          <a href="download.html" title="Download">Download</a>
            </li>
                  <li class="none">
                          <a href="faq.html" title="FAQ">FAQ</a>
            </li>
                  <li class="none">
                          <a href="roadmap.html" title="Roadmap">Roadmap</a>
            </li>
          </ul>
                       <h5>Community</h5>
                  <ul>
                  <li class="none">
                          <a href="mail-lists.html" title="Mailing Lists">Mailing Lists</a>
            </li>
                  <li class="none">
                          <a href="issue-tracking.html" title="Issue Tracking">Issue Tracking</a>
            </li>
                  <li class="none">
                          <a href="http://blogs.apache.org/logging/" class="externalLink" title="Blog">Blog</a>
            </li>
          </ul>
                       <h5>Documentation</h5>
                  <ul>
                  <li class="none">
                          <a href="manual.html" title="Introduction">Introduction</a>
            </li>
                  <li class="none">
                          <a href="apidocs/index.html" title="JavaDoc">JavaDoc</a>
            </li>
                  <li class="none">
            <strong>Publications</strong>
          </li>
                  <li class="none">
                          <a href="building.html" title="Building">Building</a>
            </li>
                  <li class="none">
                          <a href="http://wiki.apache.org/logging-log4j" class="externalLink" title="Wiki">Wiki</a>
            </li>
          </ul>
                       <h5>Project Documentation</h5>
                  <ul>
                                                                                                                                                              <li class="collapsed">
                          <a href="project-info.html" title="Project Information">Project Information</a>
                  </li>
                                                                                                        <li class="collapsed">
                          <a href="project-reports.html" title="Project Reports">Project Reports</a>
                  </li>
          </ul>
                       <h5>Apache</h5>
                  <ul>
                  <li class="none">
                          <a href="http://www.apache.org" class="externalLink" title="Home">Home</a>
            </li>
                  <li class="none">
                          <a href="http://www.apache.org/licenses" class="externalLink" title="License">License</a>
            </li>
                  <li class="none">
                          <a href="http://www.apache.org/foundation/sponsorship.html" class="externalLink" title="Sponsorship">Sponsorship</a>
            </li>
                  <li class="none">
                          <a href="http://www.apache.org/foundation/thanks.html" class="externalLink" title="Thanks">Thanks</a>
            </li>
                  <li class="none">
                          <a href="http://www.apache.org/security/" class="externalLink" title="Security">Security</a>
            </li>
                  <li class="none">
                          <a href="http://www.apachecon.com" class="externalLink" title="Conferences">Conferences</a>
            </li>
          </ul>
                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
        <img class="poweredBy" alt="Built by Maven" src="./images/maven-feather.png" />
      </a>
                   
        
            </div>
    </div>
    <div id="bodyColumn">
      <div id="contentBox">
        <!-- 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. -->
        
<div align="center">
<br><br>
<a href="https://jaxlondon.com/jax-awards/"><img src="images/VoteLog4j2-JAX2016InnovationAward.jpg"></a>
<p>
<table border="1" cellspacing="0" align="center" style="width:400px">
<tr>
<td align="center">
Log4j 2 is nominated for the JAX Innovation Awards! <br><br>
Do you like its performance, garbage-free logging, and easy and flexible configuration?<br><br>
Log4j 2 needs your love.
<a href="https://jaxlondon.com/jax-awards/">Vote for Log4j 2!</a><br><br>
</td>
</tr>
</table>
</div>

<div class="section"><h2>End of Life</h2>
  <p>On August 5, 2015 the Logging Services Project Management Committee announced that Log4j 1.x had reached end of life.
  For complete text of the announcement please see the
  <a href="http://blogs.apache.org/foundation/entry/apache_logging_services_project_announces">Apache Blog</a>.
  Users of Log4j 1 are recommended to upgrade to <a class="externalLink" href="http://logging.apache.org/log4j/2.x/index.html">Apache Log4j 2</a>.</p>
</div>

        <div class="section"><h2>Books<a name="Books"></a></h2>
        <ul><li>Ceki G&#xfc;lc&#xfc;. 2004. The complete log4j manual. QoS.ch. <a class="externalLink" href="http://www.qos.ch/shop/products/eclm/">http://www.qos.ch/shop/products/eclm/</a>.</li><li>Samudra Gupta. 2007. Pro Apache log4j, Second Edition. APress.</li></ul></div><div class="section"><h2>Articles:<a name="Articles:"></a></h2><ul><li>Vipan Singla. Don't Use System.out.println! Use Log4j. <a class="externalLink" href="http://www.vipan.com/htdocs/log4jhelp.html">http://www.vipan.com/htdocs/log4jhelp.html</a>.</li><li>Vikran Goyal. Build Flexible Logs With log4j. <a class="externalLink" href="http://www.onjava.com/pub/a/onjava/2002/08/07/log4j.html">http://www.onjava.com/pub/a/onjava/2002/08/07/log4j.html</a>.</li><li>Ashley J.S. Mills. Log4J. <a class="externalLink" href="http://supportweb.cs.bham.ac.uk/documentation/tutorials/docsystem/build/tutorials/log4j/log4j.html">http://supportweb.cs.bham.ac.uk/documentation/tutorials/docsystem/build/tutorials/log4j/log4j.html</a>.</li><li>Kevin Brown. Add logging to your Java Applications. <a class="externalLink" href="http://www.builder.com.com/article.jhtml?id=u00820020124kev01.htm"> http://www.builder.com.com/article.jhtml?id=u00820020124kev01.htm</a></li><li>Kevin Brown. How does the Java logging API stack up against log4j? <a class="externalLink" href="http://www.builder.com.com/article.jhtml?id=u00220020724kev01.htm"> http://www.builder.com.com/article.jhtml?id=u00220020724kev01.htm</a>.</li><li>Michael Canzoneri. Log4J FAQ. <a class="externalLink" href="http://www.jguru.com/faq/Log4j">http://www.jguru.com/faq/Log4j</a>.</li><li>Ceki G&#xfc;lc&#xfc;. Think Again. <a class="externalLink" href="http://www.qos.ch/logging/thinkAgain.html">http://www.qos.ch/logging/thinkAgain.html</a>.</li><li>Ceki G&#xfc;lc&#xfc;. Supporting the log4j RepositorySelector. <a class="externalLink" href="http://www.qos.ch/logging/sc.html">http://www.qos.ch/logging/sc.html</a>.</li><li>Ceki G&#xfc;lc&#xfc;. Log4j delivers control over logging. <a class="externalLink" href="http://www.javaworld.com/jw-11-2000/jw-1122-log4j.html">http://www.javaworld.com/jw-11-2000/jw-1122-log4j.html</a>.</li><li>Vikram Goyal. Understanding Classloaders: log4j in a J2EE Environment. <a class="externalLink" href="http://www.onjava.com/pub/a/onjava/2003/04/02/log4j_ejb.html">http://www.onjava.com/pub/a/onjava/2003/04/02/log4j_ejb.html</a>.</li><li>Ruth Zamorano and Rafeal Luque. Instant logging: Harness the power of log4j with Jabber. <a class="externalLink" href="http://www-106.ibm.com/developerworks/java/library/j-instlog/">http://www-106.ibm.com/developerworks/java/library/j-instlog/</a>.</li><li>Matthew Litkey, Jay Galvin, and Marina Sum. Developer Tip: Adding the log4j API to Applications on Sun Java System Application Server 7 <a class="externalLink" href="http://developers.sun.com/prodtech/appserver/reference/techart/log4j.html">http://developers.sun.com/prodtech/appserver/reference/techart/log4j.html</a>.</li><li>Sean C. Sullivan. Reporting Application Errors by Email. <a class="externalLink" href="http://www.onjava.com/pub/a/onjava/2004/09/29/smtp-logging.html">http://www.onjava.com/pub/a/onjava/2004/09/29/smtp-logging.html</a>.</li></ul></div><div class="section"><h2>Presentations:<a name="Presentations:"></a></h2><ul><li>John Munsch. Log4J In 30 Minutes Or Less. <a class="externalLink" href="http://www.johnmunsch.com/projects/Presentations/">http://www.johnmunsch.com/projects/Presentations/</a>.</li><li>Ceki G&#xfc;lc&#xfc;. Log4j, a logging package for the Java language. <a class="externalLink" href="http://www.qos.ch/ac2001/F11-10.html">http://www.qos.ch/ac2001/F11-10.html</a>.</li><li>Brent Twenter. Log4j. <a class="externalLink" href="http://www.ociweb.com/javasig/knowledgebase/January2001/Log4J.ppt">http://www.ociweb.com/javasig/knowledgebase/January2001/Log4J.ppt</a>. </li></ul></div>
      </div>
    </div>
    <div class="clear">
      <hr/>
    </div>
    <div id="footer">
      <div class="xleft">Copyright &#169;                    1999-2012
                        <a href="http://www.apache.org">Apache Software Foundation</a>.
                  
        
       Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache Software License, Version 2.0</a>.</div>
      <div class="xleft">Apache Extras Companion for Apache log4j, Apache log4j, Apache, the Apache feather logo,
   the Apache Logging Services project logo, the log4j logo, and the Built by Maven 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.</div>
      <div class="clear">
        <hr/>
      </div>
    </div>
  </body>
</html>
