# Chainsaw v2 - Introduction/Table of Contents

Welcome to the home of Chainsaw v2!

Chainsaw v2 is a companion application to Log4j written by members of the Log4j development community. Like a number of Open Source projects, this new version was built upon inspirations, ideas and creations of others. Chainsaw v2 has it's roots from the original Chainsaw utility written by Oliver Burn, and with inspiration from the Log Factor 5 utility contributed by ThoughtWorks Inc.

*** Got Java Web Start installed?: [Launch now!]***

If you haven't got Java Web Start installed, then try this zipped distribution. [Download]

- So what is it really?
- Quick Tour of Chainsaw features
- Project Status/Support/Feedback
- Installation
- Getting Started
- Tutorial and User Manual

# So what is it really?

It's a GUI-based Log viewer. A picture tells a thousand words...

[zoom image]

These screen shots were taken on Windows 2000, running Sun JDK 1.4.2.

Rather than rely on a combination of tail/grep/vi or equivalent to view/query/trace-through a huge trail of logging events, you can use Chainsaw. Chainsaw can read log files formatted in Log4j's XMLLayout, receive events from remote locations, read events from a DB, it can even work with the JDK 1.4 logging events.

# Quick Tour of Chainsaw features

Heres just a brief run down of some of the features of Chainsaw v2:

- View remote events - Remote events are "received" by Chainsaw using Log4j 1.3's new Receiver concept.
- Saved Preferences - You can fully customize each Tab the way you want it, and it will restore it's state the next time.
- Responsive - 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.
- Tabs/Docking - 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.
- Coloring - You can specify your own rules to color each event row depending on the attributes of a LoggingEvent to help you locate important events.
- Dynamic and powerful filtering - Helps you locate stuff. There's support for quick-and-dirty filtering, right through to advanced expression-based filtering (e.g. `"LOGGER == 'com.mycompany' && LEVEL == ERROR"` ).
- Cyclic - 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.
- Built-in documentation and tutorial - HTML-based documentation included in the package.

# Installation

*** Got Java Web Start installed?: [Launch now!]***

Otherwise, if the above link does not work, then you will need to check out the jakarta-log4j module from the Apache CVS server to build and run Chainsaw v2. To make this easier, we have created an installation Ant script, you can download this by clicking here.

You will need the following installed to utilise this installation script:

- JDK 1.3+ (1.4.2 is strongly recommeded)
- Ant 1.5+
- CVS (Cygwin is handy for Windows users)

Once you have downloaded and placed this script in a directory where you want Chainsaw v2 installed, you can type:

    ant -f install-chainsaw.xml

This will download everything you need to build and run Chainsaw v2.

When finally released, we plan to have Chainsaw v2 available via Java WebStart.

# Getting Started

If you launched via Java Web Start, you should be ROCKING! However, if you have used the above installer, you can `cd` to tho `jakarta-log4j` sub-directory and type:

    ant chainsaw

Chainsaw v2 will be built and run!

# Tutorial and User Manual

Chainsaw already includes help with with a Quick Reference and a Tutorial to get you started, all viewable from within the GUI!. A User Manual will be made available around release time.

Copyright © 1999-2004, Apache Software Foundation