[
https://issues.apache.org/jira/browse/GEODE-8197?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Kirk Lund updated GEODE-8197:
-----------------------------
Comment: was deleted
(was: So far, I've been able to fix this problem in my local repo by adding
log4j-web jar to the Pulse web app. I'll file a PR after I write an acceptance
test.)
> Embedded Pulse fails to start with custom log4j2.xml
> ----------------------------------------------------
>
> Key: GEODE-8197
> URL: https://issues.apache.org/jira/browse/GEODE-8197
> Project: Geode
> Issue Type: Bug
> Components: logging, pulse
> Reporter: Kirk Lund
> Assignee: Kirk Lund
> Priority: Major
> Labels: GeodeOperationAPI
>
> Starting a Locator with a custom log4j2.xml referencing Geode appenders or
> converters fails to correctly start embedded Pulse web application.
> {noformat}
> [info 2020/05/28 10:51:51.954 PDT <main> tid=1] Adding webapp /pulse
> 2020-05-28 10:51:53,328 main ERROR Unable to invoke factory method in class
> org.apache.geode.alerting.log4j.internal.impl.AlertAppender for element
> GeodeAlert: java.lang.IllegalStateException: No factory method found for
> class org.apache.geode.alerting.log4j.internal.impl.AlertAppender
> java.lang.IllegalStateException: No factory method found for class
> org.apache.geode.alerting.log4j.internal.impl.AlertAppender
> at
> org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.findFactoryMethod(PluginBuilder.java:234)
> at
> org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.build(PluginBuilder.java:134)
> at
> org.apache.logging.log4j.core.config.AbstractConfiguration.createPluginObject(AbstractConfiguration.java:1002)
> at
> org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:942)
> at
> org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:934)
> at
> org.apache.logging.log4j.core.config.AbstractConfiguration.doConfigure(AbstractConfiguration.java:552)
> at
> org.apache.logging.log4j.core.config.AbstractConfiguration.initialize(AbstractConfiguration.java:241)
> at
> org.apache.logging.log4j.core.config.AbstractConfiguration.start(AbstractConfiguration.java:288)
> at
> org.apache.logging.log4j.core.LoggerContext.setConfiguration(LoggerContext.java:618)
> at
> org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:691)
> at
> org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:708)
> at
> org.apache.logging.log4j.core.LoggerContext.start(LoggerContext.java:263)
> at
> org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:153)
> at
> org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:45)
> at org.apache.logging.log4j.LogManager.getContext(LogManager.java:194)
> at
> org.apache.logging.log4j.spi.AbstractLoggerAdapter.getContext(AbstractLoggerAdapter.java:138)
> at
> org.apache.logging.log4j.jcl.LogAdapter.getContext(LogAdapter.java:39)
> at
> org.apache.logging.log4j.spi.AbstractLoggerAdapter.getLogger(AbstractLoggerAdapter.java:48)
> at
> org.apache.logging.log4j.jcl.LogFactoryImpl.getInstance(LogFactoryImpl.java:40)
> at
> org.apache.logging.log4j.jcl.LogFactoryImpl.getInstance(LogFactoryImpl.java:55)
> at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:655)
> at
> org.springframework.web.filter.GenericFilterBean.<init>(GenericFilterBean.java:86)
> at
> org.springframework.web.filter.DelegatingFilterProxy.<init>(DelegatingFilterProxy.java:107)
> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
> at
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
> at
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
> at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
> at
> org.eclipse.jetty.server.handler.ContextHandler$Context.createInstance(ContextHandler.java:2520)
> at
> org.eclipse.jetty.servlet.ServletContextHandler$Context.createFilter(ServletContextHandler.java:1284)
> at
> org.eclipse.jetty.servlet.FilterHolder.initialize(FilterHolder.java:118)
> at
> org.eclipse.jetty.servlet.ServletHandler.lambda$initialize$0(ServletHandler.java:751)
> at
> java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948)
> at
> java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.java:742)
> at
> java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.java:742)
> at
> java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:580)
> at
> org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:744)
> at
> org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:361)
> at
> org.eclipse.jetty.webapp.WebAppContext.startWebapp(WebAppContext.java:1443)
> at
> org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1407)
> at
> org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:821)
> at
> org.eclipse.jetty.servlet.ServletContextHandler.doStart(ServletContextHandler.java:276)
> at
> org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:524)
> at
> org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72)
> at
> org.apache.geode.internal.cache.InternalHttpService.addWebApplication(InternalHttpService.java:211)
> at
> org.apache.geode.management.internal.ManagementAgent.loadWebApplications(ManagementAgent.java:248)
> at
> org.apache.geode.management.internal.ManagementAgent.startAgent(ManagementAgent.java:133)
> at
> org.apache.geode.management.internal.SystemManagementService.startManager(SystemManagementService.java:375)
> at
> org.apache.geode.distributed.internal.InternalLocator.lambda$startClusterManagementService$3(InternalLocator.java:826)
> at java.util.Optional.ifPresent(Optional.java:159)
> at
> org.apache.geode.distributed.internal.InternalLocator.startClusterManagementService(InternalLocator.java:817)
> at
> org.apache.geode.distributed.internal.InternalLocator.startClusterManagementService(InternalLocator.java:783)
> at
> org.apache.geode.distributed.internal.InternalLocator.startCache(InternalLocator.java:776)
> at
> org.apache.geode.distributed.internal.InternalLocator.startDistributedSystem(InternalLocator.java:757)
> at
> org.apache.geode.distributed.internal.InternalLocator.startLocator(InternalLocator.java:388)
> at
> org.apache.geode.distributed.LocatorLauncher.start(LocatorLauncher.java:716)
> at
> org.apache.geode.distributed.LocatorLauncher.run(LocatorLauncher.java:623)
> at
> org.apache.geode.distributed.LocatorLauncher.main(LocatorLauncher.java:217)
> 2020-05-28 10:51:53,331 main ERROR appenders Appenders has no parameter that
> matches element GeodeAlert
> 2020-05-28 10:51:53,344 main ERROR Unable to locate appender "ALERT" for
> logger config "root"
> [info 2020/05/28 10:51:53.404 PDT <main> tid=1] Initializing Servlet 'pulse'
> {noformat}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)