Uploaded image for project: 'Geode'
  1. Geode
  2. GEODE-8197

Embedded Pulse fails to start with custom log4j2.xml

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • None
    • None
    • logging, pulse

    Description

      Starting a Locator with a custom log4j2.xml referencing Geode appenders or converters fails to correctly start embedded Pulse web application.

      [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'
      

      Attachments

        Issue Links

          Activity

            People

              klund Kirk Lund
              klund Kirk Lund
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated: