I'm migrating to struts 2.5.16 from struts-1. i want to disable freemarker logs, facing issues when using log4j2.
below is the exception for quick reference java.lang.ExceptionInInitializerError at org.apache.logging.log4j.core.impl.Log4jLogEvent.createContextData(Log4jLogEvent.java:472) Caused By: java.lang.IllegalArgumentException: Initial capacity must be at least one but was 0 below are the jars used in my webapplicaiton. commons-fileupload-1.3.3.jar commons-io-2.5.jar commons-lang3-3.6.jar commons-logging-1.1.3.jar freemarker-2.3.26-incubating.jar javassist-3.20.0-GA.jar log4j-1.2-api-2.11.0.jar log4j-api-2.10.0.jar log4j-core-2.11.0.jar ognl-3.1.15.jar struts2-core-2.5.16.jar below is my log4j2.xml file <?xml version="1.0" encoding="UTF-8"?> <Configuration status="ERROR"> <Properties> <Property name="log-name">MyLogin</Property> <Property name="log-home">C:\Users\Learner\Desktop\logs</Property> <Property name="log-level">DEBUG</Property> <Property name="log-size">500MB</Property> <Property name="log-maxFiles">5</Property> </Properties> <Appenders> <RollingFile name="RollingFile" fileName="${log-home}/${log-name}.log" filePattern="${log-home}/${log-name}-%d{yyyy-MM-dd}-%i.log" > <PatternLayout> <pattern>%d{MM/dd/yyyy HH:mm:ss,SSS}- %c{10}: %m%n</pattern> </PatternLayout> <Policies> <SizeBasedTriggeringPolicy size="${log-size}" /> </Policies> <DefaultRolloverStrategy> <Delete basePath="${log-home}" maxDepth="2"> <IfFileName glob="${log-name}*"/> <IfAccumulatedFileCount exceeds="${log-maxFiles}"/> </Delete> </DefaultRolloverStrategy> </RollingFile> </Appenders> <Loggers> <Logger name="root" level="${log-level}" additivity="false"> <appender-ref ref="RollingFile" level="${log-level}"/> </Logger> <Logger name="com.opensymphony.xwork2" level="ERROR" additivity="false"> <appender-ref ref="RollingFile" level="ERROR"/> </Logger> <!-- <Logger name="org.hibernate" level="ERROR" additivity="false"> <appender-ref ref="RollingFile" level="ERROR"/> </Logger> <Logger name="org.springframework" level="ERROR" additivity="false"> <appender-ref ref="RollingFile" level="ERROR"/> </Logger> --> <Logger name="freemarker" level="ERROR" additivity="false"> <appender-ref ref="RollingFile" level="ERROR"/> </Logger> <Logger name="org.apache.commons" level="ERROR" additivity="false"> <appender-ref ref="RollingFile" level="ERROR"/> </Logger> <Logger name="org.apache.struts2" level="WARN" additivity="false"> <appender-ref ref="RollingFile" level="WARN"/> </Logger> <Logger name="org.apache.tiles" level="WARN" additivity="false"> <appender-ref ref="RollingFile" level="WARN"/> </Logger> <Root level="debug" additivity="false"> <AppenderRef ref="RollingFile"/> </Root> </Loggers> </Configuration> this is resulting to deployment failure in weblogic 11g server, below is the full logs <Error> <HTTP> <BEA-101165> <Could not load user defined filter in web.xml: org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter. java.lang.ExceptionInInitializerError at org.apache.logging.log4j.core.impl.Log4jLogEvent.createContextData(Log4jLogEvent.java:472) at org.apache.logging.log4j.core.impl.Log4jLogEvent.<init>(Log4jLogEvent.java:331) at org.apache.logging.log4j.core.impl.DefaultLogEventFactory.createEvent(DefaultLogEventFactory.java:54) at org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:401) at org.apache.logging.log4j.core.config.AwaitCompletionReliabilityStrategy.log(AwaitCompletionReliabilityStrategy.java:63) at org.apache.logging.log4j.core.Logger.logMessage(Logger.java:146) at org.apache.logging.log4j.spi.AbstractLogger.tryLogMessage(AbstractLogger.java:2163) at org.apache.logging.log4j.spi.AbstractLogger.logMessageTrackRecursion(AbstractLogger.java:2118) at org.apache.logging.log4j.spi.AbstractLogger.logMessageSafely(AbstractLogger.java:2101) at org.apache.logging.log4j.spi.AbstractLogger.logMessage(AbstractLogger.java:1995) at org.apache.logging.log4j.spi.AbstractLogger.logIfEnabled(AbstractLogger.java:1967) at org.apache.logging.log4j.spi.AbstractLogger.info(AbstractLogger.java:1304) at org.apache.struts2.dispatcher.Dispatcher.init_CheckWebLogicWorkaround(Dispatcher.java:469) at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:498) at org.apache.struts2.dispatcher.InitOperations.initDispatcher(InitOperations.java:73) at org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter.init(StrutsPrepareAndExecuteFilter.java:61) at weblogic.servlet.internal.FilterManager$FilterInitAction.run(FilterManager.java:343) at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120) at weblogic.servlet.internal.FilterManager.loadFilter(FilterManager.java:96) at weblogic.servlet.internal.FilterManager.preloadFilters(FilterManager.java:57) at weblogic.servlet.internal.WebAppServletContext.preloadResources(WebAppServletContext.java:1875) at weblogic.servlet.internal.WebAppServletContext.start(WebAppServletContext.java:3173) at weblogic.servlet.internal.WebAppModule.startContexts(WebAppModule.java:1529) at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:488) at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:425) at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52) at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:119) at weblogic.application.internal.flow.ScopedModuleDriver.start(ScopedModuleDriver.java:200) at weblogic.application.internal.flow.ModuleListenerInvoker.start(ModuleListenerInvoker.java:247) at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:425) at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52) at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:119) at weblogic.application.internal.flow.StartModulesFlow.activate(StartModulesFlow.java:27) at weblogic.application.internal.BaseDeployment$2.next(BaseDeployment.java:671) at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52) at weblogic.application.internal.BaseDeployment.activate(BaseDeployment.java:212) at weblogic.application.internal.SingleModuleDeployment.activate(SingleModuleDeployment.java:44) at weblogic.application.internal.DeploymentStateChecker.activate(DeploymentStateChecker.java:161) at weblogic.deploy.internal.targetserver.AppContainerInvoker.activate(AppContainerInvoker.java:80) at weblogic.deploy.internal.targetserver.BasicDeployment.activate(BasicDeployment.java:187) at weblogic.deploy.internal.targetserver.BasicDeployment.activateFromServerLifecycle(BasicDeployment.java:379) at weblogic.management.deploy.internal.DeploymentAdapter$1.doActivate(DeploymentAdapter.java:51) at weblogic.management.deploy.internal.DeploymentAdapter.activate(DeploymentAdapter.java:200) at weblogic.management.deploy.internal.AppTransition$2.transitionApp(AppTransition.java:30) at weblogic.management.deploy.internal.ConfiguredDeployments.transitionApps(ConfiguredDeployments.java:240) at weblogic.management.deploy.internal.ConfiguredDeployments.activate(ConfiguredDeployments.java:169) at weblogic.management.deploy.internal.ConfiguredDeployments.deploy(ConfiguredDeployments.java:123) at weblogic.management.deploy.internal.DeploymentServerService.resume(DeploymentServerService.java:180) at weblogic.management.deploy.internal.DeploymentServerService.start(DeploymentServerService.java:96) at weblogic.t3.srvr.SubsystemRequest.run(SubsystemRequest.java:64) at weblogic.work.ExecuteThread.execute(ExecuteThread.java:263) at weblogic.work.ExecuteThread.run(ExecuteThread.java:221) Caused By: java.lang.IllegalArgumentException: Initial capacity must be at least one but was 0 at org.apache.logging.log4j.util.SortedArrayStringMap.<init>(SortedArrayStringMap.java:102) at org.apache.logging.log4j.core.impl.ContextDataFactory.createContextData(ContextDataFactory.java:109) at org.apache.logging.log4j.core.impl.ContextDataFactory.<clinit>(ContextDataFactory.java:57) at org.apache.logging.log4j.core.impl.Log4jLogEvent.createContextData(Log4jLogEvent.java:472) at org.apache.logging.log4j.core.impl.Log4jLogEvent.<init>(Log4jLogEvent.java:331) at org.apache.logging.log4j.core.impl.DefaultLogEventFactory.createEvent(DefaultLogEventFactory.java:54) at org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:401) at org.apache.logging.log4j.core.config.AwaitCompletionReliabilityStrategy.log(AwaitCompletionReliabilityStrategy.java:63) at org.apache.logging.log4j.core.Logger.logMessage(Logger.java:146) at org.apache.logging.log4j.spi.AbstractLogger.tryLogMessage(AbstractLogger.java:2163) at org.apache.logging.log4j.spi.AbstractLogger.logMessageTrackRecursion(AbstractLogger.java:2118) at org.apache.logging.log4j.spi.AbstractLogger.logMessageSafely(AbstractLogger.java:2101) at org.apache.logging.log4j.spi.AbstractLogger.logMessage(AbstractLogger.java:1995) at org.apache.logging.log4j.spi.AbstractLogger.logIfEnabled(AbstractLogger.java:1967) at org.apache.logging.log4j.spi.AbstractLogger.info(AbstractLogger.java:1304) at org.apache.struts2.dispatcher.Dispatcher.init_CheckWebLogicWorkaround(Dispatcher.java:469) at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:498) at org.apache.struts2.dispatcher.InitOperations.initDispatcher(InitOperations.java:73) at org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter.init(StrutsPrepareAndExecuteFilter.java:61) at weblogic.servlet.internal.FilterManager$FilterInitAction.run(FilterManager.java:343) at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120) at weblogic.servlet.internal.FilterManager.loadFilter(FilterManager.java:96) at weblogic.servlet.internal.FilterManager.preloadFilters(FilterManager.java:57) at weblogic.servlet.internal.WebAppServletContext.preloadResources(WebAppServletContext.java:1875) at weblogic.servlet.internal.WebAppServletContext.start(WebAppServletContext.java:3173) at weblogic.servlet.internal.WebAppModule.startContexts(WebAppModule.java:1529) at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:488) at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:425) at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52) at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:119) at weblogic.application.internal.flow.ScopedModuleDriver.start(ScopedModuleDriver.java:200) at weblogic.application.internal.flow.ModuleListenerInvoker.start(ModuleListenerInvoker.java:247) at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:425) at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52) at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:119) at weblogic.application.internal.flow.StartModulesFlow.activate(StartModulesFlow.java:27) at weblogic.application.internal.BaseDeployment$2.next(BaseDeployment.java:671) at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52) at weblogic.application.internal.BaseDeployment.activate(BaseDeployment.java:212) at weblogic.application.internal.SingleModuleDeployment.activate(SingleModuleDeployment.java:44) at weblogic.application.internal.DeploymentStateChecker.activate(DeploymentStateChecker.java:161) at weblogic.deploy.internal.targetserver.AppContainerInvoker.activate(AppContainerInvoker.java:80) at weblogic.deploy.internal.targetserver.BasicDeployment.activate(BasicDeployment.java:187) at weblogic.deploy.internal.targetserver.BasicDeployment.activateFromServerLifecycle(BasicDeployment.java:379) at weblogic.management.deploy.internal.DeploymentAdapter$1.doActivate(DeploymentAdapter.java:51) at weblogic.management.deploy.internal.DeploymentAdapter.activate(DeploymentAdapter.java:200) at weblogic.management.deploy.internal.AppTransition$2.transitionApp(AppTransition.java:30) at weblogic.management.deploy.internal.ConfiguredDeployments.transitionApps(ConfiguredDeployments.java:240) at weblogic.management.deploy.internal.ConfiguredDeployments.activate(ConfiguredDeployments.java:169) at weblogic.management.deploy.internal.ConfiguredDeployments.deploy(ConfiguredDeployments.java:123) at weblogic.management.deploy.internal.DeploymentServerService.resume(DeploymentServerService.java:180) at weblogic.management.deploy.internal.DeploymentServerService.start(DeploymentServerService.java:96) at weblogic.t3.srvr.SubsystemRequest.run(SubsystemRequest.java:64) at weblogic.work.ExecuteThread.execute(ExecuteThread.java:263) at weblogic.work.ExecuteThread.run(ExecuteThread.java:221) > thanks for reading the information. Pleas help me out what mistake i have done, thanks --------------------------------------------------------------------- To unsubscribe, e-mail: user-unsubscr...@struts.apache.org For additional commands, e-mail: user-h...@struts.apache.org