I think you must use Log4j Bridge

https://logging.apache.org/log4j/2.x/manual/migration.html
https://logging.apache.org/log4j/log4j-2.2/log4j-1.2-api/index.html


Regards
-- 
Łukasz
+ 48 606 323 122 http://www.lenart.org.pl/

sob., 23 cze 2018 o 18:02 learning9...@gmail.com
<learning9...@gmail.com> napisał(a):
>
> 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
>

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscr...@struts.apache.org
For additional commands, e-mail: user-h...@struts.apache.org

Reply via email to