2017-02-01 1 views
0

Je vais vous présenter un exemple simple source:Compréhension de l'indice de sauvegarde Max dans le cadre de log4j

#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 

Je comprends le fonctionnement de la source et voir que le résultat de sortie sera « messages de l'enregistreur » écrit dans le fichier Test.txt. Et quand je suis arrivé à la taille du fichier max de 100KB il sera créé nouveau fichier avec le nom Test.txt.1

Ma question est simple que je peux générer nouveau fichier pour être avec le nom Test1.txt pas Test.txt.1

Meilleures salutations,
D.Balamjiev

Répondre

1

Vous pouvez utiliser une coutume FileNamePattern, en utilisant %i qui est l'index du fichier:

#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 
0

Ce paramètre définit le nombre de fichiers seront conservés après la suppression de la politique rollback:

les doc officiels états:

MaxBackupIndex: Nombre maximum de fichiers de sauvegarde à conserver.

dans votre cas qui se produira chaque fois que le fichier Loger atteint la 100Ko ... vous avez défini

+0

Oui, je comprends, mais est-il possible de gérer le nom du fichier de sortie? –

0

Merci à Berger pour l'idée.

Voici ma source de travail complète

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