[ https://issues.apache.org/jira/browse/LOG4J2-1320?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Remko Popma reopened LOG4J2-1320: --------------------------------- Reopened because there seems to be some remaining work. > Custom plugins are not loaded, URL protocol vfs is not supported > ---------------------------------------------------------------- > > Key: LOG4J2-1320 > URL: https://issues.apache.org/jira/browse/LOG4J2-1320 > Project: Log4j 2 > Issue Type: Bug > Affects Versions: 2.5, 2.6.2 > Reporter: Paresh Varke > Assignee: Gary Gregory > Fix For: 2.7 > > Attachments: LOG4J2-1320-2.patch, LOG4J2-1320-3.patch, > LOG4J2-1320-testcase-cleanFoldersRule.patch, LOG4J2-1320.patch, > test-jee-plugins-logging-parent.zip > > > The URL protocol "vfs" from using a class loader is not supported; for > example within JBoss EAP 6.2 and Log4j2 version 2.5. The custom plugin > {{packages}} attribute fails to be resolve and plugin are not loaded for > following URLs: > {code} > vfs:/C:/jboss/jboss-eap-6.4/standalone/deployments/com.xxx.yyy.application-ear.ear/lib/com.xxx.yyy.logging.jar/com/xxx/yyy/logging/config/ > vfs:/C:/jboss/jboss-eap-6.4/standalone/deployments/test-log4j2-web-standalone.war/WEB-INF/classes/org/hypik/test/jboss/eap7/logging/config/ > vfs:/content/mycustomweb.war/WEB-INF/classes/org/hypik/test/jboss/log4j2/logging/pluginweb/ > vfs:/content/test-log4k2-ear.ear/lib/test-log4j2-jar-plugins.jar/org/hypik/test/jboss/log4j2/pluginjar/ > vfs:/content/myapp.ear/service-app.war/WEB-INF/classes/com/logging/appender/log4j2/ > {code} > Example of configuration: > {code:xml} > <Configuration status="INFO" name="MyConf" > packages="com.logging.appender.log4j2"> > {code} > It results following errors from {{StatusLogger}}: > {quote} > Could not search jar file > '/content/myapp.ear/service-app.war/WEB-INF/classes/com/logging/appender/log4j2' > for classes matching criteria: annotated with @Plugin file not found > java.io.FileNotFoundException: > /content/myapp.ear/service-app.war/WEB-INF/classes/com/logging/appender/log4j2 > (No such file or directory). > {quote} > And related logs: > {code} > 2016-03-10 07:08:41,909 INFO [stdout] (ServerService Thread Pool -- 275) > INFO Scanning for classes in > [/content/myapp.ear/service-app.war/WEB-INF/classes/com/logging/appender/log4j2/] > matching criteria: annotated with @Plugin > 2016-03-10 07:08:41,910 INFO [stdout] (ServerService Thread Pool -- 275) > 2016-03-10 07:08:41,909 ServerService Thread Pool -- 275 ERROR Could not > search jar file > '/content/myapp.ear/service-app.war/WEB-INF/classes/com/logging/appender/log4j2' > for classes matching criteria: annotated with @Plugin file not found > java.io.FileNotFoundException: > /content/myapp.ear/service-app.war/WEB-INF/classes/com/logging/appender/log4j2 > (No such file or directory) > 2016-03-10 07:08:41,910 INFO [stdout] (ServerService Thread Pool -- 275) > at java.io.FileInputStream.open(Native Method) > 2016-03-10 07:08:41,910 INFO [stdout] (ServerService Thread Pool -- 275) > at java.io.FileInputStream.<init>(FileInputStream.java:146) > 2016-03-10 07:08:41,910 INFO [stdout] (ServerService Thread Pool -- 275) > at > org.apache.logging.log4j.core.config.plugins.util.ResolverUtil.loadImplementationsInJar(ResolverUtil.java:310) > 2016-03-10 07:08:41,910 INFO [stdout] (ServerService Thread Pool -- 275) > at > org.apache.logging.log4j.core.config.plugins.util.ResolverUtil.findInPackage(ResolverUtil.java:206) > 2016-03-10 07:08:41,910 INFO [stdout] (ServerService Thread Pool -- 275) > at > org.apache.logging.log4j.core.config.plugins.util.PluginRegistry.loadFromPackage(PluginRegistry.java:222) > 2016-03-10 07:08:41,911 INFO [stdout] (ServerService Thread Pool -- 275) > at > org.apache.logging.log4j.core.config.plugins.util.PluginManager.collectPlugins(PluginManager.java:152) > 2016-03-10 07:08:41,911 INFO [stdout] (ServerService Thread Pool -- 275) > at > org.apache.logging.log4j.core.config.AbstractConfiguration.initialize(AbstractConfiguration.java:180) > 2016-03-10 07:08:41,911 INFO [stdout] (ServerService Thread Pool -- 275) > at > org.apache.logging.log4j.core.config.AbstractConfiguration.start(AbstractConfiguration.java:209) > 2016-03-10 07:08:41,911 INFO [stdout] (ServerService Thread Pool -- 275) > at > org.apache.logging.log4j.core.LoggerContext.setConfiguration(LoggerContext.java:492) > 2016-03-10 07:08:41,911 INFO [stdout] (ServerService Thread Pool -- 275) > at org.apache.logging.log4j.core.LoggerContext.start(LoggerContext.java:246) > 2016-03-10 07:08:41,911 INFO [stdout] (ServerService Thread Pool -- 275) > at > org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:232) > 2016-03-10 07:08:41,911 INFO [stdout] (ServerService Thread Pool -- 275) > at > org.apache.logging.log4j.core.config.Configurator.initialize(Configurator.java:140) > 2016-03-10 07:08:41,915 INFO [stdout] (ServerService Thread Pool -- 275) > at > org.apache.logging.log4j.web.Log4jWebInitializerImpl.initializeNonJndi(Log4jWebInitializerImpl.java:168) > 2016-03-10 07:08:41,915 INFO [stdout] (ServerService Thread Pool -- 275) > at > org.apache.logging.log4j.web.Log4jWebInitializerImpl.start(Log4jWebInitializerImpl.java:110) > 2016-03-10 07:08:41,915 INFO [stdout] (ServerService Thread Pool -- 275) > at > org.apache.logging.log4j.web.Log4jServletContainerInitializer.onStartup(Log4jServletContainerInitializer.java:57) > 2016-03-10 07:08:41,915 INFO [stdout] (ServerService Thread Pool -- 275) > at > org.jboss.as.web.deployment.JBossContextConfig.lifecycleEvent(JBossContextConfig.java:181) > 2016-03-10 07:08:41,915 INFO [stdout] (ServerService Thread Pool -- 275) > at > org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:115) > 2016-03-10 07:08:41,915 INFO [stdout] (ServerService Thread Pool -- 275) > at org.apache.catalina.core.StandardContext.start(StandardContext.java:3772) > 2016-03-10 07:08:41,915 INFO [stdout] (ServerService Thread Pool -- 275) > at > org.jboss.as.web.deployment.WebDeploymentService.doStart(WebDeploymentService.java:156) > 2016-03-10 07:08:41,915 INFO [stdout] (ServerService Thread Pool -- 275) > at > org.jboss.as.web.deployment.WebDeploymentService.access$000(WebDeploymentService.java:60) > 2016-03-10 07:08:41,915 INFO [stdout] (ServerService Thread Pool -- 275) > at > org.jboss.as.web.deployment.WebDeploymentService$1.run(WebDeploymentService.java:93) > 2016-03-10 07:08:41,916 INFO [stdout] (ServerService Thread Pool -- 275) > at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) > 2016-03-10 07:08:41,916 INFO [stdout] (ServerService Thread Pool -- 275) > at java.util.concurrent.FutureTask.run(FutureTask.java:262) > 2016-03-10 07:08:41,916 INFO [stdout] (ServerService Thread Pool -- 275) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > 2016-03-10 07:08:41,916 INFO [stdout] (ServerService Thread Pool -- 275) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > 2016-03-10 07:08:41,916 INFO [stdout] (ServerService Thread Pool -- 275) > at java.lang.Thread.run(Thread.java:744) > 2016-03-10 07:08:41,916 INFO [stdout] (ServerService Thread Pool -- 275) > at org.jboss.threads.JBossThread.run(JBossThread.java:122) > 2016-03-10 07:08:41,916 INFO [stdout] (ServerService Thread Pool -- 275) > 2016-03-10 07:08:41,916 INFO [stdout] (ServerService Thread Pool -- 275) > 2016-03-10 07:08:41,916 ServerService Thread Pool -- 275 DEBUG Took 0.011828 > seconds to load 0 plugins from package com.logging.appender.log4j2 > {code} > By debugging I found in the method {{findInPackage}} in class > {{ResolverUtil}}, class loader prepares enum of url (urls = > loader.getResources(packageName)). > And gives: > {noformat} > /content/myapp.ear/service-app.war/WEB-INF/classes/com/logging/appender/log4j2 > {noformat} > as the value of urlPath (which is non existing path). -- This message was sent by Atlassian JIRA (v6.3.4#6332) --------------------------------------------------------------------- To unsubscribe, e-mail: log4j-dev-unsubscr...@logging.apache.org For additional commands, e-mail: log4j-dev-h...@logging.apache.org