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_*" />