Thursday, February 13, 2025

Troubleshooting tips - WSO2 API manager

I was setting up API manager ELK configuration as per the document [1]. During the first step of configuring MATRICS Appender , I could not get the server started due to following error[2]. 

After troubleshooting with multiple product versions, i could identify that , this particular log is completely misleading and this is caused due to the spacing issue. 

In the following comparison, you can see the left side has some spaces in each line which caused this issue.


If you come accross this exception, Make sure you dont have additonal spaces in appender configuration in log4j2.properties file.

Enjoy the analytics!!

[1] https://apim.docs.wso2.com/en/4.0.0/api-analytics/on-prem/elk-installation-guide/

[2]

shammijayasinghe@shammi bin % sh api-manager.sh

JAVA_HOME environment variable is set to /Library/Java/JavaVirtualMachines/jdk-11.0.2.jdk/Contents/Home

CARBON_HOME environment variable is set to /Users/xxx/xxx/xxx/wso2am-4.0.0

Using Java memory options: -Xms256m -Xmx1024m

org.ops4j.pax.logging.pax-logging-api [log4j2] ERROR : Unable to locate plugin type for RollingFile  Ignored FQCN: org.apache.logging.log4j.spi.AbstractLogger

org.ops4j.pax.logging.pax-logging-api [log4j2] ERROR : Unable to locate plugin for PatternLayout  Ignored FQCN: org.apache.logging.log4j.spi.AbstractLogger

org.ops4j.pax.logging.pax-logging-api [log4j2] ERROR : Unable to locate plugin for TimeBasedTriggeringPolicy  Ignored FQCN: org.apache.logging.log4j.spi.AbstractLogger

org.ops4j.pax.logging.pax-logging-api [log4j2] ERROR : Unable to locate plugin for SizeBasedTriggeringPolicy  Ignored FQCN: org.apache.logging.log4j.spi.AbstractLogger

org.ops4j.pax.logging.pax-logging-api [log4j2] ERROR : Unable to locate plugin for Policies  Ignored FQCN: org.apache.logging.log4j.spi.AbstractLogger

org.ops4j.pax.logging.pax-logging-api [log4j2] ERROR : Unable to locate plugin for DefaultRolloverStrategy  Ignored FQCN: org.apache.logging.log4j.spi.AbstractLogger

org.ops4j.pax.logging.pax-logging-api [log4j2] ERROR : Unable to locate plugin for RollingFile  Ignored FQCN: org.apache.logging.log4j.spi.AbstractLogger

org.ops4j.pax.logging.pax-logging-api [log4j2] ERROR : Unable to invoke factory method in class org.apache.logging.log4j.core.config.AppendersPlugin for element Appenders: java.lang.NullPointerException Ignored FQCN: org.apache.logging.log4j.spi.AbstractLogger

java.lang.NullPointerException

at org.apache.logging.log4j.core.config.plugins.visitors.PluginElementVisitor.visit(PluginElementVisitor.java:52)

at org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.generateParameters(PluginBuilder.java:262)

at org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.build(PluginBuilder.java:135)

at org.apache.logging.log4j.core.config.AbstractConfiguration.createPluginObject(AbstractConfiguration.java:1120)

at org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:1045)

at org.apache.logging.log4j.core.config.AbstractConfiguration.doConfigure(AbstractConfiguration.java:651)

at org.apache.logging.log4j.core.config.AbstractConfiguration.initialize(AbstractConfiguration.java:247)

at org.apache.logging.log4j.core.config.AbstractConfiguration.start(AbstractConfiguration.java:293)

at org.apache.logging.log4j.core.LoggerContext.setConfiguration(LoggerContext.java:626)

at org.apache.logging.log4j.core.LoggerContext.start(LoggerContext.java:302)

at org.ops4j.pax.logging.log4j2.internal.PaxLoggingServiceImpl.configureLog4J2(PaxLoggingServiceImpl.java:474)

at org.ops4j.pax.logging.log4j2.internal.PaxLoggingServiceImpl.updated(PaxLoggingServiceImpl.java:291)

at org.ops4j.pax.logging.log4j2.internal.Activator.start(Activator.java:164)

at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:842)

at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)

at java.base/java.security.AccessController.doPrivileged(Native Method)

at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:834)

at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:791)

at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1013)

at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:365)

at org.eclipse.osgi.container.Module.doStart(Module.java:598)

at org.eclipse.osgi.container.Module.start(Module.java:462)

at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel$1.run(ModuleContainer.java:1820)

at org.eclipse.osgi.internal.framework.EquinoxContainerAdaptor$2$1.execute(EquinoxContainerAdaptor.java:150)

at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1813)

at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1770)

at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1735)

at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1661)

at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)

at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:234)

at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:345)

```