<!DOCTYPE html>
<!--
 | Generated by Apache Maven Doxia Site Renderer 1.9.1 from src/site/xdoc/manual/index.xml at 2019-12-11
 | Rendered using Apache Maven Fluido Skin 1.8
-->
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <meta name="generator" content="Apache Maven Doxia Site Renderer 1.9.1" />
    <meta name="author" content="Ralph Goers" />
    <title>Log4j &#x2013; Overview</title>
    <link rel="stylesheet" href="../css/apache-maven-fluido-1.8.min.css" />
    <link rel="stylesheet" href="../css/site.css" />
    <link rel="stylesheet" href="../css/print.css" media="print" />
    <script src="../js/apache-maven-fluido-1.8.min.js"></script>
  </head>
  <body class="topBarDisabled">
    <div class="container-fluid">
      <header>
        <div id="banner">
          <div class="pull-left"><a href="http://logging.apache.org" id="bannerLeft"><img src="../images/ls-logo.jpg"  alt=""/></a></div>
          <div class="pull-right"><a href="http://logging.apache.org/log4j/2.x" id="bannerRight"><img src="../images/logo.png"  alt=""/></a></div>
          <div class="clear"><hr/></div>
        </div>

        <div id="breadcrumbs">
          <ul class="breadcrumb">
        <li id="publishDate">Last Published: 2019-12-11<span class="divider">|</span>
</li>
          <li id="projectVersion">Version: 2.13.0</li>
      <li class="pull-right"><span class="divider">|</span>
<a href="https://github.com/apache/logging-log4j2" class="externalLink" title="GitHub">GitHub</a></li>
      <li class="pull-right"><span class="divider">|</span>
<a href="https://analysis.apache.org/dashboard/index/org.apache.logging.log4j:log4j" class="externalLink" title="Sonar">Sonar</a></li>
      <li class="pull-right"><span class="divider">|</span>
<a href="../../../" title="Logging Services">Logging Services</a></li>
      <li class="pull-right"><span class="divider">|</span>
