如何将log4j.properties文件保存在EAR / WAR之外

时间:2017-11-23 07:16:38

标签: java spring maven spring-mvc

我正在研究其中一个项目。我们正在weblogic 12.1.3中部署该项目。在该项目中,客户端希望从EAR / WAR文件外部使用log4j.properties文件。我尝试在web.xml中配置如下: -

<listener>
    <listener-class>
        org.springframework.web.context.ContextLoaderListener
    </listener-class>
</listener>
<context-param>
    <param-name>log4jConfigLocation</param-name>
    <param-value>
        file://C:/externalProperties/ODCMsgProcessing/log4j/log4j.properties
    </param-value>
</context-param>

但是当我尝试在weblogic上部署它时,它给了我一个例外: -

<Warning> <HTTP> <BEA-101162> <User defined listener org.springframework.web.util.Log4jConfigListener failed: java.lang.IllegalStateException: Cannot set web app root system property when WAR file is not expanded.
java.lang.IllegalStateException: Cannot set web app root system property when WAR file is not expanded
    at org.springframework.web.util.WebUtils.setWebAppRootSystemProperty(WebUtils.java:155)
    at org.springframework.web.util.Log4jWebConfigurer.initLogging(Log4jWebConfigurer.java:119)
    at org.springframework.web.util.Log4jConfigListener.contextInitialized(Log4jConfigListener.java:49)
    at weblogic.servlet.internal.EventsManager$FireContextListenerAction.run(EventsManager.java:678)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
    Truncated. see log file for complete stacktrace
> 

如果我以文件夹格式部署项目,那么它会成功部署。但我想仅以WAR或EAR格式部署它。 那么有人可以建议我任何替代解决方案,我可以在EAR / WAR之外配置log4j.properties文件。

0 个答案:

没有答案