Author: ceki
Date: Thu Sep  6 15:47:18 2007
New Revision: 1584

Modified:
   logback/trunk/logback-site/src/site/pages/manual/appenders.html

Log:
ongoing work on documentation

Modified: logback/trunk/logback-site/src/site/pages/manual/appenders.html
==============================================================================
--- logback/trunk/logback-site/src/site/pages/manual/appenders.html     
(original)
+++ logback/trunk/logback-site/src/site/pages/manual/appenders.html     Thu Sep 
 6 15:47:18 2007
@@ -43,11 +43,11 @@
     
                <h2>What is an Appender?</h2>
     
-               <p>
-                       Logback delegates the task of writing a logging event 
to appenders. 
-                       Appenders must implement the 
-                       <a 
href="../xref/ch/qos/logback/core/Appender.html"><code>ch.qos.logback.core.Appender</code></a>
 interface. 
-                       The salient methods of this interface are summarized 
below:
+               <p>Logback delegates the task of writing a logging event to
+               components called appenders.  Appenders must implement the <a
+               
href="../xref/ch/qos/logback/core/Appender.html"><code>ch.qos.logback.core.Appender</code></a>
+               interface.  The salient methods of this interface are summarized
+               below:
                </p>
                <div class="source"><pre>package ch.qos.logback.core;
   
@@ -67,28 +67,35 @@
 }</pre></div>
 
        <p>
-               Most of the methods in the <code>Appender</code> interface are 
made of setter 
-               and getter methods. A notable exception is the 
<code>doAppend()</code> 
-               method taking an Object instance as its only parameter. 
-               This method is perhaps the most important in the logback 
framework. 
-               It is responsible for outputting the logging events in a 
suitable format 
-               to the appropriate output device. Appenders are named entities. 
-               This ensures that they can be referenced by name, a quality 
confirmed 
-               to be especially significant in configuration scripts. 
-               An appender can contain multiple filters, thus the 
<code>Appender</code>
-               interface extending the <code>FilterAttachable</code> interface.
-               Filters are discussed in detail in a subsequent chapter.
+               Most of the methods in the <code>Appender</code> interface are
+               made of setter and getter methods. A notable exception is the
+               <code>doAppend()</code> method taking an object instance of type
+               <em>E</em> as its only parameter. The actual type of <em>E</em>
+               would vary depending on the logback module. Within the
+               logback-classic module <em>E</em> would be of type <a
+               
href="../apidocs/ch/qos/logback/classic/spi/LoggingEvent.html">LoggingEvent</a>
+               and within the logback-access module it would be of type <a
+               
href="../apidocs/ch/qos/logback/access/spi/AccessEvent.html">AccessEvent</a>.
+               The <code>doAppend()</code> method is perhaps the most important
+               in the logback framework.  It is responsible for outputting the
+               logging events in a suitable format to the appropriate output
+               device. Appenders are named entities.  This ensures that they 
can
+               be referenced by name, a quality confirmed to be especially
+               significant in configuration scripts.  An appender can contain
+               multiple filters, thus the <code>Appender</code> interface
+               extending the <code>FilterAttachable</code> interface.  Filters
+               are discussed in detail in a subsequent chapter.
        </p>
        
        <p>
-               Appenders are ultimately responsible for outputting logging 
events. 
-               However, they may delegate the actual formatting of the event 
to a 
-               <code>Layout</code> object. 
-               Each layout is associated with one and only one appender, 
referred to 
-               as the containing appender. Some appenders have a built-in or 
fixed 
-               event format, such that they do not require a layout. For 
example, the 
-               <code>SocketAppender</code> simply serialize logging events 
before 
-               transmitting them over the wire.
+               Appenders are ultimately responsible for outputting logging
+               events.  However, they may delegate the actual formatting of the
+               event to a <code>Layout</code> object.  Each layout is 
associated
+               with one and only one appender, referred to as the owning
+               appender. Some appenders have a built-in or fixed event format,
+               such that they do not require a layout. For example, the
+               <code>SocketAppender</code> simply serializes logging events
+               before transmitting them over the wire.
        </p>
        
        <a name="AppenderBase"></a>
