| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> |
| |
| <HTML> |
| <HEAD> |
| <TITLE>Chainsaw Tool</TITLE> |
| </head> |
| |
| <BODY> |
| |
| <P>Chainsaw is a GUI log viewer and filter for the log4j |
| package. By default it listens for <a |
| href="../spi/LoggingEvent.html">LoggingEvent</A> objects sent using |
| the <A href="../net/SocketAppender.html">SocketAppender</A> and |
| displays them in a table. The events can be filtered based on:</P> |
| |
| <UL> |
| <LI>Level </li> |
| |
| <LI>Thread name</li> |
| |
| <LI>Logger</li> |
| <LI>Message</li> |
| |
| <LI>NDC</LI> |
| </UL> |
| |
| <P>All the details for each event can be displayed by selecting |
| the event in the table.</P> |
| |
| <P>Chainsaw also supports loading a events logged to a file using |
| the <A href="../xml/XMLLayout.html">XMLLayout</A> format. This |
| is great for analysing log files, and means you do not need to |
| keep Chainsaw running continously. It is easy to add support |
| for loading events from other sources like JDBC.</P> |
| |
| <P>A picture is worth a thousand words: </P> |
| |
| <P align=center><A |
| href="doc-files/screen_01.png"><IMG |
| height="50%" alt="Screen shot of chainsaw" |
| src="doc-files/screen_01.png" |
| width="50%"></A>.</P> |
| |
| <P>Finally, why is it called chainsaw? |
| Because it cuts your log (file) down to size. :-) |
| </P> |
| |
| |
| <H2>Requirements</H2> |
| |
| <P>Chainsaw is based on the Swing API which requires JDK 1.2 or later.</P> |
| |
| |
| <H2>Running chainsaw</H2> |
| |
| <H3>Setup</H3> |
| <P>You need to include the <code>log4j.jar</code> in the classpath. |
| |
| <H3>Usage</H3> |
| |
| <P>The command line usage is:</P> |
| |
| <PRE> java -D<property>=<value> org.apache.log4j.chainsaw.Main </PRE> |
| |
| <P>The default behaviour of chainsaw can be changed by setting system properties |
| using the <CODE>-D<property>=<value></CODE> arguments to java. The |
| following table describes what properties can be set:</P> |
| |
| <TABLE cellSpacing=0 cellPadding=2 border=1> |
| |
| <TR> |
| <TD vAlign=top><B>Property</B></TD> |
| <TD vAlign=top><B>Description</B></TD></TR> |
| <TR> |
| <TD vAlign=top>chainsaw.port</TD> |
| <TD vAlign=top>Indicates which port to listen for connections on. Defaults |
| to <SPAN class=default>"4445"</SPAN>. |
| </TD> |
| </TR> |
| </TBODY> |
| </TABLE> |
| |
| <H2>Configuring Log4J</H2> |
| |
| <P>You will need to configure log4j to send logging events to |
| Chainsaw. Here is a sample <CODE>log4j.properties</CODE> file |
| for sending logging events to Chainsaw.</P> |
| |
| <PRE> |
| log4j.rootLogger=DEBUG, CHAINSAW_CLIENT |
| |
| log4j.appender.CHAINSAW_CLIENT=org.apache.log4j.net.SocketAppender |
| log4j.appender.CHAINSAW_CLIENT.RemoteHost=localhost |
| log4j.appender.CHAINSAW_CLIENT.Port=4445 |
| log4j.appender.CHAINSAW_CLIENT.LocationInfo=true |
| </PRE> |
| |
| |
| |
| </body> |
| </html> |