- Comment out storeconfig for now.
authorremm <remm@13f79535-47bb-0310-9956-ffa450edef68>
Thu, 13 Jul 2006 14:00:17 +0000 (14:00 +0000)
committerremm <remm@13f79535-47bb-0310-9956-ffa450edef68>
Thu, 13 Jul 2006 14:00:17 +0000 (14:00 +0000)
- Port patch.
- Add logging.properties.

git-svn-id: https://svn.apache.org/repos/asf/tomcat/tc6.0.x/trunk@421634 13f79535-47bb-0310-9956-ffa450edef68

conf/logging.properties [new file with mode: 0644]
conf/server.xml
java/org/apache/catalina/core/StandardContext.java
java/org/apache/catalina/core/mbeans-descriptors.xml
java/org/apache/catalina/startup/ContextConfig.java

diff --git a/conf/logging.properties b/conf/logging.properties
new file mode 100644 (file)
index 0000000..c00e5d3
--- /dev/null
@@ -0,0 +1,56 @@
+handlers = 1catalina.org.apache.juli.FileHandler, 2localhost.org.apache.juli.FileHandler, 3manager.org.apache.juli.FileHandler, 4admin.org.apache.juli.FileHandler, 5host-manager.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.
+
+5host-manager.org.apache.juli.FileHandler.level = FINE
+5host-manager.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
+5host-manager.org.apache.juli.FileHandler.prefix = host-manager.
+
+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
+
+org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager].level = INFO
+org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager].handlers = 5host-manager.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
+#org.apache.catalina.core.AprLifecycleListener.level=FINE
index c7eaf8b..424bd78 100644 (file)
@@ -17,7 +17,7 @@
   <Listener className="org.apache.catalina.core.AprLifecycleListener" />
   <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" />
   <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
-  <Listener className="org.apache.catalina.storeconfig.StoreConfigLifecycleListener"/>
+  <!--<Listener className="org.apache.catalina.storeconfig.StoreConfigLifecycleListener"/>-->
 
   <!-- Global JNDI resources -->
   <GlobalNamingResources>
index b71fa12..151ca9e 100644 (file)
@@ -261,7 +261,7 @@ public class StandardContext
     /**\r
      * The ServletContext implementation associated with this Context.\r
      */\r
-    private transient ApplicationContext context = null;\r
+    protected transient ApplicationContext context = null;\r
 \r
 \r
     /**\r
@@ -450,6 +450,12 @@ public class StandardContext
 \r
 \r
     /**\r
+     * The original document root for this web application.\r
+     */\r
+    private String originalDocBase = null;\r
+    \r
+    \r
+    /**\r
      * The privileged flag for this web application.\r
      */\r
     private boolean privileged = false;\r
@@ -1494,6 +1500,28 @@ public class StandardContext
 \r
 \r
     /**\r
+     * Return the original document root for this Context.  This can be an absolute\r
+     * pathname, a relative pathname, or a URL.\r
+     * Is only set as deployment has change docRoot!\r
+     */\r
+    public String getOriginalDocBase() {\r
+\r
+        return (this.originalDocBase);\r
+\r
+    }\r
+\r
+    /**\r
+     * Set the original document root for this Context.  This can be an absolute\r
+     * pathname, a relative pathname, or a URL.\r
+     *\r
+     * @param docBase The orginal document root\r
+     */\r
+    public void setOriginalDocBase(String docBase) {\r
+\r
+        this.originalDocBase = docBase;\r
+    }\r
+    \r
+    /**\r
      * Return the privileged flag for this web application.\r
      */\r
     public boolean getPrivileged() {\r
@@ -4685,7 +4713,7 @@ public class StandardContext
     /**\r
      * Get base path.\r
      */\r
-    private String getBasePath() {\r
+    protected String getBasePath() {\r
         String docBase = null;\r
         Container container = this;\r
         while (container != null) {\r
@@ -4715,7 +4743,7 @@ public class StandardContext
     /**\r
      * Get app base.\r
      */\r
-    private String getAppBase() {\r
+    protected String getAppBase() {\r
         String appBase = null;\r
         Container container = this;\r
         while (container != null) {\r
index bc0f6b9..0bbfee9 100644 (file)
                description="Name of the object"\r
                type="java.lang.String"/>\r
       \r
+    <attribute name="originalDocBase"\r
+               description="The original document root for this web application"\r
+               type="java.lang.String"/>\r
+\r
     <attribute name="override"\r
                description="The DefaultContext override flag for this web application"\r
                type="boolean"/>\r
index c43fc89..0c71c22 100644 (file)
@@ -875,7 +875,8 @@ public class ContextConfig
             docBase = file.getCanonicalPath();\r
         }\r
         file = new File(docBase);\r
-\r
+        String origDocBase = docBase;\r
+        \r
         if (docBase.toLowerCase().endsWith(".war") && !file.isDirectory() && unpackWARs) {\r
             URL war = new URL("jar:" + (new File(docBase)).toURL() + "!/");\r
             String contextPath = context.getPath();\r
@@ -885,6 +886,9 @@ public class ContextConfig
             docBase = ExpandWar.expand(host, war, contextPath);\r
             file = new File(docBase);\r
             docBase = file.getCanonicalPath();\r
+            if (context instanceof StandardContext) {\r
+                ((StandardContext) context).setOriginalDocBase(origDocBase);\r
+            }\r
         } else {\r
             File docDir = new File(docBase);\r
             if (!docDir.exists()) {\r
@@ -899,6 +903,9 @@ public class ContextConfig
                         docBase = warFile.getCanonicalPath();\r
                     }\r
                 }\r
+                if (context instanceof StandardContext) {\r
+                    ((StandardContext) context).setOriginalDocBase(origDocBase);\r
+                }\r
             }\r
         }\r
 \r