<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!-- Generated by Apache Maven Doxia Site Renderer 1.8.1 from src/site/apt/quicktour.apt at 2022-09-06 -->
<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 Chainsaw &#x2013; </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 http-equiv="Content-Language" content="en" />
    
  </head>
  <body class="composite">
    <div id="banner">
<a href="http://logging.apache.org/" id="bannerLeft"><img src="images/ls-logo.jpg"  alt="Logging Services"/></a>
<a href="http://logging.apache.org/log4j" 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: 2022-09-06</span>
          &nbsp;| <span id="projectVersion">Version: 2.1.0</span>
          | <a href="http://www.apache.org/" class="externalLink" title="Apache">Apache</a> &gt;
<a href="http://logging.apache.org/" class="externalLink" title="Logging Services">Logging Services</a> &gt;
<a href="http://logging.apache.org:80/chainsaw/" class="externalLink" title="Chainsaw">Chainsaw</a> &gt;

      </div>
      <div class="xright">      </div>
      <div class="clear">
        <hr/>
      </div>
    </div>
    <div id="leftColumn">
      <div id="navcolumn">
       <h5>Get Chainsaw</h5>
    <ul>
     <li class="none"><a href="download.html" title="Download">Download</a></li>
     <li class="none"><a href="changes-report.html" title="Changes">Changes</a></li>
     <li class="none"><a href="https://www.apache.org/licenses/LICENSE-2.0" class="externalLink" title="License">License</a></li>
     <li class="none"><a href="distributionnotes.html" title="Important Distribution Notes">Important Distribution Notes</a></li>
    </ul>
       <h5>About Chainsaw</h5>
    <ul>
     <li class="none"><a href="index.html" title="Introduction">Introduction</a></li>
     <li class="none"><strong>Quick Tour</strong></li>
     <li class="none"><a href="zeroconf.html" title="Zeroconf">Zeroconf</a></li>
     <li class="none"><a href="roadmap.html" title="Roadmap">Roadmap</a></li>
     <li class="none"><a href="apidocs/index.html" title="JavaDoc">JavaDoc</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>
    </ul>
       <h5>Development</h5>
    <ul>
     <li class="none"><a href="source-repository.html" title="Repository">Repository</a></li>
     <li class="none"><a href="xref/index.html" title="Cross Reference">Cross Reference</a></li>
     <li class="none"><a href="dependencies.html" title="Dependencies">Dependencies</a></li>
     <li class="none"><a href="cpd.html" title="Duplication">Duplication</a></li>
     <li class="none"><a href="pmd.html" title="PMD">PMD</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/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="https://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/logos/maven-feather.png" />
      </a>
      </div>
    </div>
    <div id="bodyColumn">
      <div id="contentBox">
<div class="section">
<h2><a name="Quick_Tour_of_Apache_Chainsawx2122_features"></a>Quick Tour of Apache Chainsaw&#x2122; features</h2>
<p>Heres just a brief run down of some of the features of Chainsaw v2:</p>
<ul>
<li><b>View remote events</b> - Remote events are &quot;received&quot; by Chainsaw using Log4j 1.3's new Receiver concept.</li>
<li><b>Saved Preferences</b> - You can fully customize each Tab the way you want it, and it will restore it's state the next time.</li>
<li><b>Responsive</b> - When events are screaming in, you don't want the GUI to meltdown. You can control how responsive the GUI is and determine the frequency of updates.</li>
<li><b>Tabs/Docking</b> - Chainsaw routes separate applications/remote hosts' events to a unique Tab within the GUI. These tabs can be undocked from the main window. Using these features you can manage multiple application logs using the one GUI.</li>
<li><b>Coloring</b> - You can specify your own rules to color each event row depending on the attributes of a LoggingEvent to help you locate important events.</li>
<li><b>Dynamic and powerful filtering</b> - Helps you locate stuff. There's support for quick-and-dirty filtering, right through to advanced expression-based filtering (e.g. &quot;LOGGER == 'com.mycompany' &amp;amp;&amp;amp; LEVEL == ERROR&quot; ).</li>
<li><b>Cyclic</b> - A tab view can support a Cyclic-based model, which constrains it's view to the last X events, ensuring you don't hog memory. This is great for monitoring live applications.</li>
<li><b>Built-in documentation and tutorial</b> - HTML-based documentation included in the package.</li></ul></div>
      </div>
    </div>
    <div class="clear">
      <hr/>
    </div>
    <div id="footer">
      <div class="xright">
        Copyright &#169;      2002&#x2013;2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>.
All rights reserved.      </div>
      <div class="clear">
        <hr/>
      </div>
    </div>
  </body>
</html>
