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()); } }