日期:2014-05-20  浏览次数:20798 次

spring log4j 生成日志路径不对的问题
用log4j记录日志,发现了很奇怪的问题。

1、用eclipse3.7开发spring web项目testWeb,
log4j.properties:
log4j.rootLogger=DEBUG,R,stdout
log4j.appender.R=org.apache.log4j.DailyRollingFileAppender
log4j.appender.R.File=${logFilePath}/test.log

web.xml:
<context-param>
<param-name>logFilePath</param-name>
<param-value>www/log</param-value>
</context-param>

我的eclipse安装在d盘
启动服务后,发现日志在D:\test.log
而在eclipse发布的目录下的testWeb\www\log\下没有日志文件。

请问这是什么原因造成的?



------解决方案--------------------
你这样试试--

web.xml:
<context-param>
<param-name>webAppRootKey</param-name>
<param-value>test</param-value>
</context-param>

log4j.properties:
log4j.appender.R.File=${test}/logs/test.log

------解决方案--------------------
有个log4j.properties文件里面可以配置你日志的生成目录
------解决方案--------------------
把这个${logFilePath}值打印看下
------解决方案--------------------
Java code

         DailyRollingFileAppender appender = (DailyRollingFileAppender)Logger.getRoot().getAppender("R");
         System.err.print("log path = " + appender .getFile());