ceki        01/10/02 14:53:05

  Modified:    src/docbook configuration.xml
  Log:
  minor additions
  
  Revision  Changes    Path
  1.11      +80 -47    jakarta-log4j/src/docbook/configuration.xml
  
  Index: configuration.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-log4j/src/docbook/configuration.xml,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- configuration.xml 2001/10/02 06:36:45     1.10
  +++ configuration.xml 2001/10/02 21:53:05     1.11
  @@ -20,23 +20,32 @@
       configuration files.  Currently, configuration files can be
       written in XML or in Java properties (key=value) format.</para>
   
  -  <para>Let us give a taste of how this is done with the help of an
  -    imaginary application <classname>MyApp</classname> that uses log4j.
  +  <para>In the following sections we will give examples of configuring
  +    log4j using first <classname>BasicConfigurator</classname> and then
  +    both the <classname>PropertyConfigurator</classname> and
  +    <classname>DOMConfigurator</classname>.
     </para>
  -
  -  <para>
  -    <programlisting>
  +  <sect1>
  +    <title>Simplest approach using
  +      <classname>BasicConfigurator</classname></title>
  +    
  +    <para>Let us give a taste of how this is done with the help of an
  +      imaginary application <classname>MyApp</classname> that uses log4j.
  +    </para>
  +    
  +    <para>
  +      <programlisting>
    import com.foo.Bar;
   
    // Import log4j classes.
    import org.apache.log4j.Logger;
    import org.apache.log4j.BasicConfigurator;
    
  - public class MyApp {
  + public class MyApp1 {
   
      // Define a static category variable so that it references the
  -   // Logger instance named "MyApp".
  -   static Logger logger = Logger.getLogger(MyApp.class);
  +   // Logger instance named "MyApp1".
  +   static Logger logger = Logger.getLogger(MyApp1.class);
   
      public static void main(String[] args) {
   
  @@ -49,22 +58,22 @@
        logger.info("Exiting application.");    
      }
    }
  -    </programlisting>
  -  </para>
  -
  -
  -  <para><classname>MyApp</classname> begins by importing log4j related
  -    classes.  It then defines a static logger variable with the name
  -    <classname>MyApp</classname> which happens to be the fully
  -    qualified name of the class.
  -  </para>
  +      </programlisting>
  +    </para>
   
  -  <para><classname>MyApp</classname> uses the
  -    <classname>Bar</classname> class defined in the package
  -    <classname>com.foo</classname>.</para>
   
  -  <para>
  -    <programlisting>
  +    <para><classname>MyApp1</classname> begins by importing log4j related
  +      classes.  It then defines a static logger variable with the name
  +      <classname>MyApp</classname> which happens to be the fully
  +      qualified name of the class.
  +    </para>
  +    
  +    <para><classname>MyApp1</classname> uses the
  +      <classname>Bar</classname> class defined in the package
  +      <classname>com.foo</classname>.</para>
  +    
  +    <para>
  +      <programlisting>
    <emphasis role="bold">package com.foo;</emphasis>
    import org.apache.log4j.Logger;
    
  @@ -75,8 +84,8 @@
        logger.debug("Did it again!");    
      }
    }
  -    </programlisting>
  -  </para>
  +      </programlisting>
  +    </para>
   
     <para>The invocation of the <ulink
         
