[转] 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!
[转] Log4j 配置 的webAppRootKey参数问题的更多相关文章
- Log4j 配置 的webAppRootKey参数问题
为了让Web项目中的Spring 使用Log4j做如下配置: 1.在web.xml中添加如下内容: <!--如果不定义webAppRootKey参数,那么webAppRootKey就是缺省的&q ...
- tomcat中部署多个项目,webAppRootKey 参数配置
在一个tomcat中部署多个项目时,需要在每个项目的web.xml中配置webAppRootKey参数,如下: <context-param> <param-name>webA ...
- log4j配置参数详解——按日志文件大小、日期切分日志文件
项目中尽管对log4j有基本的配置,例如按天生成日志文件以作区分,但如果系统日志文件过大,则就需要考虑以更小的单位切分或者其他切分方式.下面就总结一下log4j常用的配置参数以及切分日志的不同方式. ...
- log4j - 输出格式控制, PatternLayout参数含义以及详细配置
转载自:https://blog.csdn.net/reserved_person/article/details/52849505 做项目被log4j的输出格式化参数搞烦了,索性把API的相关部分大 ...
- Spring的Log4J配置器Log4jWebConfigurer介绍
1. Logj4简介 Log4j是Apache大旗下的一个子项目,它可以用来重定向应用日志文件的输出流,无论我们想将日志文件输出到控制台还是网络还是其他地方,都可以通过logj4来配置,如果我们的应用 ...
- log4j配置详解
Log4J的配置文件(Configuration File)就是用来设置记录器的级别.存放器和布局的,它可接key=value格式的设置或xml格式的设置信息.通过配置,可以创建出Log4J的运行环境 ...
- 使用log4j配置不同文件输出不同内容
敲代码中很不注意写日志,虽然明白很重要.今天碰到记录日志,需要根据内容分别输出到不同的文件. 参考几篇文章: 感觉最详细:http://blog.csdn.net/azheng270/article/ ...
- log4j配置日志文件log4j.appender.R.File相对路径方法
方法一. 解决的办法自然是用相对路径代替绝对路径,其实log4j的FileAppender本身就有这样的机制,如:log4j.appender.logfile.File=${WORKDIR}/logs ...
- Log4j配置详解及不同的包(package)下的日志写入到不同的日志文件下
详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt262 以下都是log4j.properties要写入的内容: 一:参数介绍: ...
随机推荐
- face_recognition 人脸识别报错
[root@localhost examples]# python facerec_from_video_file.py RuntimeError: module compiled against A ...
- 【DeepLearning学习笔记】Coursera课程《Neural Networks and Deep Learning》——Week2 Neural Networks Basics课堂笔记
Coursera课程<Neural Networks and Deep Learning> deeplearning.ai Week2 Neural Networks Basics 2.1 ...
- rtems-os-source
http://blog.csdn.net/xpx3216/article/details/5776941 http://tech.hqew.com/fangan_421204 https://gith ...
- 【uva11613】生产销售规划
这很像之前做的一道noip模拟题…… 所以当时那题也可以用费用流写(雾) 拆点,将每个月拆成两个点,一个向起点连边表示产量,另一个点连汇点表示销量. 然后每个点依次往后面的点2连边,表示保存. #in ...
- jQuery -《锋利的jQuery》————读后小结
jQuery是一个优秀的javascript库. 我用的是vs2012自带的 jquery-1.8.2.js这个库,在Scripts这个文件夹下面 首先,我们使用jQuery要在head标签内引入j ...
- hihocoder 1145 : 幻想乡的日常
#1145 : 幻想乡的日常 时间限制:20000ms 单点时限:1000ms 内存限制:256MB 描述 幻想乡一共有n处居所,编号从1到n.这些居所被n-1条边连起来,形成了一个树形的结构. 每处 ...
- [PAT] 1143 Lowest Common Ancestor(30 分)1145 Hashing - Average Search Time(25 分)
1145 Hashing - Average Search Time(25 分)The task of this problem is simple: insert a sequence of dis ...
- 爬虫基础库之requests
requests Python标准库中提供了:urllib.urllib2.httplib等模块以供Http请求,但是,它的 API 太渣了.它是为另一个时代.另一个互联网所创建的.它需要巨量的工作, ...
- CSS 规范
不能写得一手好字是一个遗憾.不能写得一手好看的代码更是一种遗憾.——致青春 1. 为选择器分组时,将单独的选择器单独放在一行. 2. 为了代码的易读性,在每个声明块的左花括号前添加一个空格. 3. 声 ...
- CSS布局和居中常用技巧
1.常用居中方法 居中在布局中很常见,我们假设DOM文档结构如下,子元素要在父元素中居中: <div class="parent"> <div class=&qu ...