log4j和web.xml配置webAppRootKey 的问题(一个tomcat下部署多个应用)

转自:http://blog.csdn.net/arvin_qx/article/details/6829873

在tomcat下部署两个或多个项目时,web.xml文件中最好定义webAppRootKey参数,如果不定义,将会缺省为“webapp.root”,如下:

<!-- 应用路径 -->
<context-param>
<param-name>webAppRootKey</param-name>
<param-value>webapp.root</param-value>
</context-param>

最好确保每个项目的参数值不同,以免引起项目冲突:

严重: Exception sending context initialized event to listener instance of class org.springframework.web.util.Log4jConfigListener
Java.lang.IllegalStateException: Web app root system property already set to different value: ‘webapp.root‘ = [C:\Program Files (x86)\Apache Software Foundation\Tomcat 6.0\webapps\DRMProject\] instead of [C:\Program Files (x86)\Apache Software Foundation\Tomcat 6.0\webapps\DRMSn\] - Choose unique values for the ‘webAppRootKey‘ context-param in your web.xml files!

对多个项目要对webAppRootKey进行配置,这里主要是让log能将日志写到对应项目根目录下,如我配置这两个项目的webAppRootKey为:

<!-- 应用路径 -->
<context-param>
<param-name>webAppRootKey</param-name>
<param-value>webapp.root1</param-value>
</context-param>
==================================
<!-- 应用路径 -->
<context-param>
<param-name>webAppRootKey</param-name>
<param-value>webapp.root2</param-value>
</context-param>

这样就不会出现冲突了。

定义以后,在Web Container启动时将把ROOT的绝对路径写到系统变量里。
然后log4j的配置文件里就可以用${webName.root}来表示Web目录的绝对路径,把log文件存放于webapp中。

时间: 2024-10-16 12:50:23

log4j和web.xml配置webAppRootKey 的问题(一个tomcat下部署多个应用)的相关文章

log4j和web.xml配置webAppRootKey 的问题

在tomcat下部署两个或多个项目时,web.xml文件中最好定义webAppRootKey参数,如果不定义,将会缺省为"webapp.root",如下: <!-- 应用路径 --> <context-param> <param-name>webAppRootKey</param-name> <param-value>webapp.root</param-value> </context-param>

(转)web.xml中webAppRootKey

web.xml中webAppRootKey ------------------------------------------------------------------------------------------------ 1. web.xml配置 webAppRootKey webapp.root "webapp.root"这个字符串可以随便写任何字符串.如果不配置默认值是"webapp.root". 可以用System.getProperty(&q

maven工程web层的web.xml配置文档内容

下面是web层,web.xml配置文档里面需要配置的东西: 1.lo4j配置 2.读取spring文件配置 3.设计路径变量值 4.spring字符集过滤器 5.登陆过滤器 6.springMVC核心配置 7.session过期时间 8.错误页面跳转 以下是实例: <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSch

web.xml中webAppRootKey

------------------------------------------------------------------------------------------------1. web.xml配置  <context-param> <param-name>webAppRootKey</param-name> <param-value>webapp.root</param-value> </context-param>

[转]web.xml中webAppRootKey

web.xml中webAppRootKey ------------------------------------------------------------------------------------------------1. web.xml配置 <context-param> <param-name>webAppRootKey</param-name> <param-value>webapp.root</param-value>

tomcat下部署了多个项目启动报错java web error:Choose unique values for the &#39;webAppRootKey&#39; context-param in your web.xml files

应该是tomcat下部署了多个项目且都使用log4j. <!--如果不定义webAppRootKey参数,那么webAppRootKey就是缺省的"webapp.root".但最好设置,以免项目之间的名称冲突. 定义以后,在Web Container启动时将把ROOT的绝对路径写到系统变量里. 然后log4j的配置文件里就可以用${webName.root }来表示Web目录的绝对路径,把log文件存放于webapp中. 此参数用于后面的“Log4jConfigListener”

web.xml 配置applicationContext.xml

web.xml中classpath:和classpath*:  有什么区别? classpath:只会到你的class路径中查找找文件; classpath*:不仅包含class路径,还包括jar文件中(class路径)进行查找. 有时候会用模糊匹配的方式配置多配置文件. 但是如果配置文件是在jar包里,模糊匹配就找不到了.可以用逗号隔开的方式配置多个配置文件. 如: <listener>  <listener-class>org.springframework.web.conte

web.xml 配置详解

web.xml是网络程序中一个很重要的配置文件 1.XML相关标准 XML不仅仅是一种语言,广义的XML是一系列标准的集合. XML基础标准是为XML的进一步使用后定制的标准,它规定了采用XML制定标准时的一些公用特征.方法或规则.XML Schema描述了更加严格定义XML文档的方法,以便可以更加自动的处理文档. 2.DTD(文档类型定义) WEB应用的名称 <display-name></display-name> WEB应用的描述信息 <description>&

Spring MVC的web.xml配置详解(转)

出处http://blog.csdn.net/u010796790 1.spring 框架解决字符串编码问题:过滤器 CharacterEncodingFilter(filter-name) 2.在web.xml配置监听器ContextLoaderListener(listener-class) ContextLoaderListener的作用就是启动Web容器时,自动装配ApplicationContext的配置信息.因为它实现了ServletContextListener这个接口,在web.