url="../api/org/apache/log4j/BasicConfigurator.html#configure()">BasicConfigurator.configure</ulink>
  @@ -94,13 +103,13 @@
   
   <para>The output of MyApp is:
       <screen>
  -0    [main] INFO  MyApp  - Entering application.
  +0    [main] INFO  MyApp1 - Entering application.
   36   [main] DEBUG com.foo.Bar  - Did it again!
  -51   [main] INFO  MyApp  - Exiting application.
  +51   [main] INFO  MyApp1 - Exiting application.
       </screen>
     </para>
     
  -  <para>The figure below depicts the object diagram of <classname>MyApp</classname>
  +  <para>The figure below depicts the object diagram of <classname>MyApp1</classname>
       after just having called the <classname>BasicConfigurator.configure</classname>
       method. </para>
   
  @@ -117,18 +126,18 @@
       footprint.
     </para>
   
  -  <para>The <classname>MyApp</classname> class configures log4j by invoking
  +  <para>The <classname>MyApp1</classname> class configures log4j by invoking
       <classname>BasicConfigurator.configure</classname> method.  Other classes
       only need to import the <classname>org.apache.log4j.Logger</classname>
       class, retrieve the loggers they wish to use, and log away.
  -  </para>
  -  
  -  <sect1>
  +      </para>
  +    </sect1>
  +    <sect1>
       <title><classname>BasicConfigurator</classname> equivalent using
       <classname>PropertyConfigurator</classname></title>
       
       <para>The previous example always outputs the same log information.
  -      Fortunately, it is easy to modify <classname>MyApp</classname> so that the
  +      Fortunately, it is easy to modify <classname>MyApp1</classname> so that the
         log output can be controlled at run-time. Here is a slightly
         modified version.
       </para>
  @@ -141,9 +150,9 @@
    import org.apache.log4j.Logger;
    <emphasis role="strong">import org.apache.log4j.PropertyConfigurator;</emphasis>
    
  - public class MyApp {
  + public class MyApp2 {
   
  -   static Logger cat = Logger.getInstance(MyApp.class.getName());
  +   static Logger cat = Logger.getInstance(MyApp2.class.getName());
   
      public static void main(String[] args) {
   
  @@ -160,9 +169,9 @@
       </programlisting>
     </para>
   
  -    <para>This version of <classname>MyApp</classname> instructs
  -    <classname>PropertyConfigurator</classname> to parse a configuration file
  -      and set up logging accordingly.
  +    <para><classname>MyApp2</classname> instructs
  +    <classname>PropertyConfigurator</classname> to parse a
  +    configuration file and set up logging accordingly.
       </para>
       
       <para>Here is a sample configuration file that results in exactly
  @@ -204,9 +213,9 @@
    import org.apache.log4j.Logger;
    <emphasis role="strong">import org.apache.log4j.xml.DOMConfigurator;</emphasis>
    
  - public class MyApp {
  + public class MyApp3 {
   
  -   static Logger cat = Logger.getInstance(MyApp.class.getName());
  +   static Logger cat = Logger.getInstance(MyApp3.class.getName());
   
      public static void main(String[] args) {
        
  @@ -255,9 +264,11 @@
       <title>Filtering by logger level</title>
   
       <para>Suppose we are no longer interested in seeing the output of
  -      any component belonging to the <classname>com.foo</classname> package. The
  -      following configuration file shows one possible way of achieving
  -      this.
  +      any component belonging to the <classname>com.foo</classname>
  +      package. The following configuration file shows one efficient
  +      way of achieving this. In <xref linkend="thresholdFiltering"/>
  +      and <xref linkend="configuringFilters"/> and we discuss
  +      alternate was of achieving a similar effect.
       </para>
   
       <para>
  @@ -386,7 +397,7 @@
     </sect1>
   
     <sect1>
  -    <title>Multiple Appenders using <classname>DOMConfigurator</classname>
  +    <title>Multiple Appenders using <classname>DOMConfigurator</classname></title>
       <para>
         <example><title>XML equivalent configuration file</title>
        <screen>
  @@ -423,9 +434,7 @@
       </para>    
     </sect1>
         
  -  </sect1>
  -
  -  <sect1>
  +  <sect1 id="thresholdFiltering">
       <title>Directing log output to different appenders depending on level</title>
   
       <para>Setting the <emphasis role="bold">Threshold</emphasis> option
  @@ -450,6 +459,30 @@
       
       <para>See sort4.lcf for an example threshold configuration. </para>
   
  +    <programlisting>
  +
  +# Set root logger priority to DEBUG and its only appender to A1.
  +log4j.rootLogger=DEBUG, A1
  +  
  +# A1 is set to be a ConsoleAppender. 
  +log4j.appender.A1=org.apache.log4j.ConsoleAppender
  +
  +log4j.appender.A1.Threshold=INFO
  +  
  +# A1 uses PatternLayout.
  +log4j.appender.A1.layout=org.apache.log4j.PatternLayout
  +log4j.appender.A1.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n       
  +    </programlisting>
  +    
  +    <para>Running <classname>MyApp2</classname> with the this
  +    configuration scripts yields the following output on the screen.
  +    </para>
  +
  +    <screen>
  +0    [main] INFO  MyApp  - Entering application.
  +51   [main] INFO  MyApp  - Exiting application.
  +    </screen>
  +
       <para>If you must filter events by exact priority match, then you can
         attach a PriorityMatchFilter to any appender to filter out logging
         events by exact priority match.</para>
  @@ -475,7 +508,7 @@
       <para>Give an example</para>
     </sect1>
   
  -  <sect1>
  +  <sect1 id="configuringFilters">
       <title>Filters</title>
       <para></para>
     </sect1>
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to