Author: cziegeler
Date: Sun Mar 20 11:39:31 2005
New Revision: 158345

URL: http://svn.apache.org/viewcvs?view=rev&rev=158345
Log:
Add logging code

Modified:
    cocoon/trunk/src/core/java/org/apache/cocoon/core/Core.java
    cocoon/trunk/src/core/java/org/apache/cocoon/core/CoreUtil.java
    cocoon/trunk/src/java/org/apache/cocoon/servlet/CocoonServlet.java

Modified: cocoon/trunk/src/core/java/org/apache/cocoon/core/Core.java
URL: 
http://svn.apache.org/viewcvs/cocoon/trunk/src/core/java/org/apache/cocoon/core/Core.java?view=diff&r1=158344&r2=158345
==============================================================================
--- cocoon/trunk/src/core/java/org/apache/cocoon/core/Core.java (original)
+++ cocoon/trunk/src/core/java/org/apache/cocoon/core/Core.java Sun Mar 20 
11:39:31 2005
@@ -29,8 +29,10 @@
 import org.apache.avalon.framework.context.Context;
 import org.apache.avalon.framework.context.ContextException;
 import org.apache.avalon.framework.context.Contextualizable;
+import org.apache.avalon.framework.context.DefaultContext;
 import org.apache.cocoon.Constants;
 import org.apache.cocoon.configuration.Settings;
+import org.apache.log.LogTarget;
 
 /**
  * This is the core Cocoon component.
@@ -228,12 +230,15 @@
         InputStream getInputStream(String path);
         
         void configure(Settings settings);
-        
+        void configureLoggingContext(DefaultContext context);
+
         ClassLoader getInitClassLoader();
 
         org.apache.cocoon.environment.Context getEnvironmentContext();
         
         String getContextPath();
+        
+        LogTarget getDefaultLogTarget();
     }
     
 }

Modified: cocoon/trunk/src/core/java/org/apache/cocoon/core/CoreUtil.java
URL: 
http://svn.apache.org/viewcvs/cocoon/trunk/src/core/java/org/apache/cocoon/core/CoreUtil.java?view=diff&r1=158344&r2=158345
==============================================================================
--- cocoon/trunk/src/core/java/org/apache/cocoon/core/CoreUtil.java (original)
+++ cocoon/trunk/src/core/java/org/apache/cocoon/core/CoreUtil.java Sun Mar 20 
11:39:31 2005
@@ -20,6 +20,7 @@
 import java.lang.reflect.Constructor;
 import java.net.MalformedURLException;
 
+import org.apache.avalon.excalibur.logger.LoggerManager;
 import org.apache.avalon.framework.container.ContainerUtil;
 import org.apache.avalon.framework.context.DefaultContext;
 import org.apache.avalon.framework.logger.Logger;
@@ -45,6 +46,9 @@
     /** The settings */
     protected final Settings settings;
 
+    private Logger log;
+    private LoggerManager loggerManager;
+
     public CoreUtil(Core.BootstrapEnvironment e) 
     throws Exception {
         this.env = e;
@@ -142,16 +146,25 @@
             // we simply ignore this
         //}
 
-        // TODO create logger
-        final Logger logger = null;
+        // Init logger
+        initLogger();
+        if (this.log.isDebugEnabled()) {
+            this.log.debug(this.settings.toString());
+            this.log.debug("getRealPath for /: " + this.env.getContextPath());
+            if ( this.env.getContextPath() == null ) {                
+                this.log.debug("getResource for /WEB-INF: " + debugPathOne);
+                this.log.debug("Path for Root: " + debugPathTwo);
+            }
+        }
+
 
         // Output some debug info
-        if (logger.isDebugEnabled()) {
-            logger.debug("Context URL: " + contextURL);
+        if (this.log.isDebugEnabled()) {
+            this.log.debug("Context URL: " + contextURL);
             if (workDirParam != null) {
-                logger.debug("Using work-directory " + workDir);
+                this.log.debug("Using work-directory " + workDir);
             } else {
-                logger.debug("Using default work-directory " + workDir);
+                this.log.debug("Using default work-directory " + workDir);
             }
         }
 
@@ -171,13 +184,13 @@
                     uploadDir = new File(env.getContextPath(), uploadDirParam);
                 }
             }
