如何自动每天删除日志文件?

时间:2010-11-03 04:53:46

标签: java alfresco web-scripting

我和Alfresco有问题。它每天都会生成日志文件。我想根据日期自动删除日志文件。我的服务器安装在Windows中。

你能否对此提出任何建议。

4 个答案:

答案 0 :(得分:2)

Alfresco正在使用DailyRollingFileAppender,并且它被配置为每天滚动日志文件。

###### File appender definition #######
log4j.appender.File=org.apache.log4j.DailyRollingFileAppender
log4j.appender.File.File=alfresco.log
log4j.appender.File.Append=true
log4j.appender.File.DatePattern='.'yyyy-MM-dd
log4j.appender.File.layout=org.apache.log4j.PatternLayout
log4j.appender.File.layout.ConversionPattern=%d{ABSOLUTE} %-5p [%c] %m%n

相反,您可以使用RollingFileAppender在日志文件达到特定大小时滚动日志文件,使用此附加程序,您还可以定义最大备份数。

log4j.appender.File=org.apache.log4j.RollingFileAppender
log4j.appender.File.MaxBackupIndex=10
...
...

根据上面的配置,appender只存储最后10个备份。顺便说一句,它比DailyRollingFileAppender更安全。

根据log4j javadoc;

  

观察到DailyRollingFileAppender会出现同步问题和数据丢失。

答案 1 :(得分:1)

最好的方法是编写自己的小工具并将其注册为“计划任务”,以便在当天的预定时间运行。
你也可以注册一项服务,但我觉得这样做太过分了。

答案 2 :(得分:0)

我建议您尽可能地降低日志记录级别。每个露天的应用程序中都有一个log4j.properties文件(alfresco / WEB-INF / classes / log4j.properties和share / WEB-INF / classes / log4j.properties) - 记录日志会影响露天的性能。

此外,您应该能够完全禁用日志记录。

答案 3 :(得分:-1)

请参阅http://www.autohotkey.com/forum/topic43254.html 它提供了一个删除日志的简单工具。只需使用它。