@@ -96,16 +103,17 @@
        
        <p>
                The <a href="../xref/ch/qos/logback/core/AppenderBase.html">
-               <code>ch.qos.logback.core.AppenderBase</code></a> class is an 
abstract 
-               class implementing the <code>Appender</code> interface. 
-               It provides basic functionality shared by all appenders, 
-               such as methods for getting or setting their name, their 
started status, 
-               their layout and their filters. 
-               It is the super-class of all appenders shipped with logback. 
-               Although an abstract class, <code>AppenderBase</code> actually 
implements the 
-               <code>doAppend()</code> method in the <code>Append</code> 
interface. 
-               Perhaps the clearest way to discuss <code>AppenderBase</code> 
class is by 
-               presenting a bit of its actual source code.
+               <code>ch.qos.logback.core.AppenderBase</code></a> class is an
+               abstract class implementing the <code>Appender</code> interface.
+               It provides basic functionality shared by all appenders, such as
+               methods for getting or setting their name, their activation
+               status, their layout and their filters.  It is the super-class 
of
+               all appenders shipped with logback.  Although an abstract class,
+               <code>AppenderBase</code> actually implements the
+               <code>doAppend()</code> method in the <code>Append</code>
+               interface.  Perhaps the clearest way to discuss
+               <code>AppenderBase</code> class is by presenting an excerpt of
+               actual source code.
        </p>
        
 <div class="source"><pre>public synchronized void doAppend(E eventObject) {
@@ -157,21 +165,24 @@
        </p>
        
        <p>
-               The first statement of the <code>doAppend()</code> method, once 
the <code>try</code> block
-               is reached, is to check whether the <code>started</code> field 
is true. 
-               If it is not, <code>doAppend()</code> will send a warning 
message and return. 
-               In other words, once stopped, it is impossible to write to a 
closed appender. 
-               <code>Appender</code> objects implement the 
<code>LifeCycle</code> interface, 
-               which implies that they implement <code>start()</code>, 
<code>stop()</code>
-               and <code>isStarted()</code> methods. After setting all the 
options of an appender,
-               Joran, logback's configuration framework, calls the 
<code>start()</code> 
-               method to signal the appender to bind or activate its options.
-               Indeed, depending on the appender, certain options cannot be 
activated because 
-               of interferences with other options, or appenders can even not 
start at all if
-               some options are missing. 
-               For example, since file creation depends on truncation mode, 
-               <code>FileAppender</code> cannot act on the value of its 
<code>File</code> option 
-               until the value of the Append option is also known for certain.
+               The first statement of the <code>doAppend()</code> method, once
+               the <code>try</code> block is reached, is to check whether the
+               <code>started</code> field is true.  If it is not,
+               <code>doAppend()</code> will send a warning message and return.
+               In other words, once stopped, it is impossible to write to a
+               closed appender.  <code>Appender</code> objects implement the
+               <code>LifeCycle</code> interface, which implies that they
+               implement <code>start()</code>, <code>stop()</code> and
+               <code>isStarted()</code> methods. After setting all the options 
of
+               an appender, Joran, logback's configuration framework, calls the
+               <code>start()</code> method to signal the appender to bind or
+               activate its options.  Indeed, depending on the appender, 
certain
+               options cannot be activated because of interferences with other
+               options, or appenders can even not start at all if some options
+               are missing.  For example, since file creation depends on
+               truncation mode, <code>FileAppender</code> cannot act on the 
value
+               of its <code>File</code> option until the value of the Append
+               option is also known for certain.
        </p>
        
        <p>
_______________________________________________
logback-dev mailing list
[email protected]
http://qos.ch/mailman/listinfo/logback-dev

Reply via email to