2017-08-29 4 views
0

J'utilise les codes ci-dessous. Lorsque j'exécute le projet, créez le fichier MyLogFile.log.Pourquoi log4j renomme le nom de fichier?

Le jour suivant, je lance le projet et log4j renomme MyLogFile en MyLogFile.log_Yesterday.log et crée un nouveau fichier MyLogFile et commence à écrire ce fichier.

Pourquoi ne crée-t-il pas le fichier MyLogFile.log_ToDay.log? Pourquoi il renomme fileName? Merci d'avance

log4j.rootLogger=DEBUG, stdout 
log4j.rootLogger=DEBUG, RollingAppender 
log4j.appender.RollingAppender=org.apache.log4j.DailyRollingFileAppender 
log4j.appender.RollingAppender.File=d:/Logs/MyLogFile.log 
log4j.appender.RollingAppender.DatePattern='_'yyyy-MM-dd'.log' 
log4j.appender.RollingAppender.layout=org.apache.log4j.PatternLayout 
log4j.appender.RollingAppender.layout.ConversionPattern=[%p] %d %c %M - %m%n 
+0

En raison de log4j.appender.RollingAppender = org.apache.log4j.DailyRollingFileAppender, DailyRollingAppender? – yashpandey

+0

Je veux faire un fichier journal chaque jour. Mais, par exemple aujourd'hui, il n'écrit pas le fichier MylogFile.log_today.log. Il écrit dans MyLogFile et le jour suivant le renommer. –

+0

https://stackoverflow.com/questions/192456/setting-a-log-file-name-to-include-current-date-in-log4j – yashpandey

Répondre

1

Le appender utilisé est org.apache.log4j.DailyRolling‌​FileAppender qui prend une sauvegarde du fichier journal en cours chaque fois que la date change. Le fichier journal sera créé avec le nom MyLogFile.log et les journaux y seront écrits.

2017-08-30, chaque fois que le code rencontre quelque chose à être connecté, le appender va renommer le fichier créé la veille à MyLogFile_2017-08-29.log et créer un MyLogFile.log frais pour la journée en cours.

Veuillez vous référer au Javadoc for DailyRollingFileAppender pour plus de détails sur comment cela fonctionne.

+0

Comment puis-je faire, chaque jour log4f créer un fichier quotidien et écrit dans ce fichier? –

+0

Vous n'avez rien à faire. 'log4j' gère le rollover quotidien. Si vous ne souhaitez pas que le fichier soit reconduit tous les jours, vous pouvez remplacer l'appender par RollingFileAppender et utiliser une stratégie différente pour le rollover. Il y a la propriété 'MaxFileSize' qui continuera à se connecter dans le même fichier jusqu'à ce que la taille spécifiée du fichier soit atteinte. Veuillez consulter la documentation 'log4j' pour plus de détails. –

+0

Impossible de résoudre ce problème avec RollingFileAppender? –