如何在日志文件中获取旧日志详细信息?

时间:2012-06-04 11:58:12

标签: java eclipse logging log4j struts

我只得到一个日志文件。过去的日志被删除了。 我希望过去的日志文件作为备份。 它不应该替换旧内容,而是将旧内容保存在单独的文件中。 以下是我的log4j.properties文件

# Log4j configuration file.
 log4j.rootCategory=DEBUG, A1
 # Available levels are DEBUG, INFO, WARN, ERROR, FATAL

 #
 # A1 is a ConsoleAppender 
 #

log4j.appender.A1 = org.apache.log4j.RollingFileAppender
log4j.appender.A1.File = C:/LogInfo/logfile.log
log4j.appender.A1.MaxFileSize = 100MB
log4j.appender.A1.MaxBackupIndex=10
log4j.appender.A1.layout = org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern = [%d] %C %M %L - %m%n
log4j.appender.A1.Threshold = DEBUG

 #
 # A2 is a DailyRollingFileAppender
 #
 log4j.appender.A2=org.apache.log4j.DailyRollingFileAppender
 log4j.appender.A2.file=C:/LogInfo/logfile.log
 log4j.appender.A2.datePattern='.'yyyy-MM-dd
 log4j.appender.A2.append=true
 log4j.appender.A2.layout=org.apache.log4j.PatternLayout
 log4j.appender.A2.layout.ConversionPattern=[%d] %C %M %L - %m%n

 # 
 #
 # A3 is a RollingFileAppender - Should be used in production only
 #   
 log4j.appender.A3=org.apache.log4j.RollingFileAppender
 log4j.appender.A3.file=C:/LogInfo/logfile.log
 log4j.appender.A3.append=true
 log4j.appender.A3.MaxBackupIndex=5
 log4j.appender.A3.MaxFileSize=10MB
 log4j.appender.A3.layout=org.apache.log4j.PatternLayout
 log4j.appender.A3.layout.ConversionPattern=[%d] %C %M %L - %m%n

1 个答案:

答案 0 :(得分:0)

取决于您使用的是哪个appender - 看起来可能是A2或A3。 在这种情况下,您需要增加MaxBackupIndex的值 - 对于A3,它设置为5意味着将保留最多5个备份文件。对于A2,此属性未定义,因此它将使用默认值1,该值保留最多1个备份文件。

你应该将它们设置为更高的值 - 比如1000,这将保持最多1000个备份文件,每个最大大小为10MB(为A3定义)。

log4j.appender.A2.MaxBackupIndex=1000
log4j.appender.A3.MaxBackupIndex=1000

编辑:对不起,dint读了第一行。看起来你正在使用A1 appender,它将保持最多10个文件,每个100MB。您可以增加这些值以保留更旧的日志。