-            if (logger.isDebugEnabled()) {
-                logger.debug("Using upload-directory " + uploadDir);
+            if (this.log.isDebugEnabled()) {
+                this.log.debug("Using upload-directory " + uploadDir);
             }
         } else {
             uploadDir = new File(workDir, "upload-dir" + File.separator);
-            if (logger.isDebugEnabled()) {
-                logger.debug("Using default upload-directory " + uploadDir);
+            if (this.log.isDebugEnabled()) {
+                this.log.debug("Using default upload-directory " + uploadDir);
             }
         }
         uploadDir.mkdirs();
@@ -200,8 +213,8 @@
                     cacheDir = new File(env.getContextPath(), cacheDirParam);
                 }
             }
-            if (logger.isDebugEnabled()) {
-                logger.debug("Using cache-directory " + cacheDir);
+            if (this.log.isDebugEnabled()) {
+                this.log.debug("Using cache-directory " + cacheDir);
             }
         } else {
             cacheDir = new File(workDir, "cache-dir" + File.separator);
@@ -209,8 +222,8 @@
             if (parent != null) {
                 parent.mkdirs();
             }
-            if (logger.isDebugEnabled()) {
-                logger.debug("cache-directory was not set - defaulting to " + 
cacheDir);
+            if (this.log.isDebugEnabled()) {
+                this.log.debug("cache-directory was not set - defaulting to " 
+ cacheDir);
             }
         }
         cacheDir.mkdirs();
@@ -262,6 +275,24 @@
             }
         }
         return parentServiceManager;
+    }
+
+    protected void initLogger() {
+        final DefaultContext subcontext = new DefaultContext(this.appContext);
+        subcontext.put("context-work", new 
File(this.settings.getWorkDirectory()));
+        if (this.env.getContextPath() == null) {
+            File logSCDir = new File(this.settings.getWorkDirectory(), "log");
+            logSCDir.mkdirs();
+            subcontext.put("context-root", logSCDir.toString());
+        } else {
+            subcontext.put("context-root", this.env.getContextPath());
+        }
+        this.env.configureLoggingContext(subcontext);
+
+        // FIXME - we can move the logginghelper code into this class
+        //LoggingHelper lh = new LoggingHelper(this.settings, 
this.env.getDefaultLogTarget(), subcontext);
+        //this.loggerManager = lh.getLoggerManager();
+        //this.log = lh.getLogger();
     }
 
     public static final class RootServiceManager implements ServiceManager {

Modified: cocoon/trunk/src/java/org/apache/cocoon/servlet/CocoonServlet.java
URL: 
http://svn.apache.org/viewcvs/cocoon/trunk/src/java/org/apache/cocoon/servlet/CocoonServlet.java?view=diff&r1=158344&r2=158345
==============================================================================
--- cocoon/trunk/src/java/org/apache/cocoon/servlet/CocoonServlet.java 
(original)
+++ cocoon/trunk/src/java/org/apache/cocoon/servlet/CocoonServlet.java Sun Mar 
20 11:39:31 2005
@@ -71,6 +71,7 @@
 import org.apache.cocoon.util.log.CocoonLogFormatter;
 import org.apache.commons.lang.SystemUtils;
 import org.apache.log.ContextMap;
+import org.apache.log.LogTarget;
 import org.apache.log.output.ServletOutputLogTarget;
 
 /**
@@ -116,7 +117,7 @@
     protected Cocoon cocoon;
 
     /**
-     * Holds exception happened during initialization (if any)
+     * Holds exception happened during iialization (if any)
      */
     protected Exception exception;
 
@@ -1362,6 +1363,25 @@
          */
         public String getContextPath() {
             return this.contextPath;
+        }
+        
+        
+        /**
+         * @see 
org.apache.cocoon.core.Core.BootstrapEnvironment#getDefaultLogTarget()
+         */
+        public LogTarget getDefaultLogTarget() {
+            final CocoonLogFormatter formatter = new CocoonLogFormatter();
+            formatter.setFormat("%7.7{priority} %{time}   [%8.8{category}] " +
+                                "(%{uri}) %{thread}/%{class:short}: 
%{message}\\n%{throwable}");
+            return new ServletOutputLogTarget(this.config.getServletContext(), 
formatter);
+            
+        }
+
+        /**
+         * @see 
org.apache.cocoon.core.Core.BootstrapEnvironment#configureLoggingContext(org.apache.avalon.framework.context.DefaultContext)
+         */
+        public void configureLoggingContext(DefaultContext context) {
+            context.put("servlet-context", this.config.getServletContext());
         }
     }
 


Reply via email to