<a href="https://www.apache.org/" class="externalLink" title="Apache">Apache</a></li>
      <li class="pull-right"><a href="https://cwiki.apache.org/confluence/display/LOGGING/Log4j" class="externalLink" title="Logging Wiki">Logging Wiki</a></li>
          </ul>
        </div>
      </header>
      <div class="row-fluid">
        <header id="leftColumn" class="span2">
          <nav class="well sidebar-nav">
  <ul class="nav nav-list">
   <li class="nav-header"><img class="imageLink" src="../img/glyphicons/home.png" alt="Apache Log4j™ 2" border="0"/> Apache Log4j™ 2</li>
    <li><a href="../index.html" title="About"><span class="none"></span>About</a></li>
    <li><a href="../download.html" title="Download"><span class="none"></span>Download</a></li>
    <li><a href="../javadoc.html" title="Javadoc"><span class="icon-chevron-right"></span>Javadoc</a></li>
    <li><a href="../maven-artifacts.html" title="Maven, Ivy, Gradle Artifacts"><span class="icon-chevron-right"></span>Maven, Ivy, Gradle Artifacts</a></li>
    <li><a href="../runtime-dependencies.html" title="Runtime Dependencies"><span class="none"></span>Runtime Dependencies</a></li>
    <li><a href="../changelog.html" title="Changelog"><span class="none"></span>Changelog</a></li>
    <li><a href="../faq.html" title="FAQ"><span class="none"></span>FAQ</a></li>
    <li><a href="../performance.html" title="Performance"><span class="icon-chevron-right"></span>Performance</a></li>
    <li><a href="../articles.html" title="Articles and Tutorials"><span class="none"></span>Articles and Tutorials</a></li>
    <li><a href="../thanks.html" title="Thanks"><span class="none"></span>Thanks</a></li>
   <li class="nav-header"><img class="imageLink" src="../img/glyphicons/pencil.png" alt="For Contributors" border="0"/> For Contributors</li>
    <li><a href="../build.html" title="Building Log4j from Source"><span class="none"></span>Building Log4j from Source</a></li>
    <li><a href="../guidelines.html" title="Guidelines"><span class="none"></span>Guidelines</a></li>
    <li><a href="../javastyle.html" title="Style Guide"><span class="none"></span>Style Guide</a></li>
   <li class="nav-header"><img class="imageLink" src="../img/glyphicons/book.png" alt="Manual" border="0"/> Manual</li>
    <li class="active"><a href="#"><span class="none"></span>Introduction</a></li>
    <li><a href="../manual/architecture.html" title="Architecture"><span class="none"></span>Architecture</a></li>
    <li><a href="../manual/compatibility.html" title="Log4j 1.x Compatibility"><span class="none"></span>Log4j 1.x Compatibility</a></li>
    <li><a href="../manual/migration.html" title="Log4j 1.x Migration"><span class="none"></span>Log4j 1.x Migration</a></li>
    <li><a href="../manual/api.html" title="Java API"><span class="icon-chevron-right"></span>Java API</a></li>
    <li><a href="../manual/scala-api.html" title="Scala API"><span class="none"></span>Scala API</a></li>
    <li><a href="../manual/configuration.html" title="Configuration"><span class="icon-chevron-right"></span>Configuration</a></li>
    <li><a href="../manual/usage.html" title="Usage"><span class="icon-chevron-right"></span>Usage</a></li>
    <li><a href="../manual/webapp.html" title="Web Applications and JSPs"><span class="icon-chevron-right"></span>Web Applications and JSPs</a></li>
    <li><a href="../manual/lookups.html" title="Lookups"><span class="icon-chevron-right"></span>Lookups</a></li>
    <li><a href="../manual/appenders.html" title="Appenders"><span class="icon-chevron-right"></span>Appenders</a></li>
    <li><a href="../manual/layouts.html" title="Layouts"><span class="icon-chevron-right"></span>Layouts</a></li>
    <li><a href="../manual/filters.html" title="Filters"><span class="icon-chevron-right"></span>Filters</a></li>
    <li><a href="../manual/async.html" title="Async Loggers"><span class="icon-chevron-right"></span>Async Loggers</a></li>
    <li><a href="../manual/garbagefree.html" title="Garbage-free Logging"><span class="icon-chevron-right"></span>Garbage-free Logging</a></li>
    <li><a href="../manual/jmx.html" title="JMX"><span class="none"></span>JMX</a></li>
    <li><a href="../manual/logsep.html" title="Logging Separation"><span class="none"></span>Logging Separation</a></li>
    <li><a href="../manual/extending.html" title="Extending Log4j"><span class="icon-chevron-right"></span>Extending Log4j</a></li>
    <li><a href="../manual/plugins.html" title="Plugins"><span class="icon-chevron-right"></span>Plugins</a></li>
    <li><a href="../manual/customconfig.html" title="Programmatic Log4j Configuration"><span class="icon-chevron-right"></span>Programmatic Log4j Configuration</a></li>
    <li><a href="../manual/customloglevels.html" title="Custom Log Levels"><span class="icon-chevron-right"></span>Custom Log Levels</a></li>
   <li class="nav-header"><img class="imageLink" src="../img/glyphicons/tag.png" alt="Related Projects" border="0"/> Related Projects</li>
    <li><a href="http://logging.apache.org/log4j/scala/index.html" class="externalLink" title="Log4j-Scala"><span class="none"></span>Log4j-Scala</a></li>
   <li class="nav-header"><img class="imageLink" src="../img/glyphicons/link.png" alt="Legacy Sites" border="0"/> Legacy Sites</li>
    <li><a href="http://logging.apache.org/log4j/1.2/" class="externalLink" title="Log4j 1.2 - End of Life"><span class="none"></span>Log4j 1.2 - End of Life</a></li>
    <li><a href="http://logging.apache.org/log4j/log4j-2.3/" class="externalLink" title="Log4j 2.3 - Java 6"><span class="none"></span>Log4j 2.3 - Java 6</a></li>
    <li><a href="http://logging.apache.org/log4j/log4j-2.12.1" class="externalLink" title="Log4j 2.12.1 - Java 7"><span class="none"></span>Log4j 2.12.1 - Java 7</a></li>
   <li class="nav-header"><img class="imageLink" src="../img/glyphicons/cog.png" alt="Components" border="0"/> Components</li>
    <li><a href="../log4j-api/index.html" title="API"><span class="none"></span>API</a></li>
    <li><a href="../log4j-core/index.html" title="Implementation"><span class="none"></span>Implementation</a></li>
    <li><a href="../log4j-jcl/index.html" title="Commons Logging Bridge"><span class="none"></span>Commons Logging Bridge</a></li>
    <li><a href="../log4j-1.2-api/index.html" title="Log4j 1.2 API"><span class="none"></span>Log4j 1.2 API</a></li>
    <li><a href="../log4j-slf4j-impl/index.html" title="SLF4J Binding"><span class="none"></span>SLF4J Binding</a></li>
    <li><a href="../log4j-jul/index.html" title="JUL Adapter"><span class="none"></span>JUL Adapter</a></li>
    <li><a href="../log4j-to-slf4j/index.html" title="Log4j 2 to SLF4J Adapter"><span class="none"></span>Log4j 2 to SLF4J Adapter</a></li>
    <li><a href="../log4j-flume-ng/index.html" title="Apache Flume Appender"><span class="none"></span>Apache Flume Appender</a></li>
    <li><a href="../log4j-taglib/index.html" title="Log4j Tag Library"><span class="none"></span>Log4j Tag Library</a></li>
    <li><a href="../log4j-jmx-gui/index.html" title="Log4j JMX GUI"><span class="none"></span>Log4j JMX GUI</a></li>
    <li><a href="../log4j-web/index.html" title="Log4j Web Application Support"><span class="none"></span>Log4j Web Application Support</a></li>
    <li><a href="../log4j-appserver/index.html" title="Log4j Application Server Integration"><span class="none"></span>Log4j Application Server Integration</a></li>
    <li><a href="../log4j-couchdb/index.html" title="Log4j CouchDB appender"><span class="none"></span>Log4j CouchDB appender</a></li>
    <li><a href="../log4j-mongodb2/index.html" title="Log4j MongoDB2 appender"><span class="none"></span>Log4j MongoDB2 appender</a></li>
    <li><a href="../log4j-mongodb3/index.html" title="Log4j MongoDB3 appender"><span class="none"></span>Log4j MongoDB3 appender</a></li>
    <li><a href="../log4j-cassandra/index.html" title="Log4j Cassandra appender"><span class="none"></span>Log4j Cassandra appender</a></li>
    <li><a href="../log4j-iostreams/index.html" title="Log4j IO Streams"><span class="none"></span>Log4j IO Streams</a></li>
    <li><a href="../log4j-liquibase/index.html" title="Log4j Liquibase Binding"><span class="none"></span>Log4j Liquibase Binding</a></li>
    <li><a href="../log4j-docker/index.html" title="Log4j Docker Support"><span class="none"></span>Log4j Docker Support</a></li>
    <li><a href="../log4j-spring-cloud-config/log4j-spring-cloud-config-client/index.html" title="Log4j Spring Cloud Config Client"><span class="none"></span>Log4j Spring Cloud Config Client</a></li>
   <li class="nav-header"><img class="imageLink" src="../img/glyphicons/info.png" alt="Project Information" border="0"/> Project Information</li>
    <li><a href="../dependency-convergence.html" title="Dependency Convergence"><span class="none"></span>Dependency Convergence</a></li>
    <li><a href="../dependency-management.html" title="Dependency Management"><span class="none"></span>Dependency Management</a></li>
    <li><a href="../team-list.html" title="Project Team"><span class="none"></span>Project Team</a></li>
    <li><a href="../mail-lists.html" title="Mailing Lists"><span class="none"></span>Mailing Lists</a></li>
    <li><a href="../issue-tracking.html" title="Issue Tracking"><span class="none"></span>Issue Tracking</a></li>
    <li><a href="../license.html" title="Project License"><span class="none"></span>Project License</a></li>
    <li><a href="../source-repository.html" title="Source Repository"><span class="none"></span>Source Repository</a></li>
    <li><a href="../project-summary.html" title="Project Summary"><span class="none"></span>Project Summary</a></li>
   <li class="nav-header"><img class="imageLink" src="../img/glyphicons/layers.png" alt="Project Reports" border="0"/> Project Reports</li>
    <li><a href="../changes-report.html" title="Changes Report"><span class="none"></span>Changes Report</a></li>
    <li><a href="../jira-report.html" title="JIRA Report"><span class="none"></span>JIRA Report</a></li>
    <li><a href="../rat-report.html" title="RAT Report"><span class="none"></span>RAT Report</a></li>
  </ul>
          </nav>
          <div class="well sidebar-nav">
            <hr />
            <div id="poweredBy">
              <div class="clear"></div>
              <div class="clear"></div>
              <div class="clear"></div>
