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: [email protected]
For additional commands, e-mail: [email protected]