Spring通过org.springframework.web.util.WebAppRootListener 这个监听器来运行时的项目路径。
但是如果在web.xml中已经配置了 org.springframework.web.util.Log4jConfigListener这个监听器,
则不需要配置WebAppRootListener了。因为Log4jConfigListener已经包含了WebAppRootListener的功能.
通过配置参数:
<context-param> <param-name>log4jConfigLocation</param-name> <param-value>/config/log4j.properties</param-value> </context-param>
该监听器会加载对应参数,并使用这个路径加载 log4j 的配置文件。
同时在 log4j 的配置文件中,可以使用web.xml中的参数WebAppRootKey ,指定log文件的输出目录(在当前web项目下):
<context-param> <param-name>webAppRootKey</param-name> <param-value>gof.webapp.root</param-value> </context-param>
log4j.appender.gofFile = org.apache.log4j.RollingFileAppender log4j.appender.gofFile.File =${gof.webapp.root}/logs/gof.log log4j.appender.gofFile.MaxFileSize = 500MB log4j.appender.gofFile.MaxBackupIndex = 1000 log4j.appender.gofFile.layout = org.apache.log4j.PatternLayout log4j.appender.gofFile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%t]-[%p]-[%l] - %m%n
参见: http://blog.csdn.net/liuyanghai/article/details/7802405