<a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"><img class="builtBy" alt="Built by Maven" src="../images/logos/maven-feather.png" /></a>
            </div>
          </div>
        </header>
        <main id="bodyColumn"  class="span10" >

    
      <section>
<h2><a name="Welcome_to_Log4j_2.21"></a>Welcome to Log4j 2!</h2>
        <section>
<h3><a name="Introduction"></a>Introduction</h3>
          
<p>Almost every large application includes its own logging or tracing
          API. In conformance with this rule, the E.U.  <a class="externalLink" href="http://www.semper.org">SEMPER</a> project decided to write its
          own tracing API. This was in early 1996. After countless enhancements,
          several incarnations and much work that API has evolved to become
          log4j, a popular logging package for Java. The package is distributed
          under the <a href="../LICENSE">Apache Software License</a>, a
          fully-fledged open source license certified by the <a class="externalLink" href="http://www.opensource.org">open source</a> initiative. The
          latest log4j version, including full-source code, class files and
          documentation can be found at <a class="externalLink" href="http://logging.apache.org/log4j/2.x/index.html"><b>http://logging.apache.org/log4j/2.x/index.html</b></a>.
          </p>

          
<p>Inserting log statements into code is a low-tech method for
          debugging it. It may also be the only way because debuggers are not
          always available or applicable. This is usually the case for
          multithreaded applications and distributed applications at large.</p>

          
