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