Sophie

Sophie

distrib > Fedora > 14 > x86_64 > by-pkgid > 75797b29a03e71d63c5c2fd46422a606 > files > 27

ghc-hslogger-devel-1.1.0-3.fc14.i686.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--Rendered using the Haskell Html Library v0.2-->
<HTML
><HEAD
><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"
><TITLE
>System.Log.Handler.Log4jXML</TITLE
><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
><SCRIPT SRC="haddock-util.js" TYPE="text/javascript"
></SCRIPT
><SCRIPT TYPE="text/javascript"
>window.onload = function () {setSynopsis("mini_System-Log-Handler-Log4jXML.html")};</SCRIPT
></HEAD
><BODY
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="topbar"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD
><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "
></TD
><TD CLASS="title"
>hslogger-1.1.0: Versatile logging framework</TD
><TD CLASS="topbut"
><A HREF="src/System-Log-Handler-Log4jXML.html"
>Source code</A
></TD
><TD CLASS="topbut"
><A HREF="index.html"
>Contents</A
></TD
><TD CLASS="topbut"
><A HREF="doc-index.html"
>Index</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="modulebar"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD
><FONT SIZE="6"
>System.Log.Handler.Log4jXML</FONT
></TD
><TD ALIGN="right"
><TABLE CLASS="narrow" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="infohead"
>Portability</TD
><TD CLASS="infoval"
>GHC only?</TD
></TR
><TR
><TD CLASS="infohead"
>Stability</TD
><TD CLASS="infoval"
>experimental</TD
></TR
><TR
><TD CLASS="infohead"
>Maintainer</TD
><TD CLASS="infoval"
>bjorn.buckwalter@gmail.com</TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="section4"
><B
>Contents</B
></TD
></TR
><TR
><TD
><DL
><DT
><A HREF="#1"
>Introduction
</A
></DT
><DD
><DL
><DT
><A HREF="#2"
>Handlers with hslogger levels 
</A
></DT
><DT
><A HREF="#3"
>Handlers with log4j levels
</A
></DT
></DL
></DD
><DT
><A HREF="#4"
>Java install process
</A
></DT
><DT
><A HREF="#5"
>Chainsaw setup
</A
></DT
><DT
><A HREF="#6"
>Example usage
</A
></DT
><DT
><A HREF="#7"
>References
</A
></DT
></DL
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
>Description</TD
></TR
><TR
><TD CLASS="doc"
><P
>log4j[1] XMLLayout log handlers.
</P
><P
>Written by Bjorn Buckwalter, bjorn.buckwalter@gmail.com
</P
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
>Synopsis</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="#v%3Alog4jStreamHandler"
>log4jStreamHandler</A
> :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/GHC-IO-Handle.html#t%3AHandle"
>Handle</A
> -&gt; <A HREF="System-Log.html#t%3APriority"
>Priority</A
> -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO"
>IO</A
> (<A HREF="System-Log-Handler-Simple.html#t%3AGenericHandler"
>GenericHandler</A
> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/GHC-IO-Handle.html#t%3AHandle"
>Handle</A
>)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Alog4jFileHandler"
>log4jFileHandler</A
> :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
> -&gt; <A HREF="System-Log.html#t%3APriority"
>Priority</A
> -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO"
>IO</A
> (<A HREF="System-Log-Handler-Simple.html#t%3AGenericHandler"
>GenericHandler</A
> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/GHC-IO-Handle.html#t%3AHandle"
>Handle</A
>)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Alog4jStreamHandler%27"
>log4jStreamHandler'</A
> :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/GHC-IO-Handle.html#t%3AHandle"
>Handle</A
> -&gt; <A HREF="System-Log.html#t%3APriority"
>Priority</A
> -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO"
>IO</A
> (<A HREF="System-Log-Handler-Simple.html#t%3AGenericHandler"
>GenericHandler</A
> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/GHC-IO-Handle.html#t%3AHandle"
>Handle</A
>)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Alog4jFileHandler%27"
>log4jFileHandler'</A
> :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
> -&gt; <A HREF="System-Log.html#t%3APriority"
>Priority</A
> -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO"
>IO</A
> (<A HREF="System-Log-Handler-Simple.html#t%3AGenericHandler"
>GenericHandler</A
> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/GHC-IO-Handle.html#t%3AHandle"
>Handle</A
>)</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="1"
><A NAME="1"
>Introduction
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="doc"
><P
>This module provides handlers for hslogger that are
    compatible with log4j's XMLLayout. In particular log messages
    created by the handlers can be published directly to the GUI-based
    log viewer Chainsaw v2[2].
