在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>
最好每个项目的参数值不同,以免引起项目冲突 严重: Exception sending context initialized event to listener instance of class org.springframework.web.util.Log4jConfigListener |
对多个项目要对webAppRootKey进行配置,这里主要是让log能将日志写到对应项目根目录下,如我配置这两个项目的webAppRootKey为
<context-param> <param-name>webAppRootKey</param-name> <param-value>webapp.root1</param-value> </context-param>
2
<context-param> <param-name>webAppRootKey</param-name> <param-value>webapp.root1</param-value> </context-param>
这样就不会出现冲突了。
定义以后,在Web Container启动时将把ROOT的绝对路径写到系统变量里。
然后log4j的配置文件里就可以用${webName.root }来表示Web目录的绝对路径,把log文件存放于webapp中。
Log4j 配置 的webAppRootKey参数问题
为了让Web项目中的Spring 使用Log4j做如下配置:
1、在web.xml中添加如下内容:
<!--如果不定义webAppRootKey参数,那么webAppRootKey就是缺省的"webapp.root"。但最好设置,以免项目之间的名称冲突。
定义以后,在Web Container启动时将把ROOT的绝对路径写到系统变量里。
然后log4j的配置文件里就可以用${webName.root }来表示Web目录的绝对路径,把log文件存放于webapp中。
此参数用于后面的“Log4jConfigListener”-->
<context-param> <param-name>webAppRootKey</param-name> <param-value>webName.root</param-value> </context-param>
<!--由Sprng载入的Log4j配置文件位置-->
<context-param> <param-name>log4jConfigLocation</param-name> <param-value>/WEB-INF/log4j.properties</param-value> </context-param>
<!--Spring默认刷新Log4j配置文件的间隔,单位为millisecond-->
<context-param> <param-name>log4jRefreshInterval</param-name> <param-value>60000</param-value> </context-param>
<!-- Web 项目 Spring 加载 Log4j 的监听 -->
<listener> <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class> </listener>
2、编写log4j.properties属性文件,使用web.xml配置的全局变量:
log4j.appender.A_default.File=${webName.root}/WEB-INF/logs/log4j.log
详细内容略。
问题:
如上配置后,log4j.properties属性文件的存放位置,应在Web项目中的WEB-INF下,而不是默认的/WEB-INF/classes下。
可在做spring 的单元测试时,默认读取classes下的log4j.properties,不知该问题如何解决?
如果把log4j.properties存放在/WEB-INF/classes/log4j.properties下的话,会在启动Tomcat时报错:
log4j:ERROR setFile(null,true) call failed.
java.io.FileNotFoundException:/WEB-INF/logs/log4j.log (系统找不到指定的路径。)
可在/WEB-INF/logs/log4j.log 却可以看到log4j.log文件已存在Spring的日志输出信息。
分析可能是其他的类在加载log4j.properties时,无法读取${webName.root}变量的值。
http://blog.csdn.net/sghys/archive/2008/12/24/3587744.aspx
可用
<context-param><param-name>log4jConfigLocation</param-name> <param-value>classpath:log4j.properties</param-value> </context-param>
解决把log4j.properties存放在/WEB-INF/classes/log4j.properties启动Tomcat时报错问题
转载于:https://www.cnblogs.com/lijingran/p/7745199.html
在tomcat下部署两个或多个项目时 log4j和web.xml配置webAppRootKey 的问题(转)相关推荐
- linux部署tomcat项目404_一个tomcat下部署多个项目或一个服务器部署多个tomcat
点击上方[全栈开发者社区]→右上角[...]→[设为星标⭐] ♪ 点击上方绿标 收听一个tomcat下部署多个项目或一个服务器部署多个tomcat 最近需要把两个项目同时部署到服务器上,于是研究了一下 ...
- tomcat web.xml配置
tomcat 禁用不安全的http请求方式(转) 1:我的配置 web.xml(url下禁用的请求方式) <security-constraint> <web-resource ...
- Tomcat web.xml配置参数详解
Apache Tomcat Configuration Reference - The Context Container https://tomcat.apache.org/tomcat-5.5-d ...
- Gir合并merge两个完全不同Git项目时出现fatal: refusing to merge unrelated histories的解决办法
1.问题背景 我们有时会有这样一个疑问:Git会知道两个项目是毫不相干的嘛?如果我们合并merge两个毫不相干的项目会发生什么? 其实Git是可以判断两个项目是否是毫不相干的,判断的依据是两个项目的第 ...
- tomcat同时部署两个项目的问题
最近直接把两个项目打成war包在tomcat下发布,出现了很多莫名奇妙的问题,就是不能发布成功,只能有一个项目能成功,在网上查了很多方法,以为是两个项目中jar包出现冲突,也按照网上的方法把两个项目中 ...
- 一个tomcat下部署不同端口多个应用
通过配置tmcat的server.xml来实现多端口多应用: <?xml version='1.0' encoding='utf-8'?><Server port="800 ...
- 环境部署(java安装和配置,Tomcat安装和配置)(tomcat下部署war包)
1,上传环境部署安装包到服务器上 2,解压安装包,并部署java # tar -xf jdk-8u201-linux-x64.tar.g # mkdir /usr/java # cp jdk1.8 ...
- 在Tomcat下部署Jenkins
部署Jenkins有很多种方法,今天我们介绍下如何通过Tomcat轻松部署Jenkins 一.Why Linux,Not Windows 一般都会将Jenkins这种服务类的系统,部署在Linux端( ...
- linux mule,在Tomcat下部署Mule
原文是在mule的官网上,在这里,我做了一个简单的翻译,水平有限,有什么不足的地方,请多多包涵~ 在Tomcat中安装Mule 为了可以热部署你的Mule应用,将Mule安装在Tomcat下需要如下的 ...
最新文章
- 2019 ICPC Asia Nanjing Regional J.Spy(KM算法O(n^3)板子题)
- Java Servlet关键点详解
- 修改android init.rc,busybox及bash在android中的安装及init.rc修改
- UWP 推荐 - 限时免费的RSS阅读器《RSS 追踪》登录 Windows 10
- 【线性代数】 解行列式的基本方法
- 1004 C语言设置测试数据个数和测试结束标志
- 添加Maven(mvn)、sbt的国内仓库
- 我对骨骼动画的理解(最精减的骨骼动画类)
- Egret入门学习日记 --- 第十四篇(书中 5.4~5.6节 内容)
- AD09导出光绘文件(Gerber)
- pc系统安全问题让你防不胜防--安装系统屏保时,偶然发现没有安装的ie工具栏软件baidu_jpwb(Just Under/WINDOWS)!
- UE4 Runtime下导入IES贴图为TextureLightProfile
- 计算机专业毕业设计题目大全——各种类型系统设计大全
- 数据库系统原理与应用教程(006)—— 编译安装 MySQL5.7(Linux 环境)
- IDE也卷了,微软杀入嵌入式IDE
- python123数字转换_Python 中文(大写)数字转阿拉伯数字(转)
- 【RW007系列综合实战3】柿饼派上怎样更新RW007固件和驱动?
- 流量直升机-千牛插件功能列表
- 全网最全ebay大数据面经合集
- 员工与客户之间就是一个微信