Handle case where we don't have permission to read context specific configuration.
authormarkt <markt@13f79535-47bb-0310-9956-ffa450edef68>
Wed, 9 Apr 2008 21:19:02 +0000 (21:19 +0000)
committermarkt <markt@13f79535-47bb-0310-9956-ffa450edef68>
Wed, 9 Apr 2008 21:19:02 +0000 (21:19 +0000)
git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@646543 13f79535-47bb-0310-9956-ffa450edef68

java/org/apache/juli/ClassLoaderLogManager.java

index f5bcc16..7b8ef3e 100644 (file)
@@ -22,6 +22,7 @@ import java.io.FileInputStream;
 import java.io.IOException;
 import java.io.InputStream;
 import java.net.URLClassLoader;
+import java.security.AccessControlException;
 import java.security.AccessController;
 import java.security.PrivilegedAction;
 import java.util.Collections;
@@ -296,9 +297,14 @@ public class ClassLoaderLogManager extends LogManager {
         InputStream is = null;
         // Special case for URL classloaders which are used in containers: 
         // only look in the local repositories to avoid redefining loggers 20 times
-        if ((classLoader instanceof URLClassLoader) 
-                && (((URLClassLoader) classLoader).findResource("logging.properties") != null)) {
-            is = classLoader.getResourceAsStream("logging.properties");
+        try {
+            if ((classLoader instanceof URLClassLoader) 
+                    && (((URLClassLoader) classLoader).findResource("logging.properties") != null)) {
+                is = classLoader.getResourceAsStream("logging.properties");
+            }
+        } catch (AccessControlException ace) {
+            // No permission to configure logging in context
+            // Ignore and carry on
         }
         if ((is == null) && (classLoader == ClassLoader.getSystemClassLoader())) {
             String configFileStr = System.getProperty("java.util.logging.config.file");