了解log4j框架中的Max Backup Index

时间:2017-02-01 09:41:19

标签: java file log4j outputstream

我将向您介绍一个简单的源代码示例:

#Level
log4j.rootLogger = DEBUG, f

#Appender
log4j.appender.f = org.apache.log4j.RollingFileAppender
log4j.appender.f.File = C:\\Users\\myname\\Desktop\\Test.txt

#File size
log4j.appender.f.MaxFileSize = 100KB
log4j.appender.f.MaxBackupIndex = 1

我理解源代码的工作,并看到输出结果将是“logger消息”,写在文件 Test.txt 中。当我达到 100KB 的最大文件大小时,将创建名为 Test.txt.1的新文件

我的简单问题是,我是否可以生成名为 Test1.txt no Test.txt.1

的新文件

最好的问候,
D.Balamjiev

3 个答案:

答案 0 :(得分:2)

您可能希望使用自定义FileNamePattern,使用%i这是文件的索引:

#Appender
log4j.appender.f = org.apache.log4j.RollingFileAppender
log4j.appender.f.File = C:\\Users\\myname\\Desktop\\Test.txt
log4j.appender.f.rollingPolicy.FileNamePattern=C:\\Users\\myname\\Desktop\\Test%i.txt

答案 1 :(得分:1)

该参数定义了从回滚策略中删除后将保留多少文件:

官方doc州:

  

maxBackupIndex :要保留的最大备份文件数。

在你的情况下,每当loger文件达到你定义的100KB时就会发生......

答案 2 :(得分:0)

感谢 Berger 的想法。

这是我的全部工作资料

log4j.rootLogger = DEBUG, Roller

log4j.appender.Roller=org.apache.log4j.rolling.RollingFileAppender
    log4j.appender.Roller.RollingPolicy=org.apache.log4j.rolling.FixedWindowRollingPolicy
log4j.appender.Roller.RollingPolicy.maxIndex=5
    log4j.appender.Roller.TriggeringPolicy=org.apache.log4j.rolling.SizeBasedTriggeringPolicy
log4j.appender.Roller.TriggeringPolicy.MaxFileSize= 50000
log4j.appender.Roller.RollingPolicy.ActiveFileName=D:\\Test\\Fixed.txt

log4j.appender.Roller.layout = org.apache.log4j.PatternLayout
log4j.appender.Roller.layout.ConversionPattern = Date: %d{dd-MM-yyyy} Time: %d{HH:mm:ss} [Message is: %m] Other/%r [%t] %-5p %c %x/%n