Hi there,

Working on my JULI-to-SLF4J bridge library (see 
<https://github.com/bgandon/juli-to-slf4>),
I have identified a small and invisible issue in the jar packaging of 
tomcat-juli-adapters in the extras.

Indeed, the LogFactoryImpl is shipped with the adapters, but it is not supposed 
to.
1. Because it is already shipped with the tomcat-juli jar.
2. Because the ${files.tomcat-extras-juli-adapters} in build.xml specifies an 
exclusion on it.

But the exclusion is ineffective because it lacks a star at the end.

The issue is invisible because of class loading delegation. Children class 
loaders accessing the adapters favor delegation to the System loader.
So the LogFactoryImpl from tomcat-juli (System classpath) always masks the one 
erroneously shipped with tomcat-juli-adapters (Catalina classpath).

I would be happy to submit a PR on github for this, I mean at 
<https://github.com/apache/tomcat80/pulls>,
but it just looks like it’s not the way you guys are working. :)

Do you need a BZ issue for this?
Or could someone just commit the fix for me please? I include the diff below.

Cheers,
/Benjamin




diff --git a/build.xml b/build.xml
index 4f69f33..492d248 100644
--- a/build.xml
+++ b/build.xml
@@ -484,7 +484,7 @@
   <patternset id="files.tomcat-extras-juli-adapters">
     <include name="org/apache/juli/logging/impl/**" />
     <exclude name="org/apache/juli/logging/impl/WeakHashtable*" />
-    <exclude name="org/apache/juli/logging/impl/LogFactoryImpl" />
+    <exclude name="org/apache/juli/logging/impl/LogFactoryImpl*" />
     <!-- Javadoc and i18n exclusions -->
     <exclude name="**/package.html" />
     <exclude name="**/LocalStrings_*" />

Reply via email to