0

我只得到一个日志文件。过去的日志被删除。我想要过去的日志文件作为备份。它不应该替换旧内容,而是将旧内容保存在单独的文件中。以下是我的 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
4

1 回答 1

0

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

您应该将这些设置为更高的值 - 比如说 1000,这将保留多达 1000 个备份文件,每个最大大小为 10MB(为 A3 定义)。

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

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

于 2012-06-04T12:32:05.273 回答