在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>
|