<p>Experience indicates that logging was an important component of the
          development cycle. It offers several advantages. It provides precise
          <i>context</i> about a run of the application. Once inserted into
          the code, the generation of logging output requires no human
          intervention.  Moreover, log output can be saved in persistent medium
          to be studied at a later time. In addition to its use in the
          development cycle, a sufficiently rich logging package can also be
          viewed as an auditing tool.</p>

          
<p>As Brian W. Kernighan and Rob Pike put it in their truly excellent
          book <i>&quot;The Practice of Programming&quot;:</i></p>

          
<div class="well">
            As personal choice, we tend not to use debuggers beyond getting a
            stack trace or the value of a variable or two. One reason is that it
            is easy to get lost in details of complicated data structures and
            control flow; we find stepping through a program less productive
            than thinking harder and adding output statements and self-checking
            code at critical places. Clicking over statements takes longer than
            scanning the output of judiciously-placed displays. It takes less
            time to decide where to put print statements than to single-step to
            the critical section of code, even assuming we know where that
            is. More important, debugging statements stay with the program;
            debugging sessions are transient.
          </div>

          
<p>Logging does have its drawbacks. It can slow down an
          application. If too verbose, it can cause scrolling blindness. To
          alleviate these concerns, log4j is designed to be reliable, fast and
          extensible. Since logging is rarely the main focus of an application,
          the log4j API strives to be simple to understand and to use.</p>
        </section>
        <section>
<h3><a name="Log4j_2"></a>Log4j 2</h3>
          
<p>
          Log4j 1.x has been widely adopted and used in many applications. However,
          through the years development on it has slowed down. It has become more
          difficult to maintain due to its need to be compliant with very old versions
          of Java and became
          <a class="externalLink" href="https://blogs.apache.org/foundation/entry/apache_logging_services_project_announces">End
            of Life</a> in August 2015.
          Its alternative, SLF4J/Logback made many needed improvements to the
          framework. So why bother with Log4j 2? Here are a few of the reasons.
          </p>
          
<ol style="list-style-type: decimal">
            
<li>Log4j 2 is designed to be usable as an audit logging framework. Both Log4j
              1.x and Logback will lose events while reconfiguring. Log4j 2 will not. In
              Logback, exceptions in Appenders are never visible to the application. In
              Log4j 2 Appenders can be configured to allow the exception to percolate
              to the application.</li>
            
