giacomo     01/08/30 12:15:44

  Modified:    src/org/apache/cocoon Cocoon.java Constants.java Main.java
               src/org/apache/cocoon/acting ServerPagesAction.java
               src/org/apache/cocoon/components/language/generator
                        GeneratorSelector.java
               src/org/apache/cocoon/components/profiler Profiler.java
               src/org/apache/cocoon/components/resolver Resolver.java
               src/org/apache/cocoon/components/xslt XSLTProcessor.java
               src/org/apache/cocoon/environment Source.java
               src/org/apache/cocoon/servlet CocoonServlet.java
               src/org/apache/cocoon/sitemap AbstractSitemap.java
                        Manager.java
               src/org/apache/cocoon/xml NamespacesTable.java
               src/org/apache/cocoon/xml/dom DOMBuilder.java
               webapp   cocoon.xconf
               webapp/WEB-INF web.xml
               lib      junit.jar
  Added:       src/org/apache/cocoon/util/log CocoonTargetFactory.java
               lib      avalon-excalibur-dev.jar logkit-1.0b4-dev.jar
  Removed:     lib      avalon-excalibur.jar logkit-1.0b4.jar
  Log:
  added initial support for the LogKit Management System
  
  Revision  Changes    Path
  1.1                  
xml-cocoon2/src/org/apache/cocoon/util/log/CocoonTargetFactory.java
  
  Index: CocoonTargetFactory.java
  ===================================================================
  /*
   * Copyright (C) The Apache Software Foundation. All rights reserved.
   *
   * This software is published under the terms of the Apache Software License
   * version 1.1, a copy of which has been included  with this distribution in
   * the LICENSE file.
   */
  package org.apache.cocoon.util.log;
  
  import org.apache.avalon.excalibur.logger.factory.FileTargetFactory;
  import org.apache.avalon.framework.configuration.Configuration;
  
  import org.apache.log.format.Formatter;
  
  /**
   * CocoonTargetFactory class.
   *
   * This factory is able to create different LogTargets specific to Cocoon 
   * according to the following configuration syntax:
   *
   * <pre>
   * &lt;file id="foo"&gt;
   *  &lt;filename&gt;${context-key}/real-name/...&lt;/filename&gt;
   *  &lt;format type="raw|pattern|extended|xml|cocoon"&gt;pattern to be used 
if needed&lt;/format&gt;
   *  &lt;append&gt;true|false&lt;/append&gt;
   *  &lt;rotation type="revolving|unique" init="5" max="10"&gt;
   *   &lt;or&gt;
   *    &lt;size&gt;10000000&lt;/size&gt;
   *    &lt;time&gt;24:00:00&lt;/time&gt;
   *    &lt;time&gt;12:00:00&lt;/time&gt;
   *   &lt;/or&gt;
   *  &lt;/rotate&gt;
   * &lt;/file&gt;
   * </pre>
   *
   * <p>Some explanations about the Elements used in the configuration:</p>
   * <dl>
   *  <dt>&lt;filename&gt;</dt>
   *  <dd>
   *   This denotes the name of the file to log to. It can be constructed
   *   out of entries in the passed Context object as ${context-key}.
   *   This element is required.
   *  </dd>
   *  <dt>&lt;format&gt;</dt>
   *  <dd>
   *   The type attribute of the pattern element denotes the type of 
   *   Formatter to be used and according to it the pattern to use for.
   *   This elements defaults to:
   *   <p>
   *    %7.7{priority} %{time}   [%8.8{category}] (%{uri}) 
%{thread}/%{class:short}: %{message}\\n%{throwable}
   *   </p>
   *  </dd>
   *  <dt>&lt;append&gt;<dt>
   *  <dd>
   *   If the log file should be deleted every time the logger is creates
   *   (normally at the start of the applcation) or not and thus the log
   *   entries will be appended. This elements defaults to false.
   *  </dd>
   *  <dt>&lt;rotation&gt;</dt>
   *  <dd>
   *   This is an optional element.
   *   The type attribute determines which FileStrategy to user 
   *   (revolving=RevolvingFileStrategy, unique=UniqueFileStrategy).
   *   The required init and max attribute are used to determine the initial 
and 
   *   maximum rotation to use on a type="revolving" attribute. 
   *  </dd>
   *  <dt>&lt;or&gt;</dt>
   *  <dd>uses the OrRotateStrategy to combine the children</dd>
   *  <dt>&lt;size&gt;</dt>
   *  <dd>
   *   The number of bytes if no suffix used or kilo bytes (1024) if suffixed 
with 
   *   'k' or mega bytes (1024k) if suffixed with 'm' when a file rotation 
should 
   *   occur. It doesn't make sense to specify more than one.
   *  </dd>
   *  <dt>&lt;time&gt;</dt>
   *  <dd>
   *   The time as HH:MM:SS when a rotation should occur. If you like to rotate
   *   a logfile more than once a day put an &lt;or&gt; element immediately 
after the
   *   &lt;rotation&gt; element and specify the times (and one size, too) 
inside the
   *   &lt;or&gt; element.
   *  </dd>
   * </dl>
   *
   * @author <a href="mailto:[EMAIL PROTECTED],org">Giacomo Pati</a>
   * @version CVS $Revision: 1.1 $ $Date: 2001/08/30 19:15:43 $
   * @since 4.0
   */
  public class CocoonTargetFactory 
      extends FileTargetFactory 
  {
      //Format of default Cocoon formatter
      private static final String CFORMAT =
          "%7.7{priority} %{time}   [%8.8{category}] (%{uri}) 
%{thread}/%{class:short}: %{message}\\n%{throwable}";
  
      //Format of default Cocoon XML formatter
      private static final String XFORMAT =
          "priority time category uri thread class message throwable";
  
      protected Formatter getFormatter(final Configuration conf) 
      {
          final String type = conf.getAttribute("type", "unknown");
          
          if ("cocoon".equals(type))
          {
              final CocoonLogFormatter formatter = new CocoonLogFormatter();
              final String format = conf.getValue(CFORMAT);
              formatter.setFormat(format);
              return formatter;
          }
          else if ("xml".equals(type))
          {
              final XMLCocoonLogFormatter formatter = new 
XMLCocoonLogFormatter();
              final String format = conf.getValue(XFORMAT);
              formatter.setTypes(format);
              return formatter;
          }
          
          // default formatter
          return super.getFormatter(conf);
      }
  }
  
  
  
  
  1.23      +23 -2     xml-cocoon2/src/org/apache/cocoon/Cocoon.java
  
  Index: Cocoon.java
  ===================================================================
  RCS file: /home/cvs/xml-cocoon2/src/org/apache/cocoon/Cocoon.java,v
  retrieving revision 1.22
  retrieving revision 1.23
  diff -u -r1.22 -r1.23
  --- Cocoon.java       2001/08/29 17:56:04     1.22
  +++ Cocoon.java       2001/08/30 19:15:43     1.23
  @@ -9,6 +9,8 @@
   
   import org.apache.avalon.excalibur.component.DefaultRoleManager;
   import org.apache.avalon.excalibur.component.ExcaliburComponentManager;
  +import org.apache.avalon.excalibur.logger.LogKitManager;
  +import org.apache.avalon.excalibur.logger.LogKitManageable;
   import org.apache.avalon.framework.activity.Disposable;
   import org.apache.avalon.framework.activity.Initializable;
   import org.apache.avalon.framework.component.Component;
  @@ -52,9 +54,18 @@
    *
    * @author <a href="mailto:[EMAIL PROTECTED]">Pierpaolo Fumagalli</a> 
