在web应用中的如何设置日志文件的路径呢?最笨的方法是写绝对路径,但很不方便。
而spring的做法是使用一个servlet listener,在web container启动时把root的绝对路径写到系统变量里,这样log4j的配置文件里就可以用${myappfuse.root}来表示刚刚设进去的系统变量:
log4j.appender.logfile.file=${myappfuse.root}/logs/mylog 在web.xml中配置语句如下:
<!--如果不设,默认为web.root,但最好设置,以免项目间冲突-->
<context-param>
<param-name>webapprootkey</param-name>
<param-value>myappfuse.root</param-value>
</context-param>
<context-param>
<param-name>log4jconfiglocation</param-name>
<param-value>/web-inf/log4j.properties</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.util.log4jconfiglistener</listener-class>
</listener>
闽公网安备 35060202000074号