log4j 日志文件相对路径

1、在Tomcat 5.5中的Log4j 日志文件的默认相对路径是:bin目录下,
如果要配置到你的应用程序的目录下只需这样:
    >如果用myEclipse开发环境下用:"../webapps/你的工程目录/日志文件名";
    >如果直接用tomcat5.5启动:"./webapps/你的工程目录/日志文件名";
就是一个点和两个点的问题。
这里要注意的是你所列出的目录必须存在(绝对路径直接写即可)。

 

2、 解决的办法自然是用相对路径代替绝对路径,其实log4j 的FileAppender本身就有这样的机制,如:log4j .appender.logfile.File=${WORKDIR}/logs/app.log
其中“${WORKDIR}/”是个变量,会被System Property中的“WORKDIR”的值代替。这样,我们就可以在log4j 加载配置文件之前,先用System.setProperty ("WORKDIR", WORKDIR);设置好根路径,此操作可通过一初始的servlet进行。

3、可以使用服务器环境变量
log4j 的配置文件支持服务器的vm的环境变量,格式类似${catalina.home}
log4j .appender.R=org.apache.log4j .RollingFileAppender
log4j .appender.R.File=${catalina.home}/logs/logs_tomcat.log
log4j .appender.R.MaxFileSize=10KB
其 中的${catalina.home}并非windows系统的环境变量,这个环境变量就不需要在Windows系统的环境变量中设置。之所以这样,你可 以看看tomcat\bin\catalina.bat(startup,shutdown都是调用这个)里面自带有-Dcatalina.home= "%CATALINA_HOME%" 。继承这个思想,所以你也可以自己设定一个参数-Dmylog.home="D:/abc/log"到对应的服务器java启动的vm参数中

你可能感兴趣的:(tomcat,log4j,应用服务器,windows,MyEclipse)