无论我使用DailyRollingFileAppender还是RollingFileAppender,log4j总是不能很好的给我备份上一个日志文件。在使用DailyRollingFileAppender的时候总是提示:
log4j:ERROR Failed to rename [c:\tomcat/logs/importlog] to [c:\tomcat/logs/impor
tlog200601241834].原因正在是使用的日志文件"c:\tomcat/logs/importlog"确实被某个程序使用着,又怎么能改名呢?
导致“c:\tomcat/logs/importlog”不断被刷新(根据DatePattern),旧的日志记录不断消失,达不到备份的目的。只有当重起tomcat的时候,它才会给我备上一份...原因tomcat启动之时“c:\tomcat/logs/importlog”并没有程序使用。附上配置:
<appender name="R" class="org.apache.log4j.DailyRollingFileAppender">
<param name="File" value="${catalina.base}/logs/importlog"/>
<param name="DatePattern" value="yyyyMMddHHmm" />
...
请教怎么解决?
log4j:ERROR Failed to rename [c:\tomcat/logs/importlog] to [c:\tomcat/logs/impor
tlog200601241834].原因正在是使用的日志文件"c:\tomcat/logs/importlog"确实被某个程序使用着,又怎么能改名呢?
导致“c:\tomcat/logs/importlog”不断被刷新(根据DatePattern),旧的日志记录不断消失,达不到备份的目的。只有当重起tomcat的时候,它才会给我备上一份...原因tomcat启动之时“c:\tomcat/logs/importlog”并没有程序使用。附上配置:
<appender name="R" class="org.apache.log4j.DailyRollingFileAppender">
<param name="File" value="${catalina.base}/logs/importlog"/>
<param name="DatePattern" value="yyyyMMddHHmm" />
...
请教怎么解决?
上述情况出现在我自己的web应用中,即配置文件位于 $MY_WEBAPP/WEB-INF/或者$MY_WEBAPP/WEB-INF/classes下。而我尝试过使用log4j取代tomcat自己的日志记录,即配置文件放在 $CATALINA_HOME/common/classes下面,滚动文件就没有问题,真是奇怪。
如果是DailyRolling文件它(log_name.log)将会被rename to "log_name.logyyyy-mm-dd";
等等出错就在rename时,当时磁盘并不存在"log_name.log.1"或"log_name.logyyyy-mm-dd"等重名文件的。而事实上我想手动修改log_name.log文件名为"abcxyz"时,系统报告文件正在被使用,我猜想是log4j锁住了他,但至于为什么会锁住,我就不知道了。
“上述情况出现在我自己的web应用中,即配置文件位于 $MY_WEBAPP/WEB-INF/或者 $MY_WEBAPP/WEB-INF/classes下。 而我尝试过使用log4j取代tomcat自己的日志记录,即配置文件放在 $CATALINA_HOME/common/classes下面,滚动文件就没有问题,真是奇怪。”