[转] Log4j 配置 的webAppRootKey参数问题

在tomcat下部署两个或多个项目时,web.xml文件中最好定义webAppRootKey参数,如果不定义,将会缺省为“webapp.root”,如下:<!-- 应用路径  -->      <context-param>          <param-name>webAppRootKey</param-name>          <param-value>webapp.root</param-value>      </context-param>  最好保持每个项目的参数值不同,以免引起项目冲突

1 在web.xml配置

<context-param>
<param-name>webAppRootKey</param-name>
<param-value>webName.root</param-value>
</context-param>

可以用System.getProperty("webName.root")来获取属性值。在Eclipse调试Web项目时,项目的路径是一个临时路径,不在真正的路径下,可以通过上述语句打印出属性值,来看看临时项目路径在哪里

2、Spring通过 org.springframework.web.util.WebAppRootListener
这个监听器来压入项目路径。但是如果在web.xml中已经配置了
org.springframework.web.util.Log4jConfigListener
这个监听器,则不需要配置WebAppRootListener了。因为Log4jConfigListener已经包含了WebAppRootListener的功能

3、部署在同一容器中的Web项目,要配置不同的<param-value>,不能重复

4、如果配置了
log4j.appender.file.File=${webName.root}/WEB-INF/logs/sample.log

log4j会自己自动建立logs目录, 不需要手工显式建立空的logs目录

常见错误:多个工程目录下的web.xml文件的<param-value>webName.root</param-
value>相同,就算在tomcat的conf下配置不同的名,例如配置atcs2.xml指向另外一个工程目录,但是恰巧那个工程下的
web.xml里面也配置相同的webAppRootKey,那么将会出现其中一个工程不能够访问的问题。

网页出现经典的The requested resource (/webName/) is not available错误!

问题发现方法:在myEclipse下配置log4j,之后会将一些不会报出来的错误亦会报出来,根据信息就可以发现是相同的webAppRootKey覆盖问题。在此我的log4j的报错信息:

Web app root system property already set to different value: ‘atcs.root‘
= [D:\workspace2\Huadu_Atcs3\WebContent\] instead of
[D:\WorkSpace\Huadu_Atcs3\WebContent\] - Choose unique values for the
‘webAppRootKey‘ context-param in your web.xml files!

时间: 2024-08-04 03:41:44

[转] Log4j 配置 的webAppRootKey参数问题的相关文章

Log4j 配置 的webAppRootKey参数问题

为了让Web项目中的Spring 使用Log4j做如下配置: 1.在web.xml中添加如下内容: <!--如果不定义webAppRootKey参数,那么webAppRootKey就是缺省的"webapp.root".但最好设置,以免项目之间的名称冲突. 如我这里有两个项目都在web.xml都没配置webAppRootKey,那么这两个项目发布到tomcat时就会出现如下的异常: Xml代码 严重: Exception sending context initialized ev

tomcat中部署多个项目,webAppRootKey 参数配置

在一个tomcat中部署多个项目时,需要在每个项目的web.xml中配置webAppRootKey参数,如下: <context-param> <param-name>webAppRootKey</param-name> <param-value>{your web app}.root</param-value> </context-param>

log4j配置参数详解——按日志文件大小、日期切分日志文件

项目中尽管对log4j有基本的配置,例如按天生成日志文件以作区分,但如果系统日志文件过大,则就需要考虑以更小的单位切分或者其他切分方式.下面就总结一下log4j常用的配置参数以及切分日志的不同方式. 一.基本配置解析 常用配置1: [java] view plain copy #日志级别,还可以log4j.rootLogger=INFO,file2,file3 指定file2.3的输出文件 log4j.rootLogger=info,exception,thread #info #每一天产生1个

Spring的Log4J配置器Log4jWebConfigurer介绍

1. Logj4简介 Log4j是Apache大旗下的一个子项目,它可以用来重定向应用日志文件的输出流,无论我们想将日志文件输出到控制台还是网络还是其他地方,都可以通过logj4来配置,如果我们的应用里面引入的Spring框架技术,我们可以通过Spring来初始化logj4的配置文件信息,下面2,3节是对Spring文档的一些翻译第4节是作者自己对一些问题的看法: 2. Log4jWebConfigurer及主要配置参数 Log4jWebConfigurer是一个方便的自定义log4j web环

log4j配置后行号乱码显示为?问号

debug="true"  classpathref="accrual.path" > 首发于 http://blog.xfuse.cn 参考文档 http://ant.apache.org/manual/CoreTasks/javac.html Log4j配置 log4j.appender.C1.layout.ConversionPattern=%F(%L)-- %-4r %-5p [%t] %37c %3x - %m%n 如果是用JAVAC编绎,那么直接加

spring集成Log4j以及log4j配置简要说明

Spring集成: web.xml中配置log4j <context-param> <param-name>log4jConfigLocation</param-name> <param-value>WEB-INF/log4j.xml</param-value></context-param> <!-- 加载Spring框架中的log4j监听器Log4jConfigListener --><listener>

Log4j配置详解

来自: http://www.blogjava.net/zJun/archive/2006/06/28/55511.html Log4J的配置文件(Configuration File)就是用来设置记录器的级别.存放器和布局的,它可接key=value格式的设置或xml格式的设置信息.通过配置,可以创建出Log4J的运行环境. 1. 配置文件 Log4J配置文件的基本格式如下: #配置根Loggerlog4j.rootLogger  =   [ level ]   ,  appenderName

#2014/7/24#常用log4j配置

常用log4j配置,一般可以采用两种方式,.properties和.xml,下面举两个简单的例子: 一.log4j.properties ### 设置org.zblog域对应的级别INFO,DEBUG,WARN,ERROR和输出地A1,A2 ## log4j.category.org.zblog=ERROR,A1 log4j.category.org.zblog=INFO,A2 log4j.appender.A1=org.apache.log4j.ConsoleAppender ### 设置输出

Log4j配置(转)

原文:http://www.blogjava.net/zJun/archive/2006/06/28/55511.html Log4J的配置文件(Configuration File)就是用来设置记录器的级别.存放器和布局的,它可接key=value格式的设置或xml格式的设置信息.通过配置,可以创建出Log4J的运行环境. 1. 配置文件Log4J配置文件的基本格式如下: #配置根Loggerlog4j.rootLogger  =   [ level ]   ,  appenderName1