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

Reply via email to