--- org/apache/catalina/loader/WebappLoader.java	2021-01-01 00:00:00.000000000 +0000
+++ org/apache/catalina/loader/WebappLoader.java.new	2021-01-01 00:00:00.000000000 +0000
@@ -34,6 +34,7 @@
 import org.apache.catalina.LifecycleException;
 import org.apache.catalina.LifecycleState;
 import org.apache.catalina.Loader;
+import org.apache.catalina.TomcatControllerHandler;
 import org.apache.catalina.util.LifecycleMBeanBase;
 import org.apache.catalina.util.ToStringUtil;
 import org.apache.juli.logging.Log;
@@ -508,7 +509,7 @@
             parentClassLoader = context.getParentClassLoader();
         }
         Class<?>[] argTypes = { ClassLoader.class };
-        Object[] args = { parentClassLoader };
+        Object[] args = { TomcatControllerHandler.getTomcatController().createSharedLoader(parentClassLoader, delegate) };
         Constructor<?> constr = clazz.getConstructor(argTypes);
         classLoader = (WebappClassLoaderBase) constr.newInstance(args);
 
@@ -625,8 +626,9 @@
             }
             return false;
         } else {
+            String name = loader.getClass().getName();
             // Ignore Graal "unknown" classloader
-            if (!JreCompat.isGraalAvailable()) {
+            if (!JreCompat.isGraalAvailable() && !"fr.gaellalire.vestige.core.VestigeClassLoader".equals(name) && !"org.apache.tomcat.vestige.launcher.DelegateClassLoader".equals(name)) {
                 log.info(sm.getString("webappLoader.unknownClassLoader", loader, loader.getClass()));
             }
             return false;
