craigmcc    2003/01/18 14:11:04

  Modified:    doc/userGuide configuration.xml index.xml
  Log:
  Add some notes about how Struts itself uses Commons Logging.
  
  Revision  Changes    Path
  1.13      +92 -1     jakarta-struts/doc/userGuide/configuration.xml
  
  Index: configuration.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-struts/doc/userGuide/configuration.xml,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- configuration.xml 18 Jan 2003 20:09:45 -0000      1.12
  +++ configuration.xml 18 Jan 2003 22:11:04 -0000      1.13
  @@ -1067,7 +1067,7 @@
   </section>
   
   <section 
  -    name="5.4.3.1 Configure the Struts Tag Library (Servlet 2.3)" 
  +    name="5.4.3.1 Configure the Struts Tag Libraries (Servlet 2.3)" 
       href="dd_config_taglib_23">
   
       <p>
  @@ -1117,6 +1117,97 @@
       </p>
   
   </section>
  +
  +<section
  +    name="5.6 Logging in Struts Based Applications"
  +    href="config_logging">
  +
  +  <p>
  +  In Struts 1.0, the logging functionality was fairly limited.  You could
  +  set a debugging detail level with a servlet initialization parameter, and
  +  all log messages were written to wherever <code>ServletContext.log()</code>
  +  output is sent by your servlet container.  WIth Struts 1.1, however, all
  +  logging messages written by Struts itself, as well as the commons librarires
  +  that it utilizes, flow through an abstract wrapper called
  +  <a href="http://jakarta.apache.org/commons/logging";>Commons Logging</a>,
  +  which can be used as a wrapper around any logging implementation.  The most
  +  common implementations used are simple logging to <code>System.err</code>,
  +  the <a href="http://jakarta.apache.org/log4j/";>Apache Log4J</a> package,
  +  or the built-in logging capabilities of JDK 1.4 or later in the
  +  <a 
href="http://java.sun.com/j2se/1.4/docs/api/java/util/logging/package-summary.html";>
  +  java.util.logging</a> package.
  +  </p>
  +
  +  <p>
  +  This section does not attempt to fully explain how Commons Logging is
  +  configured and used.  Instead, it focuses on pertinent details of using
  +  Commons Logging in a Struts based environment.  For complete documentation
  +  on using Commons Logging, consult the documentation for the logging system
  +  you are using, plus the Commons Logging
  +  <a 
href="http://jakarta.apache.org/commons/logging/api/org/apache/commons/logging/package-summary.html#package_description";>
  +  Javadocs</a>.
  +  </p>
  +
  +  <p>
  +  Commons Logging provides fine-grained control over the logging messages
  +  created by a <code>Log</code> instance.  By convention, the <code>Log</code>
  +  instances for Struts (and the Commons packages in general) are named the
  +  fully qualified class name of the class whose messages are being logged.
  +  Therefore, log messages created by the RequestProcessor class are, naturally
  +  enough, directed to a logger named
  +  <code>org.apache.struts.action.RequestProcessor</code>.
  +  </p>
  +
  +  <p>
  +  The advantage of this approach is that you can configure the level of detail
  +  in the output you want from each class, individually.  However, it would be
  +  a burden to be required to maintain such settings for every possible class,
  +  so the logging environment supports the notion of logging
  +  <em>hierarchies</em> as well.  If a detail level configuration for a
  +  particular class has not been set, the logging system looks up the hierarchy
  +  until it finds a configuration setting to use, or else uses the default
  +  detail level if no configuration for any level of the hierarchy has been
  +  explicitly set.  In the case of our messages from <code>RequestProcessor</code>,
  +  the logging system will look for explicit settings of the following loggers,
  +  in this order, until it finds one.
  +  </p>
  +
  +  <ul>
  +  <li><code>org.apache.struts.action.RequestProcessor</code></li>
  +  <li><code>org.apache.struts.action</code></li>
  +  <li><code>org.apache.struts</code></li>
  +  <li><code>org.apache</code></li>
  +  <li><code>org</code></li>
  +  <li>The default logging detail level for your log implementation.</li>
  +  </ul>
  +
  +  <p>
  +  In a similar manner, the detail level for messages from
  +  <code>PropertyUtils</code> (from the Commons BeanUtils library) is set by
  +  a search for configuration settings for:
  +  </p>
  +
  +  <ul>
  +  <li><code>org.apache.commons.beanutils.PropertyUtils</code></li>
  +  <li><code>org.apache.commons.beanutils</code></li>
  +  <li><code>org.apache.commons</code></li>
  +  <li><code>org.apache</code></li>
  +  <li><code>org</code></li>
  +  <li>The default logging detail level for your log implementation.</li>
  +  </ul>
  +
  +  <p>
  +  You can seamlessly integrate logging from your own components into the same
  +  logging implementation that Struts and the Commons libraries use, by
  +  following the instructions in
  +  <a href="building_controller.html#logging">Section 4.10</a>.  If you do
  +  this, you are strongly encouraged to follow the same naming convention for
  +  loggers (based on the class name of the messages being logged) for
  +  maximum configuration flexibility.
  +  </p>
  +
  +</section>
  +
   
   <section>
   
  
  
  
  1.30      +3 -2      jakarta-struts/doc/userGuide/index.xml
  
  Index: index.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-struts/doc/userGuide/index.xml,v
  retrieving revision 1.29
  retrieving revision 1.30
  diff -u -r1.29 -r1.30
  --- index.xml 18 Jan 2003 20:09:45 -0000      1.29
  +++ index.xml 18 Jan 2003 22:11:04 -0000      1.30
  @@ -148,8 +148,9 @@
                       <li><a href="configuration.html#dd_config_taglib">5.4.3 
Configure the Struts Tag Libraries"</a></li>
                       </ul>
                   <li><a href="configuration.html#config_add">5.5 Add Struts 
Components To Your Application</a></li>
  -                </li>
  -                </ul>             
  +                <li><a href="configuration.html#config_logging">5.6 Logging in 
Struts Applications</a></li>
  +             </li>
  +             </ul>             
   
                <li>6. Getting Started</li>
                   <ul>
  
  
  

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

Reply via email to