<div dir="ltr">You will need log4j2 onto your classpath.<div><br></div><div>It was recently removed as an explicit dependency, I believe.<br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On 23 June 2016 at 23:41, ejlp ejlp <span dir="ltr">&lt;<a href="mailto:ejlp12@gmail.com" target="_blank">ejlp12@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Eric,<br>
<br>
Thanks for the answer. The package/class name was copied from<br>
<a href="http://www.apiman.io/latest/developer-guide.html" rel="noreferrer" target="_blank">http://www.apiman.io/latest/developer-guide.html</a> section 4.2.2.2<br>
<br>
I have changed it and now I got following response:<br>
<br>
{&quot;responseCode&quot;:500,&quot;message&quot;:&quot;org/apache/logging/log4j/LogManager&quot;,&quot;trace&quot;:&quot;java.lang.NoClassDefFoundError:<br>
org/apache/logging/log4j/LogManager\n\tat<br>
io.apiman.common.logging.slf4j.Log4j2LoggerFactory.createLogger(Log4j2LoggerFactory.java:35)\n\tat<br>
io.apiman.gateway.engine.policy.PolicyContextImpl.getLogger(PolicyContextImpl.java:115)\n\tat<br>
io.apiman.plugins.log_policy.LogHeadersPolicy.doApply(LogHeadersPolicy.java:75)\n\tat<br>
io.apiman.plugins.log_policy.LogHeadersPolicy.doApply(LogHeadersPolicy.java:36)\n\tat<br>
io.apiman.gateway.engine.policies.AbstractMappedPolicy.apply(AbstractMappedPolicy.java:70)\n\tat<br>
io.apiman.gateway.engine.policy.RequestChain.applyPolicy(RequestChain.java:68)\n\tat<br>
io.apiman.gateway.engine.policy.Chain.doApply(Chain.java:148)\n\tat<br>
io.apiman.gateway.engine.policies.RateLimitingPolicy$1.handle(RateLimitingPolicy.java:104)\n\tat<br>
io.apiman.gateway.engine.policies.RateLimitingPolicy$1.handle(RateLimitingPolicy.java:91)\n\tat<br>
io.apiman.gateway.engine.es.ESRateLimiterComponent.updateBucketAndReturn(ESRateLimiterComponent.java:115)\n\tat<br>
io.apiman.gateway.engine.es.ESRateLimiterComponent.accept(ESRateLimiterComponent.java:83)\n\tat<br>
io.apiman.gateway.engine.policies.RateLimitingPolicy.doApply(RateLimitingPolicy.java:91)\n\tat<br>
io.apiman.gateway.engine.policies.RateLimitingPolicy.doApply(RateLimitingPolicy.java:45)\n\tat<br>
io.apiman.gateway.engine.policies.AbstractMappedPolicy.apply(AbstractMappedPolicy.java:70)\n\tat<br>
io.apiman.gateway.engine.policy.RequestChain.applyPolicy(RequestChain.java:68)\n\tat<br>
io.apiman.gateway.engine.policy.Chain.doApply(Chain.java:148)\n\tat<br>
io.apiman.gateway.engine.policies.BasicAuthenticationPolicy.doApply(BasicAuthenticationPolicy.java:80)\n\tat<br>
io.apiman.gateway.engine.policies.BasicAuthenticationPolicy.doApply(BasicAuthenticationPolicy.java:45)\n\tat<br>
io.apiman.gateway.engine.policies.AbstractMappedPolicy.apply(AbstractMappedPolicy.java:70)\n\tat<br>
io.apiman.gateway.engine.policy.RequestChain.applyPolicy(RequestChain.java:68)\n\tat<br>
io.apiman.gateway.engine.policy.Chain.doApply(Chain.java:148)\n\tat<br>
io.apiman.gateway.engine.impl.ApiRequestExecutorImpl.lambda$execute$4(ApiRequestExecutorImpl.java:271)\n\tat<br>
io.apiman.gateway.engine.impl.ApiRequestExecutorImpl$$Lambda$110/1594790599.handle(Unknown<br>
Source)\n\tat io.apiman.gateway.engine.impl.ApiRequestExecutorImpl.lambda$loadPolicies$7(ApiRequestExecutorImpl.java:631)\n\tat<br>
io.apiman.gateway.engine.impl.ApiRequestExecutorImpl$$Lambda$112/863872294.handle(Unknown<br>
Source)\n\tat io.apiman.gateway.engine.policy.PolicyFactoryImpl$1.handle(PolicyFactoryImpl.java:192)\n\tat<br>
io.apiman.gateway.engine.policy.PolicyFactoryImpl$1.handle(PolicyFactoryImpl.java:170)\n\tat<br>
io.apiman.gateway.engine.impl.DefaultPluginRegistry.lambda$loadPlugin$18(DefaultPluginRegistry.java:185)\n\tat<br>
io.apiman.gateway.engine.impl.DefaultPluginRegistry$$Lambda$113/366500518.handle(Unknown<br>
Source)\n\tat io.apiman.gateway.engine.impl.DefaultPluginRegistry.loadPlugin(DefaultPluginRegistry.java:234)\n\tat<br>
io.apiman.gateway.engine.policy.PolicyFactoryImpl.doLoadFromPlugin(PolicyFactoryImpl.java:170)\n\tat<br>
io.apiman.gateway.engine.policy.PolicyFactoryImpl.loadPolicy(PolicyFactoryImpl.java:109)\n\tat<br>
io.apiman.gateway.engine.impl.ApiRequestExecutorImpl.loadPolicies(ApiRequestExecutorImpl.java:603)\n\tat<br>
io.apiman.gateway.engine.impl.ApiRequestExecutorImpl.lambda$execute$6(ApiRequestExecutorImpl.java:391)\n\tat<br>
io.apiman.gateway.engine.impl.ApiRequestExecutorImpl$$Lambda$111/1559374006.handle(Unknown<br>
Source)\n\tat io.apiman.gateway.engine.impl.SecureRegistryWrapper$3.handle(SecureRegistryWrapper.java:172)\n\tat<br>
io.apiman.gateway.engine.impl.SecureRegistryWrapper$3.handle(SecureRegistryWrapper.java:154)\n\tat<br>
io.apiman.gateway.engine.es.CachingESRegistry.getContract(CachingESRegistry.java:101)\n\tat<br>
io.apiman.gateway.engine.impl.SecureRegistryWrapper.getContract(SecureRegistryWrapper.java:154)\n\tat<br>
io.apiman.gateway.engine.impl.ApiRequestExecutorImpl.execute(ApiRequestExecutorImpl.java:357)\n\tat<br>
io.apiman.gateway.platforms.servlet.GatewayServlet.doAction(GatewayServlet.java:179)\n\tat<br>
io.apiman.gateway.platforms.servlet.GatewayServlet.service(GatewayServlet.java:79)\n\tat<br>
javax.servlet.http.HttpServlet.service(HttpServlet.java:790)\n\tat<br>
io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:85)\n\tat<br>
io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62)\n\tat<br>
io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)\n\tat<br>
org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78)\n\tat<br>
io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)\n\tat<br>
io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:131)\n\tat<br>
io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57)\n\tat<br>
io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)\n\tat<br>
io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46)\n\tat<br>
io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64)\n\tat<br>
io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60)\n\tat<br>
io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:77)\n\tat<br>
io.undertow.security.handlers.NotificationReceiverHandler.handleRequest(NotificationReceiverHandler.java:50)\n\tat<br>
io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43)\n\tat<br>
io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)\n\tat<br>
org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61)\n\tat<br>
io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)\n\tat<br>
io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)\n\tat<br>
io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:285)\n\tat<br>
io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:264)\n\tat<br>
io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:81)\n\tat<br>
io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:175)\n\tat<br>
io.undertow.server.Connectors.executeRootHandler(Connectors.java:202)\n\tat<br>
io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:792)\n\tat<br>
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)\n\tat<br>
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)\n\tat<br>
java.lang.Thread.run(Thread.java:745)\nCaused by:<br>
java.lang.ClassNotFoundException: org.apache.logging.log4j.LogManager<br>
from [Module \&quot;deployment.apiman-gateway.war:main\&quot; from Service<br>
Module Loader]\n\tat<br>
org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:198)\n\tat<br>
org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:363)\n\tat<br>
org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:351)\n\tat<br>
org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:93)\n\t...<br>
70 more\n&quot;}<br>
<div class="HOEnZb"><div class="h5"><br>
On Thu, Jun 23, 2016 at 7:26 PM, Eric Wittmann &lt;<a href="mailto:eric.wittmann@redhat.com">eric.wittmann@redhat.com</a>&gt; wrote:<br>
&gt; You are just *slightly* off in your apiman.properties configuration! And<br>
&gt; it&#39;s understandable, as you&#39;ll see shortly.  :)<br>
&gt;<br>
&gt; You have modified &quot;apiman-gateway.logger-factory&quot; to have the following<br>
&gt; value:<br>
&gt;<br>
&gt;   io.apiman.common.logging.log4j2.Log4j2LoggerFactory<br>
&gt;<br>
&gt; But instead it should be this:<br>
&gt;<br>
&gt;   io.apiman.common.logging.slf4j.Log4j2LoggerFactory<br>
&gt;<br>
&gt; -Eric<br>
&gt;<br>
&gt;<br>
&gt; On 6/22/2016 7:40 PM, ejlp ejlp wrote:<br>
&gt;&gt;<br>
&gt;&gt; Hi,<br>
&gt;&gt;<br>
&gt;&gt; I was trying to use Log Header policy but no logging message shown in<br>
&gt;&gt; Gatway&#39;s console or server.log.<br>
&gt;&gt; I am using JBoss EAP 7.0 and Apiman 1.2.6.Final<br>
&gt;&gt;<br>
&gt;&gt; This is what I&#39;ve done in Gateway node:<br>
&gt;&gt;<br>
&gt;&gt; * Use extracted war of apiman-gateway-api.war and apiman-gateway.war<br>
&gt;&gt; * Put apiman-common-logging-log4j2-1.2.6.Final.jar into<br>
&gt;&gt; &lt;JBOSS_HOME&gt;/standalone/deployment/apiman-gateway-api.war/WEB-INF/lib/<br>
&gt;&gt; and &lt;JBOSS_HOME&gt;/standalone/deployment/apiman-gateway.war/WEB-INF/lib/<br>
&gt;&gt; * Remove following line from apiman.properties<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; apiman-gateway.logger-factory=io.apiman.common.logging.impl.NoOpLoggerFactory<br>
&gt;&gt;<br>
&gt;&gt;   and put this line:<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; apiman-gateway.logger-factory=io.apiman.common.logging.log4j2.Log4j2LoggerFactory<br>
&gt;&gt;<br>
&gt;&gt; * Restart JBoss EAP<br>
&gt;&gt;<br>
&gt;&gt; I got following stacktrace when EAP started:<br>
&gt;&gt;<br>
&gt;&gt; 05:58:00,693 ERROR [org.jboss.msc.service.fail] (ServerService Thread<br>
&gt;&gt; Pool -- 64) MSC000001: Failed to start service<br>
&gt;&gt; jboss.undertow.deployment.default-server.default-host./apiman-gateway-api:<br>
&gt;&gt; org.jboss.msc.service.StartException in service<br>
&gt;&gt; jboss.undertow.deployment.default-server.default-host./apiman-gateway-api:<br>
&gt;&gt; java.lang.RuntimeException: java.lang.RuntimeException:<br>
&gt;&gt; java.lang.NullPointerException<br>
&gt;&gt; at<br>
&gt;&gt; org.wildfly.extension.undertow.deployment.UndertowDeploymentService$1.run(UndertowDeploymentService.java:85)<br>
&gt;&gt; at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)<br>
&gt;&gt; at java.util.concurrent.FutureTask.run(FutureTask.java:266)<br>
&gt;&gt; at<br>
&gt;&gt; java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)<br>
&gt;&gt; at<br>
&gt;&gt; java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)<br>
&gt;&gt; at java.lang.Thread.run(Thread.java:745)<br>
&gt;&gt; at org.jboss.threads.JBossThread.run(JBossThread.java:320)<br>
&gt;&gt; Caused by: java.lang.RuntimeException: java.lang.RuntimeException:<br>
&gt;&gt; java.lang.NullPointerException<br>
&gt;&gt; at<br>
&gt;&gt; io.undertow.servlet.core.DeploymentManagerImpl.deploy(DeploymentManagerImpl.java:231)<br>
&gt;&gt; at<br>
&gt;&gt; org.wildfly.extension.undertow.deployment.UndertowDeploymentService.startContext(UndertowDeploymentService.java:100)<br>
&gt;&gt; at<br>
&gt;&gt; org.wildfly.extension.undertow.deployment.UndertowDeploymentService$1.run(UndertowDeploymentService.java:82)<br>
&gt;&gt; ... 6 more<br>
&gt;&gt; Caused by: java.lang.RuntimeException: java.lang.NullPointerException<br>
&gt;&gt; at<br>
&gt;&gt; io.apiman.gateway.engine.impl.ConfigDrivenEngineFactory.instantiate(ConfigDrivenEngineFactory.java:179)<br>
&gt;&gt; at<br>
&gt;&gt; io.apiman.gateway.engine.impl.ConfigDrivenEngineFactory.create(ConfigDrivenEngineFactory.java:163)<br>
&gt;&gt; at<br>
&gt;&gt; io.apiman.gateway.engine.impl.ConfigDrivenEngineFactory.createLoggerFactory(ConfigDrivenEngineFactory.java:152)<br>
&gt;&gt; at<br>
&gt;&gt; io.apiman.gateway.engine.impl.AbstractEngineFactory.createEngine(AbstractEngineFactory.java:60)<br>
&gt;&gt; at io.apiman.gateway.platforms.war.WarGateway.init(WarGateway.java:55)<br>
&gt;&gt; at<br>
&gt;&gt; io.apiman.gateway.platforms.war.listeners.WarGatewayBootstrapper.contextInitialized(WarGatewayBootstrapper.java:42)<br>
&gt;&gt; at<br>
&gt;&gt; io.undertow.servlet.core.ApplicationListeners.contextInitialized(ApplicationListeners.java:187)<br>
&gt;&gt; at<br>
&gt;&gt; io.undertow.servlet.core.DeploymentManagerImpl.deploy(DeploymentManagerImpl.java:198)<br>
&gt;&gt; ... 8 more<br>
&gt;&gt; Caused by: java.lang.NullPointerException<br>
&gt;&gt; at<br>
&gt;&gt; io.apiman.gateway.engine.impl.ConfigDrivenEngineFactory.instantiate(ConfigDrivenEngineFactory.java:175)<br>
&gt;&gt; ... 15 more<br>
&gt;&gt;<br>
&gt;&gt; 05:58:00,695 ERROR [org.jboss.as.controller.management-operation]<br>
&gt;&gt; (DeploymentScanner-threads - 1) WFLYCTL0013: Operation (&quot;deploy&quot;)<br>
&gt;&gt; failed - address: ([(&quot;deployment&quot; =&gt; &quot;apiman-gateway-api.war&quot;)]) -<br>
&gt;&gt; failure description: {&quot;WFLYCTL0080: Failed services&quot; =&gt;<br>
&gt;&gt;<br>
&gt;&gt; {&quot;jboss.undertow.deployment.default-server.default-host./apiman-gateway-api&quot;<br>
&gt;&gt; =&gt; &quot;org.jboss.msc.service.StartException in service<br>
&gt;&gt; jboss.undertow.deployment.default-server.default-host./apiman-gateway-api:<br>
&gt;&gt; java.lang.RuntimeException: java.lang.RuntimeException:<br>
&gt;&gt; java.lang.NullPointerException<br>
&gt;&gt;     Caused by: java.lang.RuntimeException: java.lang.RuntimeException:<br>
&gt;&gt; java.lang.NullPointerException<br>
&gt;&gt;     Caused by: java.lang.RuntimeException: java.lang.NullPointerException<br>
&gt;&gt;     Caused by: java.lang.NullPointerException&quot;}}<br>
&gt;&gt; _______________________________________________<br>
&gt;&gt; Apiman-user mailing list<br>
&gt;&gt; <a href="mailto:Apiman-user@lists.jboss.org">Apiman-user@lists.jboss.org</a><br>
&gt;&gt; <a href="https://lists.jboss.org/mailman/listinfo/apiman-user" rel="noreferrer" target="_blank">https://lists.jboss.org/mailman/listinfo/apiman-user</a><br>
&gt;&gt;<br>
&gt;<br>
_______________________________________________<br>
Apiman-user mailing list<br>
<a href="mailto:Apiman-user@lists.jboss.org">Apiman-user@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/apiman-user" rel="noreferrer" target="_blank">https://lists.jboss.org/mailman/listinfo/apiman-user</a><br>
</div></div></blockquote></div><br></div>