在tomcat下 控制 log4j的日志输出目录
2010-09-19 20:27
330 查看
在tomcat下 控制 log4j的日志输出目录
2008-06-16 20:14
2008-06-16 20:14
在配置log4j日志文件的输出目录时,总要写出日志的绝对路径。我想把日志写到我项目的根目录下面。如果在配置项中写成绝对路径,当我项目在移植的时候还要更改绝对路径的值,非常麻烦。怎么样才可以不用更改路径的值那。 这个问题困扰我好久,今天终于解决了。 即使使用系统变量的值表示绝对路径。在tomcat服务器下有一个系统变量的“catalina.home” 这个值表示tomcat的根目录。由于comcat根目录下面的路径相对固定,所以就可以根据这个值后面加入项目的路径即可。比如想把日志写到 myapp目录下面,只需要在配置项中写成这样: <param name="File" value="${catalina.home}/webapps/myapp/error.log" /> 这用可以解决在tomcat服务器下的日志输出路径的问题,可是如果更改服务器,这样的配置就有了问题。 解决这个问题的办法就是自己自定义一个系统变量,然后再配置项中使用。 首先在自定义个一个系统变量 “myAppHome” (不要和其他的系统变量相冲突)这个变量表示本项目的根目录 log4j的配置项中写成: <param name="File" value="${myAppHome}/error.log" /> 在程序中在读入配置项之前自定义系统变量 appFilePath = this.getServletContext().getRealPath("/"); // 获取项目的根路径 appFilePath=appFilePath.replace('//', '/'); System.setProperty("myAppHome", appFilePath); DOMConfigurator.configure(配置文件的绝对路径); |
相关文章推荐
- 在tomcat下 控制 log4j的日志输出目录
- web项目Log4j日志输出路径配置问题 问题描述:一个web项目想在一个tomcat下运行多个实例(通过修改war包名称的实现),然后每个实例都将日志输出到tomcat的logs目录下实例名命名的文
- (转)log4j(三)——如何控制不同级别的日志信息的输出?
- 把system.out.println的内容用log4j输出到tomcat日志里方法
- 灵活控制 Hibernate 的日志或 SQL 输出,以便于诊断 log4j
- log4j的用法,控制不同场景的日志输出
- Tomcat 输出日志文件 catalina.out 大小控制
- 使用log4j为Tomcat输出日志
- LOG4J输出日志到web目录的相对路径
- 解决tomcat下面部署多个项目log4j的日志输出会集中输出到一个项目中的问题
- 使用log4j为Tomcat输出日志
- log4j(四)——如何控制不同风格的日志信息的输出?
- LOG4J输出日志到web目录的相对路径
- 使用log4j为Tomcat输出日志
- (转)log4j(四)——如何控制不同风格的日志信息的输出?
- tomcat配置log4j打印输出日志到指定文件
- 控制log4j日志不输出到控制台的方法
- Linux CRON定时执行JAR程序时,log4j日志无法输出到指定目录的问题
- 如何将tomcat控制台输出的内容直播用日志文件保存起来(Log4j)
- 以包为单位控制Log4j的日志级别和输出