<li>Log4j 2 contains next-generation <a href="async.html">Asynchronous Loggers</a> based
              on the <a class="externalLink" href="https://lmax-exchange.github.io/disruptor/">LMAX Disruptor library</a>.
              In multi-threaded scenarios Asynchronous Loggers have 10 times higher throughput and
              orders of magnitude lower latency than Log4j 1.x and Logback.</li>
            
<li>Log4j 2 is <a href="garbagefree.html">garbage free</a> for
              stand-alone applications, and low garbage for web applications during steady state logging.
              This reduces pressure on the garbage collector and can give better response time performance.</li>
            
<li>Log4j 2 uses a <a href="plugins.html">Plugin system</a> that makes it extremely easy to
              <a href="extending.html">extend the framework</a> by adding new <a href="appenders.html">Appenders</a>,
              <a href="filters.html">Filters</a>, <a href="layouts.html">Layouts</a>, <a href="lookups.html">Lookups</a>,
              and Pattern Converters without requiring any changes to Log4j.</li>
            
<li>Due to the Plugin system configuration is simpler. Entries in the configuration
              do not require a class name to be specified.</li>
            
<li>Support for <a href="customloglevels.html">custom log levels</a>.
              Custom log levels can be defined in code or in configuration.</li>
            
<li>Support for <a href="api.html#LambdaSupport">lambda expressions</a>.
              Client code running on Java 8 can use lambda expressions to lazily construct a log message only if
              the requested log level is enabled. Explicit level checks are not needed, resulting in cleaner code.</li>
            
<li>Support for <a href="messages.html">Message objects</a>. Messages allow support for interesting and
              complex constructs to be passed through the logging system and be efficiently
              manipulated. Users are free to create their own
              <a href="../log4j-api/apidocs/org/apache/logging/log4j/message/Message.html">Message</a>
              types and write custom <a href="layouts.html">Layouts</a>, <a href="filters.html">Filters</a> and
              <a href="lookups.html">Lookups</a> to manipulate them.</li>
            
<li>Log4j 1.x supports Filters on Appenders. Logback added TurboFilters to allow
              filtering of events before they are processed by a Logger. Log4j 2 supports
              Filters that can be configured to process events before they are handled by
              a Logger, as they are processed by a Logger or on an Appender.</li>
            
<li>Many Logback Appenders do not accept a Layout and will only send data in a
              fixed format. Most Log4j 2 Appenders accept a Layout, allowing the data to
              be transported in any format desired.</li>
            
<li>Layouts in Log4j 1.x and Logback return a String. This resulted in the problems
              discussed at <a class="externalLink" href="http://logback.qos.ch/manual/encoders.html">Logback Encoders</a>.
              Log4j 2 takes the simpler approach that <a href="layouts.html">Layouts</a> always return a byte array. This has
              the advantage that it means they can be used in virtually any Appender, not just
              the ones that write to an OutputStream.</li>
            
            
<li>The <a href="appenders.html#SyslogAppender">Syslog Appender</a> supports both TCP and UDP as well as
              support for the BSD syslog
              and the <a class="externalLink" href="http://tools.ietf.org/html/rfc5424">RFC 5424</a> formats.</li>
            
<li>Log4j 2 takes advantage of Java 5 concurrency support and performs locking
              at the lowest level possible. Log4j 1.x has known deadlock issues. Many of these
              are fixed in Logback but many Logback classes still require synchronization at
              a fairly high level.</li>
            
<li>It is an Apache Software Foundation project following the community and support
              model used by all ASF projects. If you want to contribute or gain the right to
              commit changes just follow the path outlined at
              <a class="externalLink" href="http://jakarta.apache.org/site/contributing.html">Contributing</a>.</li>
          </ol>
        </section>
      </section>
    

        </main>
      </div>
    </div>
    <hr/>
    <footer>
      <div class="container-fluid">
        <div class="row-fluid">
<p align="center">Copyright &copy; 1999-2019 <a class="external" href="http://www.apache.org">The Apache Software Foundation</a>. All Rights Reserved.<br>
      Apache Logging, Apache Log4j, Log4j, Apache, the Apache feather logo, and the Apache Logging project logo are trademarks of The Apache Software Foundation.</p>
        </div>
      </div>
    </footer>
  </body>
</html>
