remm        2005/03/03 10:26:40

  Modified:    webapps/docs logging.xml tomcat-docs.xsl
  Log:
  - Documentation on JULI.
  
  Revision  Changes    Path
  1.6       +120 -8    jakarta-tomcat-catalina/webapps/docs/logging.xml
  
  Index: logging.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-catalina/webapps/docs/logging.xml,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- logging.xml       7 Dec 2004 16:38:15 -0000       1.5
  +++ logging.xml       3 Mar 2005 18:26:40 -0000       1.6
  @@ -128,14 +128,37 @@
     </section>
   
     <section name="java.util.logging">
  +
     <p>
       In order to configure JDK logging you should have JDK 1.4+. Tomcat 5.5 
is intended for
       JDK 5.0, but can be run on JDK 1.4 using a compatibility package.
     </p>
     <p>
  -    In order to configure JDK Logging, you should find the JDK's 
logging.properties file. Check
  -    your JAVA_HOME environment setting to see which JDK Tomcat is using (or 
maybe JRE 5.0 as Tomcat
  -    can now run on a JRE from version 5.5). The file will be in 
<code>$JAVA_HOME/jre/lib</code>.
  +    The default implemenatation of java.util.logging provided in the JDK is 
too limited to be 
  +    useful. A limitation of JDK Logging appears to be the inability to have 
per-web application logging, 
  +    as the configuration is per-VM. As a result, Tomcat will, in the default 
configuration,
  +    replace the default LogManager implementation with a container friendly 
implementation
  +    called JULI, which addresses these shortcomings. It supports the same 
configuration mechanisms 
  +    as the standard JDK java.util.logging, using either a programmatic 
approach, or properties
  +    files. The main difference is that per-classloader properties files can 
be set (which enables easy
  +    redeployment friendly webapp configuration), and the properties files 
support slightly extended
  +    constructs which allows more freedom for defining handlers and assigning 
them to loggers.
  +  </p>
  +  <p>
  +    JULI is enabled by default in Tomcat 5.5, and supports per classloader 
configuration, in addition to 
  +    the regular global java.util.logging configuration. This means that 
logging can be configured at 
  +    the following layers:
  +    <ul>
  +      <li>In the JDK's logging.properties file. Check
  +      your JAVA_HOME environment setting to see which JDK Tomcat is using 
(or maybe JRE 5.0 as Tomcat
  +      can now run on a JRE from version 5.5). The file will be in 
<code>$JAVA_HOME/jre/lib</code>.
  +      Alternately, it can also use a global configuration file located 
elsewhere by using the 
  +      system property <code>java.util.logging.config.file</code>, or 
programmatic configuration using
  +      <code>java.util.logging.config.class</code>.</li>
  +      <li>In each classloader using a logging.properties file. This means 
that it is possible to have a
  +      configuration for the Tomcat core, as well as separate configurations 
for each webapps which will 
  +      have the same lifecycle as the webapps.</li>
  +    </ul>
     </p>
     <p>
       The default logging.properties specifies a ConsoleHandler for routing 
logging to stdout and
  @@ -143,17 +166,106 @@
       WARN, FINE, FINEST or ALL. The logging.properties shipped with JDK is 
set to INFO. You
       can also target specific packages to collect logging from and specify a 
level. Here is how
       you would set debugging from Tomcat. You would need to ensure the 
ConsoleHandler's level is also
  -    set to collect this threshold, so FINEST or ALL should be set.
  +    set to collect this threshold, so FINEST or ALL should be set. Please 
refer to Sun's java.util.logging
  +    documentation for the complete details.
     </p>
     <p>
       <source>org.apache.catalina.level=FINEST</source>
     </p>
  -
     <p>
  -    A limitation of JDK Logging appears to be the inability to have per-web 
application logging, 
  -    as the configuration is per-VM. It is advisable to use log4j for per-web 
application logging
  -    as explained below.
  +    The configuration used by JULI is extremely similar, but uses a few 
extensions to allow better 
  +    flexibility in assigning loggers. The main differences are:
  +    <ul>
  +      <li>A prefix may be added to handler names, so that multiple handlers 
of a single class may be 
  +      instantiated. A prefix is a String which starts with a digit, and ends 
with '.'. For example, 
  +      <code>22foobar.</code> is a valid prefix.</li>
  +      <li>As in Java 5.0, loggers can define a list of handlers using the 
<code>loggerName.handlers</code>
  +      property.</li>
  +      <li>By default, loggers will not delegate to their parent if they have 
