Hi there! I'm having a problem with an application (an app container) that manages different ClassLoaders for different apps that it has deployed. We built a custom ContextSelector that manages different contexts based on classloaders to isolate different configurations for many apps running in this container. One of these applications uses the builtin log4j Kafka plugin that has external dependencies. Because this plugin is loaded statically by PluginRegistry, it's using a different classloader and not the one that has the external dependency (the jar file with the Kafka client). The error we get is a ClassNotFoundException when the plugin is built (at method PluginBuilder.buld). One possible solution could be to override the plugin, for example by specifying the package in the log4j configuration of the application that needs it so that the plugin is loaded with the correct ClassLoader (I already made this with a patched log4j version, and the application works fine). This implies to change the precedence of the plugin lookup, according to the docs <https://logging.apache.org/log4j/2.x/manual/configuration.html>:
1. Serialized plugin listing files on the classpath. These files are generated automatically during the build (more details below). 2. (OSGi only) Serialized plugin listing files in each active OSGi bundle. A BundleListener is added on activation to continue checking new bundles after log4j-core has started. 3. A comma-separated list of packages specified by the log4j.plugin.packages system property. 4. Packages passed to the static PluginManager.addPackages method (before Log4j configuration occurs). 5. The packages declared in your log4j2 configuration file. In my case, I would need that #5 overrides #1. Another possibility could be to add some configuration in order to disable the eager loading of a specific builtin plugin and load it just when it is needed. Any ideas? Thanks in advance! -- <http://www.mulesoft.com/> *Sebastián Zaffarano*, *Software Engineering PMTS* Juana Manso 999 6th Floor, Buenos Aires, C1107CBS, Argentina <https://www.linkedin.com/company/www.mulesoft.com> <https://twitter.com/mulesoft> <https://www.facebook.com/MuleSoft> <https://www.youtube.com/user/mulesoftvids> [image: banner]