(Apache Software Foundation, Exoffice Technologies)
    * @author <a href="mailto:[EMAIL PROTECTED]">Stefano Mazzocchi</a>
  - * @version CVS $Revision: 1.22 $ $Date: 2001/08/29 17:56:04 $
  + * @version CVS $Revision: 1.23 $ $Date: 2001/08/30 19:15:43 $
    */
  -public class Cocoon extends AbstractLoggable implements ThreadSafe, 
Component, Initializable, Disposable, Modifiable, Processor, Contextualizable {
  +public class Cocoon 
  +        extends AbstractLoggable 
  +        implements ThreadSafe, 
  +                   Component, 
  +                   Initializable, 
  +                   Disposable, 
  +                   Modifiable, 
  +                   Processor, 
  +                   Contextualizable,
  +                   LogKitManageable{
       /** The application context */
       private Context context;
   
  @@ -70,6 +81,9 @@
       /** The sitemap manager */
       private Manager sitemapManager;
   
  +    /** The logkit manager */
  +    private LogKitManager logKitManager;
  +
       /** The classpath (null if not available) */
       private String classpath;
   
  @@ -109,6 +123,10 @@
           }
       }
   
  +    public void setLogKitManager(LogKitManager logKitManager) {
  +        this.logKitManager = logKitManager;
  +    }
  +
       public void initialize() throws Exception {
           this.componentManager = new 
ExcaliburComponentManager((ClassLoader)this.context.get(Constants.CONTEXT_CLASS_LOADER));
           this.componentManager.setLogger(getLogger());
  @@ -126,6 +144,7 @@
           ExcaliburComponentManager startupManager = new 
ExcaliburComponentManager((ClassLoader)this.context.get(Constants.CONTEXT_CLASS_LOADER));
           startupManager.setLogger(getLogger());
           startupManager.contextualize(this.context);
  +        startupManager.setLogKitManager(this.logKitManager);
   
           try {
               startupManager.addComponent(Parser.ROLE, 
ClassUtils.loadClass(parser), null);
  @@ -257,6 +276,7 @@
           Configuration conf = this.configuration;
   
           AbstractSitemap.setRoleManager(sitemapRoleManager, conf);
  +        AbstractSitemap.setLogKitManager(this.logKitManager);
   
           getLogger().debug("Root configuration: " + conf.getName());
           if (! "cocoon".equals(conf.getName())) {
  @@ -295,6 +315,7 @@
           }
   
           this.componentManager.setRoleManager(drm);
  +        this.componentManager.setLogKitManager(this.logKitManager);
   
           getLogger().debug("Setting up components...");
           this.componentManager.configure(conf);
  
  
  
  1.11      +1 -3      xml-cocoon2/src/org/apache/cocoon/Constants.java
  
  Index: Constants.java
  ===================================================================
  RCS file: /home/cvs/xml-cocoon2/src/org/apache/cocoon/Constants.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- Constants.java    2001/07/18 10:44:26     1.10
  +++ Constants.java    2001/08/30 19:15:43     1.11
  @@ -10,7 +10,7 @@
   
   /**
    * @author <a href="mailto:[EMAIL PROTECTED]">Stefano Mazzocchi</a>
  - * @version CVS $Revision: 1.10 $ $Date: 2001/07/18 10:44:26 $
  + * @version CVS $Revision: 1.11 $ $Date: 2001/08/30 19:15:43 $
    */
   
   public interface Constants {
  @@ -70,8 +70,6 @@
       String CONTEXT_CACHE_DIR       = "cache-directory";
       String CONTEXT_CLASSPATH       = "classpath";
       String CONTEXT_CONFIG_URL      = "config-url";
  -    String CONTEXT_LOG_DIR         = "log-directory";
  -    String CONTEXT_LOG_FILE        = "log-file";
   
       boolean DESCRIPTOR_RELOADABLE_DEFAULT = true;
   
  
  
  
  1.17      +46 -35    xml-cocoon2/src/org/apache/cocoon/Main.java
  
  Index: Main.java
  ===================================================================
  RCS file: /home/cvs/xml-cocoon2/src/org/apache/cocoon/Main.java,v
  retrieving revision 1.16
  retrieving revision 1.17
  diff -u -r1.16 -r1.17
  --- Main.java 2001/08/23 02:50:33     1.16
  +++ Main.java 2001/08/30 19:15:43     1.17
  @@ -12,6 +12,10 @@
   import org.apache.avalon.excalibur.cli.CLOption;
   import org.apache.avalon.excalibur.cli.CLOptionDescriptor;
   import org.apache.avalon.excalibur.cli.CLUtil;
  +import org.apache.avalon.excalibur.logger.DefaultLogKitManager;
  +import org.apache.avalon.excalibur.logger.LogKitManager;
  +import org.apache.avalon.framework.configuration.DefaultConfigurationBuilder;
  +import org.apache.avalon.framework.configuration.Configuration;
   import org.apache.avalon.framework.context.DefaultContext;
   import org.apache.cocoon.environment.Environment;
   import org.apache.cocoon.environment.commandline.CommandlineContext;
  @@ -31,6 +35,7 @@
   import java.io.BufferedReader;
   import java.io.File;
   import java.io.FileNotFoundException;
  +import java.io.FileInputStream;
   import java.io.FileOutputStream;
   import java.io.FileReader;
   import java.io.IOException;
  @@ -51,7 +56,7 @@
    * Command line entry point.
    *
    * @author <a href="mailto:[EMAIL PROTECTED]">Stefano Mazzocchi</a>
  - * @version CVS $Revision: 1.16 $ $Date: 2001/08/23 02:50:33 $
  + * @version CVS $Revision: 1.17 $ $Date: 2001/08/30 19:15:43 $
    */
   
   public class Main {
  @@ -60,7 +65,8 @@
   
       protected static final int HELP_OPT =        'h';
       protected static final int VERSION_OPT =     'v';
  -    protected static final int LOG_URL_OPT =     'l';
  +    protected static final int LOG_KIT_OPT =     'k';
  +    protected static final int LOGGER_OPT =      'l';
       protected static final int LOG_LEVEL_OPT =   'u';
       protected static final int CONTEXT_DIR_OPT = 'c';
       protected static final int DEST_DIR_OPT =    'd';
  @@ -87,14 +93,18 @@
                                  CLOptionDescriptor.ARGUMENT_DISALLOWED,
                                  VERSION_OPT,
                                  "print the version information and exit"),
  -        new CLOptionDescriptor("logUrl",
  +        new CLOptionDescriptor("logKitconfig",
                                  CLOptionDescriptor.ARGUMENT_REQUIRED,
  -                               LOG_URL_OPT,
  -                               "use given file for log"),
  +                               LOG_KIT_OPT,
  +                               "use given file for LogKit Management 
configuration"),
  +        new CLOptionDescriptor("Logger",
  +                               CLOptionDescriptor.ARGUMENT_REQUIRED,
  +                               LOGGER_OPT,
  +                               "use given logger category as default logger 
for the Cocoon engine"),
           new CLOptionDescriptor("logLevel",
                                  CLOptionDescriptor.ARGUMENT_REQUIRED,
                                  LOG_LEVEL_OPT,
  -                               "choose the minimum log level for logging 
(DEBUG, INFO, WARN, ERROR, FATAL_ERROR)"),
  +                               "choose the minimum log level for logging 
(DEBUG, INFO, WARN, ERROR, FATAL_ERROR) for startup logging"),
           new CLOptionDescriptor("contextDir",
                                  CLOptionDescriptor.ARGUMENT_REQUIRED,
                                  CONTEXT_DIR_OPT,
  @@ -155,12 +165,12 @@
           String workDir = Constants.DEFAULT_WORK_DIR;
           List targets = new ArrayList();
           CLArgsParser parser = new CLArgsParser(args, options);
  -        String logUrl = null;
  +        String logKit = null;
  +        String logger = null;
           String logLevel = "DEBUG";
           boolean xspOnly = false;
           String userAgent = DEFAULT_USER_AGENT;
           String accept = DEFAULT_ACCEPT;
  -        String logDir = "", logFile = "";
           boolean followLinks = true;
   
           List clOptions = parser.getArguments();
  @@ -193,9 +203,13 @@
                   case Main.CONTEXT_DIR_OPT:
                       contextDir = option.getArgument();
                       break;
  +
  +                case Main.LOG_KIT_OPT:
  +                    logKit = option.getArgument();
  +                    break;
   
  -                case Main.LOG_URL_OPT:
  -                    logUrl = option.getArgument();
  +                case Main.LOGGER_OPT:
  +                    logger = option.getArgument();
                       break;
   
                   case Main.LOG_LEVEL_OPT:
  @@ -224,29 +238,9 @@
               }
           }
   
  -        try {
  -            final Priority priority = Priority.getPriorityForName(logLevel);
  -            log = Hierarchy.getDefaultHierarchy().getLoggerFor("cocoon");
  -            log.setPriority(priority);
  -
  -            // FIXME
  -            // The log dir and log file must be detected correct
  -            // This is only a simple hack to make the sitemap manager happy
  -            if(logUrl == null) {
  -                log.setLogTargets( new LogTarget[] {new 
DefaultOutputLogTarget(System.out)});
  -                logDir = "";
  -                logFile = "";
  -            } else {
  -                log.setLogTargets(new LogTarget[] {new 
FileOutputLogTarget(logUrl)});
  -                logFile = logUrl;
  -                logDir = "";
  -            }
  -        } catch (MalformedURLException mue) {
  -            String error = "Cannot write on the specified log file.  Please, 
make sure the path exists and you have write permissions.";
  -            Hierarchy.getDefaultHierarchy().log(error, mue);
  -            System.out.println(error);
  -            System.exit(1);
  -        }
  +        final Priority priority = Priority.getPriorityForName(logLevel);
  +        Hierarchy.getDefaultHierarchy().setDefaultPriority(priority);
  +        log = Hierarchy.getDefaultHierarchy().getLoggerFor("");
   
           if (destDir.equals("")) {
               String error = "Careful, you must specify a destination dir when 
using the -d/--destDir argument";
  @@ -288,17 +282,34 @@
               CommandlineContext clContext = new 
CommandlineContext(contextDir);
               clContext.setLogger(log);
               appContext.put(Constants.CONTEXT_ENVIRONMENT_CONTEXT, clContext);
  +            DefaultLogKitManager logKitManager = null;
  +            if(logKit != null) {
  +                final FileInputStream fis = new FileInputStream(logKit);
  +                final DefaultConfigurationBuilder builder = new 
DefaultConfigurationBuilder();
  +                final Configuration logKitConf = builder.build(fis);
  +                logKitManager = new DefaultLogKitManager();
  +                logKitManager.setLogger(log);
  +                final DefaultContext subcontext = new 
DefaultContext(appContext);
  +                subcontext.put("context-root", contextDir);
  +                logKitManager.contextualize(subcontext);
  +                logKitManager.configure(logKitConf);
  +                logKitManager = logKitManager;
  +                if (logger != null) {
  +                    log = logKitManager.getLogger(logger);
  +                } else {
  +                    log = logKitManager.getLogger("cocoon");
  +                }
  +            }
               appContext.put(Constants.CONTEXT_CLASSPATH, 
getClassPath(contextDir));
               appContext.put(Constants.CONTEXT_WORK_DIR, work);
               appContext.put(Constants.CONTEXT_UPLOAD_DIR, contextDir + 
"image-dir");
               File cacheDir = getDir(workDir + File.separator + "cache-dir", 
"cache");
               appContext.put(Constants.CONTEXT_CACHE_DIR, cacheDir);
               appContext.put(Constants.CONTEXT_CONFIG_URL, conf.toURL());
  -            appContext.put(Constants.CONTEXT_LOG_DIR, logDir);
  -            appContext.put(Constants.CONTEXT_LOG_FILE, logFile);
               Cocoon c = new Cocoon();
               c.setLogger(log);
               c.contextualize(appContext);
  +            c.setLogKitManager(logKitManager);
               c.initialize();
               Main main = new Main(c, context, dest);
               main.userAgent = userAgent;
  
  
  
  1.6       +16 -5     
xml-cocoon2/src/org/apache/cocoon/acting/ServerPagesAction.java
  
  Index: ServerPagesAction.java
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon2/src/org/apache/cocoon/acting/ServerPagesAction.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- ServerPagesAction.java    2001/08/24 10:03:45     1.5
  +++ ServerPagesAction.java    2001/08/30 19:15:43     1.6
  @@ -8,6 +8,8 @@
   package org.apache.cocoon.acting;
   
   import org.apache.avalon.excalibur.component.ComponentHandler;
  +import org.apache.avalon.excalibur.logger.LogKitManageable;
  +import org.apache.avalon.excalibur.logger.LogKitManager;
   import org.apache.avalon.framework.activity.Disposable;
   import org.apache.avalon.framework.configuration.Configuration;
   import org.apache.avalon.framework.configuration.ConfigurationException;
  @@ -59,14 +61,18 @@
    * </pre>
    *
    * @author <a href="mailto:[EMAIL PROTECTED]">Sylvain Wallez</a>
  - * @version CVS $Revision: 1.5 $ $Date: 2001/08/24 10:03:45 $
  + * @version CVS $Revision: 1.6 $ $Date: 2001/08/30 19:15:43 $
    */
  -public class ServerPagesAction extends ConfigurableComposerAction implements 
Disposable, ThreadSafe {
  +public class ServerPagesAction 
  +        extends ConfigurableComposerAction 
  +        implements Disposable, ThreadSafe, LogKitManageable {
       
       public static final String REDIRECTOR_OBJECT = "xsp-action:redirector";
       public static final String ACTION_RESULT_OBJECT = "xsp-action:result";
       public static final String ACTION_SUCCESS_OBJECT = "xsp-action:success";
  -    
  +
  +    private LogKitManager logKitManager;
  +
       ComponentHandler generatorHandler;
       
       public void configure(Configuration conf)
  @@ -77,7 +83,8 @@
                   conf,
                   this.manager,
                   null, // Context
  -                null  // RoleManager
  +                null,  // RoleManager
  +                this.logKitManager  // LogKitManager
               );
           
               this.generatorHandler.setLogger(getLogger());
  @@ -87,7 +94,11 @@
               throw new ConfigurationException("Cannot set up component 
handler", e);
           }
       }
  -    
  +
  +    public void setLogKitManager(LogKitManager logKitManager) {
  +        this.logKitManager = logKitManager;
  +    }
  +
       public void dispose() {
           if (this.generatorHandler != null) {
               this.generatorHandler.dispose();
  
  
  
  1.9       +14 -5     
xml-cocoon2/src/org/apache/cocoon/components/language/generator/GeneratorSelector.java
  
  Index: GeneratorSelector.java
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon2/src/org/apache/cocoon/components/language/generator/GeneratorSelector.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- GeneratorSelector.java    2001/08/20 13:55:10     1.8
  +++ GeneratorSelector.java    2001/08/30 19:15:43     1.9
  @@ -10,6 +10,7 @@
   import org.apache.avalon.excalibur.component.ComponentHandler;
   import org.apache.avalon.excalibur.component.ExcaliburComponentSelector;
   import org.apache.avalon.excalibur.component.RoleManager;
  +import org.apache.avalon.excalibur.logger.LogKitManager;
   import org.apache.avalon.framework.activity.Disposable;
   import org.apache.avalon.framework.component.Component;
   import org.apache.avalon.framework.component.ComponentException;
  @@ -31,7 +32,7 @@
    * includes Sitemaps and XSP Pages
    *
    * @author <a href="mailto:[EMAIL PROTECTED]">Berin Loritsch</a>
  - * @version CVS $Revision: 1.8 $ $Date: 2001/08/20 13:55:10 $
  + * @version CVS $Revision: 1.9 $ $Date: 2001/08/30 19:15:43 $
    */
   public class GeneratorSelector extends ExcaliburComponentSelector implements 
Disposable {
   
  @@ -40,12 +41,14 @@
       private ClassLoaderManager classManager;
   
       /** The component manager */
  -    protected ComponentManager manager = null;
  +    protected ComponentManager manager;
   
  -    protected Context context = null;
  +    private LogKitManager logKitManager;
   
  -    protected RoleManager roles = null;
  +    protected Context context;
   
  +    protected RoleManager roles;
  +
       protected Map componentHandlers = new HashMap();
   
       /** Dynamic component handlers mapping. */
  @@ -61,6 +64,11 @@
           this.roles = roleMgr;
       }
   
  +    public void setLogKitManager(LogKitManager logKitMgr) {
  +        super.setLogKitManager(logKitMgr);
  +        this.logKitManager = logKitMgr;
  +    }
  +
       public void compose (ComponentManager manager) throws ComponentException 
{
           super.compose(manager);
           this.manager = manager;
  @@ -128,7 +136,8 @@
                                                         new 
DefaultConfiguration("", "GeneratorSelector"),
                                                         newManager,
                                                         this.context,
  -                                                      this.roles );
  +                                                      this.roles,
  +                                                      this.logKitManager );
   
               handler.setLogger( getLogger() );
               handler.initialize();
  
  
  
  1.4       +8 -8      
xml-cocoon2/src/org/apache/cocoon/components/profiler/Profiler.java
  
  Index: Profiler.java
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon2/src/org/apache/cocoon/components/profiler/Profiler.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- Profiler.java     2001/08/20 13:55:12     1.3
  +++ Profiler.java     2001/08/30 19:15:43     1.4
  @@ -15,18 +15,18 @@
    * Profiler component interface.
    *
    * @author <a href="mailto:[EMAIL PROTECTED]">Vadim Gritsenko</a>
  - * @version CVS $Revision: 1.3 $ $Date: 2001/08/20 13:55:12 $
  + * @version CVS $Revision: 1.4 $ $Date: 2001/08/30 19:15:43 $
    */
   public interface Profiler extends Component
   {
       String ROLE = "org.apache.cocoon.components.profiler.Profiler";
   
  -     public void clearResults();
  -     public void clearResult(Object key);
  +     void clearResults();
  +     void clearResult(Object key);
   
  -     public void addResult(String uri, ProfilerData data);
  +     void addResult(String uri, ProfilerData data);
   
  -     public Collection getResultKeys();
  -     public Collection getResults();
  -     public ProfilerResult getResult(Object key);
  -}
  \ No newline at end of file
  +     Collection getResultKeys();
  +     Collection getResults();
  +     ProfilerResult getResult(Object key);
  +}
  
  
  
  1.2       +2 -2      
xml-cocoon2/src/org/apache/cocoon/components/resolver/Resolver.java
  
  Index: Resolver.java
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon2/src/org/apache/cocoon/components/resolver/Resolver.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- Resolver.java     2001/08/20 12:36:59     1.1
  +++ Resolver.java     2001/08/30 19:15:43     1.2
  @@ -18,7 +18,7 @@
    * A component that uses catalogs for resolving Entities.
    *
    * @author <a href="mailto:[EMAIL PROTECTED]">Davanum Srinivas</a>
  - * @version CVS $Revision: 1.1 $ $Date: 2001/08/20 12:36:59 $
  + * @version CVS $Revision: 1.2 $ $Date: 2001/08/30 19:15:43 $
    */
   public interface Resolver extends Component, EntityResolver {
   
  @@ -58,7 +58,7 @@
        *            or Reader for the InputSource.
        * @see org.xml.sax.InputSource
        */
  -    public abstract InputSource resolveEntity(String publicId,
  +    InputSource resolveEntity(String publicId,
                                                 String systemId)
               throws SAXException, IOException;
   }
  
  
  
  1.4       +4 -4      
xml-cocoon2/src/org/apache/cocoon/components/xslt/XSLTProcessor.java
  
  Index: XSLTProcessor.java
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon2/src/org/apache/cocoon/components/xslt/XSLTProcessor.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- XSLTProcessor.java        2001/08/25 19:40:32     1.3
  +++ XSLTProcessor.java        2001/08/30 19:15:43     1.4
  @@ -38,7 +38,7 @@
      *
      * @param resolver a <code>SourceResolver</code> value
      */
  -  public void setSourceResolver(SourceResolver resolver);
  +  void setSourceResolver(SourceResolver resolver);
     
     /**
      * <p>Return a <code>TransformerHandler</code> for a given
  @@ -59,7 +59,7 @@
      * @return a <code>TransformerHandler</code> value
      * @exception ProcessingException if an error occurs
      */
  -  public TransformerHandler getTransformerHandler(Source stylesheet,
  +  TransformerHandler getTransformerHandler(Source stylesheet,
                                                     XMLFilter filter)
       throws ProcessingException;
   
  @@ -72,7 +72,7 @@
      * @exception ProcessingException if an error occurs
      * @see org.apache.cocoon.transformation.TraxTransformer#setConsumer
      */
  -  public TransformerHandler getTransformerHandler(Source stylesheet)
  +  TransformerHandler getTransformerHandler(Source stylesheet)
       throws ProcessingException;
   
     /**
  @@ -89,7 +89,7 @@
      * @param result a <code>Result</code> value
      * @exception ProcessingException if an error occurs
      */
  -  public void transform(Source source, Source stylesheet, Parameters params,
  +  void transform(Source source, Source stylesheet, Parameters params,
                           Result result)
       throws ProcessingException;
   }
  
  
  
  1.12      +6 -6      xml-cocoon2/src/org/apache/cocoon/environment/Source.java
  
  Index: Source.java
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon2/src/org/apache/cocoon/environment/Source.java,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- Source.java       2001/08/25 19:40:32     1.11
  +++ Source.java       2001/08/30 19:15:43     1.12
  @@ -25,7 +25,7 @@
    *
    * @author <a href="mailto:[EMAIL PROTECTED]">Carsten Ziegeler</a>
    * @author <a href="mailto:[EMAIL PROTECTED]">Ovidiu Predescu</a>
  - * @version CVS $Revision: 1.11 $ $Date: 2001/08/25 19:40:32 $
  + * @version CVS $Revision: 1.12 $ $Date: 2001/08/30 19:15:43 $
    */
   
   public interface Source extends Recyclable, XMLizable {
  @@ -33,18 +33,18 @@
      * Get the last modification date of the source or 0 if it
      * is not possible to determine the date.
      */
  -  public long getLastModified();
  +  long getLastModified();
   
     /**
      * Get the content length of the source or -1 if it
      * is not possible to determine the length.
      */
  -  public long getContentLength();
  +  long getContentLength();
   
     /**
      * Return an <code>InputStream</code> object to read from the source.
      */
  -  public InputStream getInputStream()
  +  InputStream getInputStream()
       throws ProcessingException, IOException;
   
     /**
  @@ -55,11 +55,11 @@
      * @exception ProcessingException if an error occurs
      * @exception IOException if an error occurs
      */
  -  public InputSource getInputSource()
  +  InputSource getInputSource()
       throws ProcessingException, IOException;
   
     /**
      * Return the unique identifer for this source
      */
  -  public String getSystemId();
  +  String getSystemId();
   }
  
  
  
  1.35      +48 -60    
xml-cocoon2/src/org/apache/cocoon/servlet/CocoonServlet.java
  
  Index: CocoonServlet.java
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon2/src/org/apache/cocoon/servlet/CocoonServlet.java,v
  retrieving revision 1.34
  retrieving revision 1.35
  diff -u -r1.34 -r1.35
  --- CocoonServlet.java        2001/08/20 19:01:34     1.34
  +++ CocoonServlet.java        2001/08/30 19:15:43     1.35
  @@ -7,6 +7,10 @@
    
*****************************************************************************/
   package org.apache.cocoon.servlet;
   
  +import org.apache.avalon.excalibur.logger.DefaultLogKitManager;
  +import org.apache.avalon.excalibur.logger.LogKitManager;
  +import org.apache.avalon.framework.configuration.DefaultConfigurationBuilder;
  +import org.apache.avalon.framework.configuration.Configuration;
   import org.apache.avalon.framework.context.DefaultContext;
   import org.apache.cocoon.Cocoon;
   import org.apache.cocoon.ConnectionResetException;
  @@ -41,6 +45,7 @@
   import javax.servlet.http.HttpServletRequest;
   import javax.servlet.http.HttpServletResponse;
   import java.io.File;
  +import java.io.FileInputStream;
   import java.io.IOException;
   import java.io.OutputStream;
   import java.net.URL;
  @@ -57,12 +62,13 @@
    * @author <a href="mailto:[EMAIL PROTECTED]">Nicola Ken Barozzi</a> Aisa
    * @author <a href="mailto:[EMAIL PROTECTED]">Berin Loritsch</a>
    * @author <a href="mailto:[EMAIL PROTECTED]">Carsten Ziegeler</a>
  - * @version CVS $Revision: 1.34 $ $Date: 2001/08/20 19:01:34 $
  + * @version CVS $Revision: 1.35 $ $Date: 2001/08/30 19:15:43 $
    */
   
   public class CocoonServlet extends HttpServlet {
   
       protected Logger log;
  +    protected LogKitManager logKitManager;
   
       static final float second = 1000;
       static final float minute = 60 * second;
  @@ -323,70 +329,47 @@
        */
       private void initLogger()
       throws ServletException {
  -        final Priority logPriority;
  -        String logDir = getInitParameter("log-dir");
           String logLevel = getInitParameter("log-level");
  -        String logFormat = getInitParameter("log-format");
  -        if (logLevel != null) {
  -            logLevel.trim();
  +        if (logLevel == null) {
  +            logLevel = "INFO";
           }
   
  -        if (logDir == null) {
  -            if(this.servletContext.getRealPath("/") != null) {
  -                logDir = this.servletContext.getRealPath("/");
  -                if (logDir.endsWith(File.separator) == false) logDir += 
File.separator;
  -                logDir = logDir + 
"WEB-INF"+File.separator+"logs"+File.separator;
  -            } else
  -                logDir = 
"."+File.separator+"WEB-INF"+File.separator+"logs"+File.separator;
  -        }
  +        final Priority logPriority = 
Priority.getPriorityForName(logLevel.trim());
   
  -        this.appContext.put(Constants.CONTEXT_LOG_DIR, logDir);
  +        final ServletOutputLogTarget servTarget = new 
ServletOutputLogTarget(this.servletContext);
   
  -        if (logLevel != null) {
  -            logPriority = Priority.getPriorityForName(logLevel);
  -        } else {
  -            logPriority = Priority.ERROR;
  -        }
  +        final CocoonLogFormatter formatter = new CocoonLogFormatter();
  +        formatter.setFormat( "%7.7{priority} %{time}   [%8.8{category}] " +
  +                             "(%{uri}) %{thread}/%{class:short}: 
%{message}\\n%{throwable}" );
   
  -        try {
  -            String logName = getInitParameter("log-name");
  -            if (logName == null) {
  -                logName = "cocoon.log";
  -            }
  +        servTarget.setFormatter(formatter);
  +        Hierarchy.getDefaultHierarchy().setDefaultLogTarget(servTarget);
  +        Hierarchy.getDefaultHierarchy().setDefaultPriority(logPriority);
  +        final Logger logger = 
Hierarchy.getDefaultHierarchy().getLoggerFor("");
   
  -            this.appContext.put(Constants.CONTEXT_LOG_FILE, logName);
  -
  -            String value = getInitParameter("log-append");
  -            boolean logAppend = (value == null || 
value.equalsIgnoreCase("yes") || value.equalsIgnoreCase("true"));
  -
  -            final String path = logDir + logName;
  -            Formatter formatter;
  -            if (logFormat == null || logFormat.equalsIgnoreCase("xml") == 
false) {
  -                final CocoonLogFormatter cf = new CocoonLogFormatter();
  -                cf.setFormat( "%7.7{priority} %{time}   [%8.8{category}] " +
  -                                 "(%{uri}) %{thread}/%{class:short}: 
%{message}\\n%{throwable}" );
  -                formatter = cf;
  -            } else {
  -                final XMLCocoonLogFormatter cf = new XMLCocoonLogFormatter();
  -                cf.setTypes("priority time category uri thread class message 
throwable");
  -                formatter = cf;
  +        try {
  +            final String logkitConfig = getInitParameter("logkit-config");
  +            
  +            //Configure the logkit management
  +            if (logkitConfig != null) {
  +                final FileInputStream fis = new 
FileInputStream(this.servletContext.getRealPath("/") + logkitConfig);
  +                final DefaultConfigurationBuilder builder = new 
DefaultConfigurationBuilder();
  +                final Configuration conf = builder.build(fis);
  +                final DefaultLogKitManager logKitManager = new 
DefaultLogKitManager();
  +                logKitManager.setLogger(logger);
  +                final DefaultContext subcontext = new 
DefaultContext(this.appContext);
  +                subcontext.put("servlet-context", this.servletContext);
  +                subcontext.put("context-root", 
this.servletContext.getRealPath("/"));
  +                logKitManager.contextualize(subcontext);
  +                logKitManager.configure(conf);
  +                this.logKitManager = logKitManager;
  +                final String cocoonLogger = 
getInitParameter("servlet-logger");
  +                if (cocoonLogger != null) {
  +                    this.log = logKitManager.getLogger(cocoonLogger);
  +                } else {
  +                    this.log = logKitManager.getLogger("cocoon");
  +                }
               }
  -            this.log = 
Hierarchy.getDefaultHierarchy().getLoggerFor("cocoon");
  -            this.log.setPriority(logPriority);
  -
  -            FileTarget fileTarget = new FileTarget(new File(path), 
logAppend, formatter);
  -            ServletOutputLogTarget servTarget = new 
ServletOutputLogTarget(this.servletContext);
  -
  -            servTarget.setFormatter(formatter);
  -
  -            PriorityFilter filter = new PriorityFilter(Priority.ERROR);
  -            filter.addTarget( servTarget );
  -            LogTarget[] targets = new LogTarget[] { fileTarget, filter };
  -            this.log.setLogTargets( targets );
  -
  -            if (logAppend)
  -                this.log.info("Appending to previous log file, if existing");
  -
           } catch (Exception e) {
               Hierarchy.getDefaultHierarchy().log("Could not set up Cocoon 
Logger, will use screen instead", e);
           }
  @@ -446,8 +429,7 @@
                   try {
                       log.debug("Trying to load class: " + fqcn);
                       ClassUtils.loadClass(fqcn).newInstance();
  -                } catch (Exception e) {
  -                    log.warn("Could not force-load class: " + fqcn, e);
  +                } catch (Exception e) {                    log.warn("Could 
not force-load class: " + fqcn, e);
                       // Do not throw an exception, because it is not a fatal 
error.
                   }
               }
  @@ -681,8 +663,14 @@
               URL configFile = (URL) 
this.appContext.get(Constants.CONTEXT_CONFIG_URL);
               log.info("Reloading from: " + configFile.toExternalForm());
               Cocoon c = (Cocoon) 
ClassUtils.newInstance("org.apache.cocoon.Cocoon");
  +            final String rootlogger = getInitParameter("cocoon-logger");
  +            if (rootlogger != null) {
  +                c.setLogger(this.logKitManager.getLogger(rootlogger));
  +            } else {
  +                c.setLogger(log);
  +            }
               c.contextualize(this.appContext);
  -            c.setLogger(this.log);
  +            c.setLogKitManager(this.logKitManager);
               c.initialize();
               this.creationTime = new Date().getTime();
   
  
  
  
  1.17      +12 -1     
xml-cocoon2/src/org/apache/cocoon/sitemap/AbstractSitemap.java
  
  Index: AbstractSitemap.java
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon2/src/org/apache/cocoon/sitemap/AbstractSitemap.java,v
  retrieving revision 1.16
  retrieving revision 1.17
  diff -u -r1.16 -r1.17
  --- AbstractSitemap.java      2001/08/20 13:55:17     1.16
  +++ AbstractSitemap.java      2001/08/30 19:15:43     1.17
  @@ -10,6 +10,7 @@
   
   import org.apache.avalon.excalibur.component.ExcaliburComponentManager;
   import org.apache.avalon.excalibur.component.RoleManager;
  +import org.apache.avalon.excalibur.logger.LogKitManager;
   import org.apache.avalon.framework.activity.Disposable;
   import org.apache.avalon.framework.component.Component;
   import org.apache.avalon.framework.component.ComponentException;
  @@ -46,12 +47,13 @@
    * Base class for generated <code>Sitemap</code> classes
    *
    * @author <a href="mailto:[EMAIL PROTECTED]">Giacomo Pati</a>
  - * @version CVS $Revision: 1.16 $ $Date: 2001/08/20 13:55:17 $
  + * @version CVS $Revision: 1.17 $ $Date: 2001/08/30 19:15:43 $
    */
   public abstract class AbstractSitemap extends AbstractLoggable implements 
Sitemap, Disposable, ThreadSafe {
       private Context context;
       private static final int BYTE_ARRAY_SIZE = 1024;
       private static RoleManager roleManager;
  +    private static LogKitManager logKitManager;
       private static Configuration defaultConfig;
   
       /** The component manager instance */
  @@ -82,6 +84,13 @@
       }
   
       /**
  +     * Set the logkit manager
  +     */
  +    public static void setLogKitManager(LogKitManager logkit) {
  +        AbstractSitemap.logKitManager = logkit;
  +    }
  +
  +    /**
        * Set the current <code>ComponentManager</code> instance used by this
        * <code>Composable</code>.
        */
  @@ -90,6 +99,7 @@
           this.manager.setLogger(getLogger());
           this.manager.contextualize(this.context);
           this.manager.setRoleManager(AbstractSitemap.roleManager);
  +        this.manager.setLogKitManager(AbstractSitemap.logKitManager);
   
           try {
               if (AbstractSitemap.defaultConfig != null) {
  @@ -150,6 +160,7 @@
           selector.setLogger(getLogger());
           selector.contextualize(this.context);
           selector.setRoleManager(AbstractSitemap.roleManager);
  +        selector.setLogKitManager(AbstractSitemap.logKitManager);
           selector.compose(this.manager);
       }
   
  
  
  
  1.13      +17 -8     xml-cocoon2/src/org/apache/cocoon/sitemap/Manager.java
  
  Index: Manager.java
  ===================================================================
  RCS file: /home/cvs/xml-cocoon2/src/org/apache/cocoon/sitemap/Manager.java,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- Manager.java      2001/08/28 16:51:38     1.12
  +++ Manager.java      2001/08/30 19:15:43     1.13
  @@ -9,6 +9,8 @@
   package org.apache.cocoon.sitemap;
   
   import org.apache.avalon.excalibur.component.RoleManager;
  +import org.apache.avalon.excalibur.logger.LogKitManageable;
  +import org.apache.avalon.excalibur.logger.LogKitManager;
   import org.apache.avalon.framework.component.Component;
   import org.apache.avalon.framework.component.ComponentManager;
   import org.apache.avalon.framework.component.Composable;
  @@ -34,9 +36,11 @@
    * checking regeneration of the sub <code>Sitemap</code>
    *
    * @author <a href="mailto:[EMAIL PROTECTED]">Giacomo Pati</a>
  - * @version CVS $Revision: 1.12 $ $Date: 2001/08/28 16:51:38 $
  + * @version CVS $Revision: 1.13 $ $Date: 2001/08/30 19:15:43 $
    */
  -public class Manager extends AbstractLoggable implements Component, 
Configurable, Composable, Contextualizable, ThreadSafe {
  +public class Manager 
  +        extends AbstractLoggable 
  +        implements Component, Configurable, Composable, Contextualizable, 
ThreadSafe, LogKitManageable {
       private Context context;
   
       /** The vectors of sub sitemaps */
  @@ -51,9 +55,10 @@
       /** The sitemap role manager */
       private RoleManager sitemapRoles;
   
  -    /** The log file path */
  -    private String logFilePath;
  +    /** The sitemap logkit manager */
  +    private LogKitManager sitemapLogKitManager;
   
  +
       /**
        * Set the role manager
        */
  @@ -61,6 +66,13 @@
           this.sitemapRoles = roles;
       }
   
  +    /**
  +     * Set the logkit manager
  +     */
  +    public void setLogKitManager(LogKitManager logkit) {
  +        this.sitemapLogKitManager = logkit;
  +    }
  +
       /** get a configuration
        * @param conf the configuration
        */
  @@ -73,9 +85,6 @@
        */
       public void contextualize(Context context) throws ContextException {
           this.context = context;
  -        String logDir = (String) 
context.get(org.apache.cocoon.Constants.CONTEXT_LOG_DIR);
  -        String logFile = (String) 
context.get(org.apache.cocoon.Constants.CONTEXT_LOG_FILE);
  -        logFilePath = logDir + logFile;
       }
   
       /** get a component manager
  @@ -206,7 +215,7 @@
           String source) throws Exception {
               if (!sitemapHandler.available()) {
                   throw new ProcessingException("The sitemap handler's sitemap 
is not available. " +
  -                    "Please check "+ logFilePath +" for the exact error.",
  +                    "Please check logs for the exact error.",
                       sitemapHandler.getException());
               }
       }
  
  
  
  1.2       +3 -3      
xml-cocoon2/src/org/apache/cocoon/xml/NamespacesTable.java
  
  Index: NamespacesTable.java
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon2/src/org/apache/cocoon/xml/NamespacesTable.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- NamespacesTable.java      2001/05/09 20:49:30     1.1
  +++ NamespacesTable.java      2001/08/30 19:15:43     1.2
  @@ -16,7 +16,7 @@
    *
    * @author <a href="mailto:[EMAIL PROTECTED]">Pierpaolo Fumagalli</a>
    *         (Apache Software Foundation, Exoffice Technologies)
  - * @version CVS $Revision: 1.1 $ $Date: 2001/05/09 20:49:30 $
  + * @version CVS $Revision: 1.2 $ $Date: 2001/08/30 19:15:43 $
    */
   public class NamespacesTable {
       /** The initial namespace declaration. */
  @@ -284,7 +284,7 @@
        * A namespace-aware name. (This interface is used in conjunction
        * with <code>NamespacesTable</code>).
        */
  -    public static interface Name {
  +    public interface Name {
           /** Return the namespace URI. */
           String getUri();
           /** Return the namespace prefix. */
  @@ -299,7 +299,7 @@
        * A namespace declaration. (This interface is used in conjunction
        * with <code>NamespacesTable</code>).
        */
  -    public static interface Declaration {
  +    public interface Declaration {
           /** Return the namespace URI. */
           String getUri();
           /** Return the namespace prefix. */
  
  
  
  1.4       +2 -2      xml-cocoon2/src/org/apache/cocoon/xml/dom/DOMBuilder.java
  
  Index: DOMBuilder.java
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon2/src/org/apache/cocoon/xml/dom/DOMBuilder.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- DOMBuilder.java   2001/08/20 13:55:19     1.3
  +++ DOMBuilder.java   2001/08/30 19:15:43     1.4
  @@ -33,7 +33,7 @@
    *
    * @author <a href="mailto:[EMAIL PROTECTED]">Pierpaolo Fumagalli</a>
    *         (Apache Software Foundation, Exoffice Technologies)
  - * @version CVS $Revision: 1.3 $ $Date: 2001/08/20 13:55:19 $
  + * @version CVS $Revision: 1.4 $ $Date: 2001/08/30 19:15:43 $
    */
   public class DOMBuilder implements XMLConsumer, Loggable {
       protected Logger log;
  @@ -584,7 +584,7 @@
        * The Listener interface must be implemented by those objects willing to
        * be notified of a successful DOM tree generation.
        */
  -    public static interface Listener {
  +    public interface Listener {
   
           /**
            * Receive notification of a successfully completed DOM tree 
generation.
  
  
  
  1.30      +4 -4      xml-cocoon2/webapp/cocoon.xconf
  
  Index: cocoon.xconf
  ===================================================================
  RCS file: /home/cvs/xml-cocoon2/webapp/cocoon.xconf,v
  retrieving revision 1.29
  retrieving revision 1.30
  diff -u -r1.29 -r1.30
  --- cocoon.xconf      2001/08/25 19:40:33     1.29
  +++ cocoon.xconf      2001/08/30 19:15:44     1.30
  @@ -32,7 +32,7 @@
                          (1 is the lowest priority and 10 is the highest).
          filesystem: Turns the filesystem storage for objects on or off.
     -->
  -  <store class="org.apache.cocoon.components.store.MRUMemoryStore">
  +  <store class="org.apache.cocoon.components.store.MRUMemoryStore" 
logger="root.store">
        <parameter name="freememory" value="1000000"/>
        <parameter name="heapsize" value="60000000"/>
        <parameter name="cleanupthreadinterval" value="10"/>
  @@ -42,7 +42,7 @@
        <parameter name="filesystem" value="true"/>
     </store>
   
  -  <xslt-processor 
class="org.apache.cocoon.components.xslt.XSLTProcessorImpl">
  +  <xslt-processor 
class="org.apache.cocoon.components.xslt.XSLTProcessorImpl" logger="root.xslt">
        <parameter name="use-store" value="true"/>
     </xslt-processor>
   
  @@ -261,7 +261,7 @@
                          (1 is the lowest priority and 10 is the highest).
          filesystem: Turns the filesystem storage for objects on or off.
     -->
  -  <stream-cache class="org.apache.cocoon.components.store.MRUMemoryStore">
  +  <stream-cache class="org.apache.cocoon.components.store.MRUMemoryStore" 
logger="root.store">
        <parameter name="freememory" value="1000000"/>
        <parameter name="heapsize" value="60000000"/>
        <parameter name="cleanupthreadinterval" value="10"/>
  @@ -296,7 +296,7 @@
                          (1 is the lowest priority and 10 is the highest).
          filesystem: Turns the filesystem storage for objects on or off.
     -->
  -  <event-cache class="org.apache.cocoon.components.store.MRUMemoryStore">
  +  <event-cache class="org.apache.cocoon.components.store.MRUMemoryStore" 
logger="root.store">
        <parameter name="freememory" value="1000000"/>
        <parameter name="heapsize" value="60000000"/>
        <parameter name="cleanupthreadinterval" value="10"/>
  
  
  
  1.11      +28 -43    xml-cocoon2/webapp/WEB-INF/web.xml
  
  Index: web.xml
  ===================================================================
  RCS file: /home/cvs/xml-cocoon2/webapp/WEB-INF/web.xml,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- web.xml   2001/08/18 18:15:37     1.10
  +++ web.xml   2001/08/30 19:15:44     1.11
  @@ -49,64 +49,49 @@
       </init-param>
   
       <!--
  -      This parameter indicates the log level to use throughout the system
  -
  -      Available levels are:
  -        DEBUG:        prints all level of log messages.
  -        INFO:         prints all level of log messages except DEBUG ones.
  -        WARN:         prints all level of log messages except DEBUG and INFO 
ones.
  -        ERROR:        prints all level of log messages except DEBUG, INFO 
and WARN ones.
  -        FATAL-ERROR: prints only log messages of this level
  +      This parameter indicates the configuration file of the LogKit 
management
       -->
       <init-param>
  -      <param-name>log-level</param-name>
  -      <param-value>DEBUG</param-value>
  +      <param-name>logkit-config</param-name>
  +      <param-value>/WEB-INF/logkit.xconf</param-value>
       </init-param>
   
       <!--
  -      This parameter indicates the directory where Cocoon should put the log 
file.
  -      Note that this path must be specified as an absolute path into your 
filesystem
  -      and it is not rooted at the servlets context path. Also note that the 
path 
  -      must end with a file separator character.
  -      The default location is in the servlets context root at /WEB-INF/logs/.
  -
  +      This parameter indicates the category id of the logger from the LogKit 
  +      configuration used by the CocoonServlet. 
  +    -->
       <init-param>
  -      <param-name>log-dir</param-name>
  -      <param-value>/WEB-INF/logs</param-value>
  +      <param-name>servlet-logger</param-name>
  +      <param-value>root</param-value>
       </init-param>
  -    -->
   
       <!--
  -      This parameter specifies the name of the log file to use. It will be 
created in 
  -      the log-dir mentioned above.
  -      The default name is "cocoon.log".
  -
  -    <init-param>
  -      <param-name>log-name</param-name>
  -      <param-value>cocoon.log</param-value>
  -    </init-param>
  +      This parameter indicates the category id of the logger from the LogKit
  +      management configuration for the Cocoon engine.
  +      This logger is used for all components described in the cocoon.xconf 
  +      and sitemap.xmap file not having specified a logger with the 
  +      logger="..." attribute in the component configuration file.
       -->
  -  
  -    <!-- 
  -      This parameter specifies the format of the log. You can choose between 
xml
  -      and text, default is text.
  -
       <init-param>
  -      <param-name>log-format</param-name>
  -      <param-value>xml</param-value>
  +      <param-name>cocoon-logger</param-name>
  +      <param-value>cocoon</param-value>
       </init-param>
  -    -->
  -  
  -    <!-- 
  -      This boolean value parameter specifies whether the cocoon log file
  -      should be appended to or not.
   
  +    <!--
  +      This parameter indicates the log level to use throughout startup of 
the system
  + 
  +      Available levels are:
  +        DEBUG:        prints all level of log messages.
  +        INFO:         prints all level of log messages except DEBUG ones.
  +        WARN:         prints all level of log messages except DEBUG and INFO 
ones.
  +        ERROR:        prints all level of log messages except DEBUG, INFO 
and WARN ones.
  +        FATAL-ERROR: prints only log messages of this level
  +    -->
       <init-param>
  -      <param-name>log-append</param-name>
  -      <param-value>true</param-value>
  +      <param-name>log-level</param-name>
  +      <param-value>DEBUG</param-value>
       </init-param>
  -    -->
  -  
  +
       <!-- 
         Allow reinstantiating (reloading) of the cocoon instance. If this is
         set to "yes" or "true", a new cocoon instance can be created using
  
  
  
  1.2       +346 -520  xml-cocoon2/lib/junit.jar
  
        <<Binary file>>
  
  
  1.1                  xml-cocoon2/lib/avalon-excalibur-dev.jar
  
        <<Binary file>>
  
  
  1.1                  xml-cocoon2/lib/logkit-1.0b4-dev.jar
  
        <<Binary file>>
  
  

----------------------------------------------------------------------
In case of troubles, e-mail:     [EMAIL PROTECTED]
To unsubscribe, e-mail:          [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to