</P
><P
>The set of log levels in hslogger is richer than the basic set
    of log4j levels. Two sets of handlers are provided with hslogger4j,
    one which produces logs with hslogger's levels and one which
    &quot;demotes&quot; them to the basic log4j levels. If full hslogger
    levels are used some Java installation (see below) is necessary
    to make Chainsaw aware of them.
</P
><P
>Usage of the handlers in hslogger4j is analoguous to usage of
    the System.Log.Handler.Simple.StreamHandler and
    System.Log.Handler.Simple.FileHandler in <A HREF="System-Log-Handler-Simple.html"
>System.Log.Handler.Simple</A
>.
    The following handlers are provided: 
</P
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section2"
><A NAME="2"
><A NAME="2"
>Handlers with hslogger levels 
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:log4jStreamHandler"
><A NAME="v%3Alog4jStreamHandler"
></A
></A
><B
>log4jStreamHandler</B
> :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/GHC-IO-Handle.html#t%3AHandle"
>Handle</A
> -&gt; <A HREF="System-Log.html#t%3APriority"
>Priority</A
> -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO"
>IO</A
> (<A HREF="System-Log-Handler-Simple.html#t%3AGenericHandler"
>GenericHandler</A
> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/GHC-IO-Handle.html#t%3AHandle"
>Handle</A
>)</TD
><TD CLASS="declbut"
><A HREF="src/System-Log-Handler-Log4jXML.html#log4jStreamHandler"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>Create a stream log handler that uses hslogger priorities.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:log4jFileHandler"
><A NAME="v%3Alog4jFileHandler"
></A
></A
><B
>log4jFileHandler</B
> :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
> -&gt; <A HREF="System-Log.html#t%3APriority"
>Priority</A
> -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO"
>IO</A
> (<A HREF="System-Log-Handler-Simple.html#t%3AGenericHandler"
>GenericHandler</A
> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/GHC-IO-Handle.html#t%3AHandle"
>Handle</A
>)</TD
><TD CLASS="declbut"
><A HREF="src/System-Log-Handler-Log4jXML.html#log4jFileHandler"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>Create a file log handler that uses hslogger priorities.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section2"
><A NAME="3"
><A NAME="3"
>Handlers with log4j levels
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:log4jStreamHandler'"
><A NAME="v%3Alog4jStreamHandler%27"
></A
></A
><B
>log4jStreamHandler'</B
> :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/GHC-IO-Handle.html#t%3AHandle"
>Handle</A
> -&gt; <A HREF="System-Log.html#t%3APriority"
>Priority</A
> -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO"
>IO</A
> (<A HREF="System-Log-Handler-Simple.html#t%3AGenericHandler"
>GenericHandler</A
> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/GHC-IO-Handle.html#t%3AHandle"
>Handle</A
>)</TD
><TD CLASS="declbut"
><A HREF="src/System-Log-Handler-Log4jXML.html#log4jStreamHandler%27"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
><P
>Create a stream log handler that uses log4j levels (priorities). The
   priorities of messages are shoehorned into log4j levels as follows:
</P
><PRE
>
    DEBUG                  -&gt; DEBUG
    INFO, NOTICE           -&gt; INFO
    WARNING                -&gt; WARN
    ERROR, CRITICAL, ALERT -&gt; ERROR
    EMERGENCY              -&gt; FATAL
</PRE
><P
>This is useful when the log will only be consumed by log4j tools and
   you don't want to go out of your way transforming the log or configuring
   the tools. 
