在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>
新聞熱點
疑難解答