<!DOCTYPE html>
<!--
 | Generated by Apache Maven Doxia Site Renderer 1.9.2 from src/site/apt/quicktour.apt at 2022-05-30
 | 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.2" />
    <title>Apache Chainsaw &#x2013; </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="Logging Services"/></a></div>
          <div class="pull-right"><a href="../log4j/2.x/" id="bannerRight"><img src="images/logo.png"  alt="Apache log4j"/></a></div>
          <div class="clear"><hr/></div>
        </div>

        <div id="breadcrumbs">
          <ul class="breadcrumb">
        <li id="publishDate">Last Published: 2022-05-30<span class="divider">|</span>
</li>
          <li id="projectVersion">Version: 2.2.0-SNAPSHOT<span class="divider">|</span></li>
      <li class=""><a href="http://www.apache.org/" class="externalLink" title="Apache">Apache</a><span class="divider">/</span></li>
      <li class=""><a href="http://logging.apache.org/" class="externalLink" title="Logging Services">Logging Services</a><span class="divider">/</span></li>
      <li class=""><a href="http://logging.apache.org:80/chainsaw/" class="externalLink" title="Chainsaw">Chainsaw</a><span class="divider">/</span></li>
    <li class="active "></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">Get Chainsaw</li>
    <li><a href="download.html" title="Download"><span class="none"></span>Download</a></li>
    <li><a href="changes-report.html" title="Changes"><span class="none"></span>Changes</a></li>
    <li><a href="https://www.apache.org/licenses/LICENSE-2.0" class="externalLink" title="License"><span class="none"></span>License</a></li>
    <li><a href="distributionnotes.html" title="Important Distribution Notes"><span class="none"></span>Important Distribution Notes</a></li>
   <li class="nav-header">About Chainsaw</li>
    <li><a href="index.html" title="Introduction"><span class="none"></span>Introduction</a></li>
    <li class="active"><a href="#"><span class="none"></span>Quick Tour</a></li>
    <li><a href="zeroconf.html" title="Zeroconf"><span class="none"></span>Zeroconf</a></li>
    <li><a href="roadmap.html" title="Roadmap"><span class="none"></span>Roadmap</a></li>
    <li><a href="apidocs/index.html" title="JavaDoc"><span class="none"></span>JavaDoc</a></li>
   <li class="nav-header">Manual</li>
    <li><a href="viewing-log-events.html" title="Viewing Log Events"><span class="none"></span>Viewing Log Events</a></li>
    <li><a href="colorizing-output.html" title="Colorizing Output"><span class="none"></span>Colorizing Output</a></li>
    <li><a href="expression-rules.html" title="Expression Rules"><span class="none"></span>Expression Rules</a></li>
    <li><a href="configuration-library.html" title="Configuration Library"><span class="none"></span>Configuration Library</a></li>
   <li class="nav-header">Community</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 class="nav-header">Development</li>
    <li><a href="source-repository.html" title="Repository"><span class="none"></span>Repository</a></li>
    <li><a href="xref/index.html" title="Cross Reference"><span class="none"></span>Cross Reference</a></li>
    <li><a href="dependencies.html" title="Dependencies"><span class="none"></span>Dependencies</a></li>
    <li><a href="cpd.html" title="Duplication"><span class="none"></span>Duplication</a></li>
    <li><a href="pmd.html" title="PMD"><span class="none"></span>PMD</a></li>
   <li class="nav-header">Apache</li>
    <li><a href="http://www.apache.org" class="externalLink" title="Home"><span class="none"></span>Home</a></li>
    <li><a href="http://www.apache.org/foundation/sponsorship.html" class="externalLink" title="Sponsorship"><span class="none"></span>Sponsorship</a></li>
    <li><a href="http://www.apache.org/foundation/thanks.html" class="externalLink" title="Thanks"><span class="none"></span>Thanks</a></li>
    <li><a href="https://www.apache.org/security/" class="externalLink" title="Security"><span class="none"></span>Security</a></li>
    <li><a href="http://www.apachecon.com" class="externalLink" title="Conferences"><span class="none"></span>Conferences</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="Quick_Tour_of_Apache_Chainsaw.26.23x2122.3B_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>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; 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></section><section>
<h2><a name="Quick_Start"></a>Quick Start</h2>
<p>When Chainsaw first starts up, it will look something like this:</p><figure><img src="images/chainsaw-overview.png" alt="" /><figcaption>Overview</figcaption></figure>
<p>There's a fair amount of complexity with the GUI, but we'll go over it one apsect at a time.</p>
<p>The first thing we want to do is to open up our 'Receivers' panel so that we can get log events from a source. To do this, click the radar dish icon on our toolbar to open up the receivers panel. Chainsaw should now look something like this</p><figure><img src="images/chainsaw-with-receivers.png" alt="" /><figcaption>Chainsaw with Receivers</figcaption></figure>
<p>Now let's connect an application to Chainsaw in order to view its log events. There are multiple ways to connect an application to Chainsaw, but for this illustration we will connect an application that uses Log4j2 to Chainsaw. Whithin Chainsaw, the Receivers are configured to receive log events fom a source.</p>
<p>Using the configuration from our configuration library for a TCP connection, we need to make a reciever that will receive the log events. This new reciever should be made by clicking the 'new reciever' button on the receivers pane. In this case, since we want to get JSON data, we will select the 'New JsonReceiver' option.</p><figure><img src="images/chainsaw-new-receiver.png" alt="" /><figcaption>New Receiver</figcaption></figure>
<p>We can now configure the receiver with its options. For now, let's call it 'Log4j2-JSON' so that we know where this data is coming from.</p><figure><img src="images/chainsaw-configure-json.png" alt="" /><figcaption>Configure JSON receiver</figcaption></figure>
<p>Once we create the new recevier, we can now see that we have both a new tab and a new recevier defined in our receivers panel:</p><figure><img src="images/chainsaw-with-receiver.png" alt="" /><figcaption>Chainsaw with Receiver</figcaption></figure>
<p>Running an application that logs JSON data now lets us to see the log message that come through</p><figure><img src="images/chainsaw-with-events.png" alt="" /><figcaption>Chainsaw with events</figcaption></figure>
<p>Now that we have events in Chainsaw, we can now investigate events and view more information about them.</p></section>
        </main>
      </div>
    </div>
    <hr/>
    <footer>
      <div class="container-fluid">
        <div class="row-fluid">
            <p>Copyright &#169;      2002&#x2013;2022<a href="https://www.apache.org/">The Apache Software Foundation</a>.
.</p>
        </div>
      </div>
    </footer>
  </body>
</html>
