Java Web工程配置log4j相对路径

将log4j的日志配置为相对路径,可以利用web.xml的webAppRootKey配置。

<context-param>
    <param-name>webAppRootKey</param-name>
    <param-value>{自定义,如:webapp.root}</param-value>
</context-param>

如果不配置,默认是webapp.root;如果配置,则同一容器(如Tomcat)内的Web项目要配成不同的值,否则启动Tomcat时会报错Java.lang.IllegalstateException: web app root system property already set to different value:...。

在Java程序中可以用System.getProperty("{自定义值}")来动态获取项目的运行路径,如:D:/tomcat/webapp/myweb。

在log4j配置中可以通过${自定义值}获取项目的运行路径,如${webapp.root}等于D:/tomcat/webapp/myweb。设置日志路径为${webapp.root}/logs/app.log即能达到相对路径的效果。

相关推荐