associated handlers. This
  +      may be changed per logger using the 
<code>loggerName.useParentHandlers</code> property, which accepts 
  +      a boolean value.</li>
  +      <li>The root logger can define its set of handlers using a 
<code>.handlers</code> property.</li>
  +      <li>System property replacement for property values which start with 
${sytstemPropertyName}.</li>
  +    </ul>
     </p>
  +  <p>
  +    Example logging.properties file to be placed in common/classes:
  +    <source>
  +handlers = 1catalina.org.apache.juli.FileHandler, 
2localhost.org.apache.juli.FileHandler, \
  +           3manager.org.apache.juli.FileHandler, 
4admin.org.apache.juli.FileHandler, \
  +           java.util.logging.ConsoleHandler
  +
  +.handlers = 1catalina.org.apache.juli.FileHandler, 
java.util.logging.ConsoleHandler
  +
  +############################################################
  +# Handler specific properties.
  +# Describes specific configuration info for Handlers.
  +############################################################
  +
  +1catalina.org.apache.juli.FileHandler.level = FINE
  +1catalina.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
  +1catalina.org.apache.juli.FileHandler.prefix = catalina.
  +
  +2localhost.org.apache.juli.FileHandler.level = FINE
  +2localhost.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
  +2localhost.org.apache.juli.FileHandler.prefix = localhost.
  +
  +3manager.org.apache.juli.FileHandler.level = FINE
  +3manager.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
  +3manager.org.apache.juli.FileHandler.prefix = manager.
  +
  +4admin.org.apache.juli.FileHandler.level = FINE
  +4admin.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
  +4admin.org.apache.juli.FileHandler.prefix = admin.
  +
  +java.util.logging.ConsoleHandler.level = FINE
  +java.util.logging.ConsoleHandler.formatter = 
java.util.logging.SimpleFormatter
  +
  +
  +############################################################
  +# Facility specific properties.
  +# Provides extra control for each logger.
  +############################################################
  +
  +org.apache.catalina.core.ContainerBase.[Catalina].[localhost].level = INFO
  +org.apache.catalina.core.ContainerBase.[Catalina].[localhost].handlers = \
  +   2localhost.org.apache.juli.FileHandler
  +
  
+org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].level 
= INFO
  
+org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].handlers
 = \
  +   3manager.org.apache.juli.FileHandler
  +
  +org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/admin].level 
= INFO
  
+org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/admin].handlers
 = \
  +   4admin.org.apache.juli.FileHandler
  +
  +# For example, set the com.xyz.foo logger to only log SEVERE
  +# messages:
  +#org.apache.catalina.startup.ContextConfig.level = FINE
  +#org.apache.catalina.startup.HostConfig.level = FINE
  +#org.apache.catalina.session.ManagerBase.level = FINE
  +    </source>
  +    </p>
  +    
  +    <p>
  +      Example logging.properties for the servlet-examples web application to 
be placed
  +      in WEB-INF/classes inside the web application:
  +      <source>
  +handlers = org.apache.juli.FileHandler, java.util.logging.ConsoleHandler
  +
  +############################################################
  +# Handler specific properties.
  +# Describes specific configuration info for Handlers.
  +############################################################
  +
  +org.apache.juli.FileHandler.level = FINE
  +org.apache.juli.FileHandler.directory = ${catalina.base}/logs
  +org.apache.juli.FileHandler.prefix = servlet-examples.
  +
  +java.util.logging.ConsoleHandler.level = FINE
  +java.util.logging.ConsoleHandler.formatter = 
java.util.logging.SimpleFormatter
  +      </source>
  +    </p>
   
     </section>
   
  
  
  
  1.11      +2 -2      jakarta-tomcat-catalina/webapps/docs/tomcat-docs.xsl
  
  Index: tomcat-docs.xsl
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-catalina/webapps/docs/tomcat-docs.xsl,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- tomcat-docs.xsl   3 Jan 2005 22:37:38 -0000       1.10
  +++ tomcat-docs.xsl   3 Mar 2005 18:26:40 -0000       1.11
  @@ -159,7 +159,7 @@
         <xsl:comment>PAGE FOOTER</xsl:comment>
         <tr><td colspan="2">
           <div align="center"><font color="{$body-link}" size="-1"><em>
  -        Copyright &#169; 1999-2004, Apache Software Foundation
  +        Copyright &#169; 1999-2005, Apache Software Foundation
           </em></font></div>
         </td></tr>
   
  
  
  

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

Reply via email to