</P
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:log4jFileHandler'"
><A NAME="v%3Alog4jFileHandler%27"
></A
></A
><B
>log4jFileHandler'</B
> :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
> -&gt; <A HREF="System-Log.html#t%3APriority"
>Priority</A
> -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO"
>IO</A
> (<A HREF="System-Log-Handler-Simple.html#t%3AGenericHandler"
>GenericHandler</A
> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/GHC-IO-Handle.html#t%3AHandle"
>Handle</A
>)</TD
><TD CLASS="declbut"
><A HREF="src/System-Log-Handler-Log4jXML.html#log4jFileHandler%27"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>Create a file log handler that uses log4j levels (see
   <TT
><A HREF="System-Log-Handler-Log4jXML.html#v%3Alog4jStreamHandler%27"
>log4jStreamHandler'</A
></TT
> for mappings). 
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="4"
><A NAME="4"
>Java install process
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="doc"
><P
>This is only necessary if you want to use the hslogger levels.
</P
><P
>Add <TT
>hslogger4j.jar</TT
> from <TT
>contrib/java</TT
> to your classpath.
    To use you will also need to have the jars <TT
>log4j-1.3alpha-7.jar</TT
>
    and <TT
>log4j-xml-1.3alpha-7.jar</TT
> that are distributed with Chainsaw
    on your classpath.
</P
><P
>(On Mac OS X I added all three jars to <TT
>~/Library/Java/Extensions</TT
>.
    It seems that it is not sufficient that Chainsaw already includes
    its jars in the classpath when launching - perhaps the plugin
    classloader does not inherit Chainsaw's classpath. Adding the
    jars to <TT
>~/.chainsaw/plugins</TT
> wouldn't work either.)
</P
><P
>If for whatever reason you have to rebuild the hslogger4j jar
    just run <TT
>ant</TT
>[3] in the <TT
>contrib/java</TT
> directory. The new jar
    will be created in the <TT
>contrib/java/dist</TT
> directory. The Java
    source code is copyright The Apache Software Foundation and
    licensed under the Apache Licence version 2.0. 
</P
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="5"
><A NAME="5"
>Chainsaw setup
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="doc"
><P
>If you are only using the basic log4j levels just use
    Chainsaw's regular facilities to browse logs or listen for log
    messages (e.g. <TT
>XMLSocketReceiver</TT
>).
</P
><P
>If you want to use the hslogger levels the easiest way to set
    up Chainsaw is to load the plugins in <TT
>hslogger4j-plugins.xml</TT
>
    in <TT
>contrib/java</TT
> when launching Chainsaw. Two receivers will
    be defined, one that listens for logmessages and one for reading
    log files.  Edit the properties of those receivers as needed
    (e.g. <TT
>port</TT
>, <TT
>fileURL</TT
>) and restart them. You will also want
    to modify Chainsaw's formatting preferences to display levels
    as text instead of icons. 
</P
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="6"
><A NAME="6"
>Example usage
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="doc"
><P
>In the IO monad:
</P
><PRE
> lh2 &lt;- log4jFileHandler &quot;log.xml&quot; DEBUG
 updateGlobalLogger rootLoggerName (addHandler lh2)
</PRE
><PRE
> h  &lt;- connectTo &quot;localhost&quot; (PortNumber 4448)
 lh &lt;- log4jStreamHandler h NOTICE
 updateGlobalLogger rootLoggerName (addHandler lh)
</PRE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="7"
><A NAME="7"
>References
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="doc"
><OL
><LI
> <A HREF="http://logging.apache.org/log4j/"
>http://logging.apache.org/log4j/</A
>
</LI
><LI
> <A HREF="http://logging.apache.org/chainsaw/"
>http://logging.apache.org/chainsaw/</A
>
</LI
><LI
> <A HREF="http://ant.apache.org/"
>http://ant.apache.org/</A
>
</LI
></OL
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="botbar"
>Produced by <A HREF="http://www.haskell.org/haddock/"
>Haddock</A
> version 2.6.1</TD
></TR
></TABLE
></BODY
></HTML
>