2010-01-07 2 views
3

J'essaye de faire tourner le fichier journal tous les jours en utilisant le DailyRollingFileAppender, mais j'ai un problème: les fichiers journaux ne sont pas mis à jour tous les jours, donc tourner quand il n'y a pas de nouveaux trucs dedans.Log4j: faire pivoter le fichier journal même si le fichier n'a pas changé

Y at-il un moyen dans les propriétés log4j.properties que je peux le définir afin que log4j tourne le fichier journal tous les jours même si le fichier n'a pas de modifications?

+0

Je suspecte pas; quelque chose devra se connecter pour que log4net puisse effectivement exécuter du code et réaliser qu'il doit le faire pivoter (sinon, vous auriez besoin d'un processus d'arrière-plan). Pourriez-vous enregistrer un seul événement chaque jour? Cela devrait faire ce dont vous avez besoin. Quel problème exactement essayez-vous de résoudre? –

+0

J'ai un autre script qui essaie de saisir le journal sur une base quotidienne. Si le journal ne tourne pas tous les jours, je saisirai le même journal pendant plus d'un jour, car il n'y a pas de mise à jour dans le journal, je suis en train de saisir le même journal. Il existe évidemment d'autres moyens de contourner ce problème, mais je veux juste savoir s'il existe un moyen de le faire dans log4j. merci pour votre réponse rapide btw. : D – fei

Répondre

6

Log4j DailyRollingFileAppender ne générera pas de fichier vide si aucune journalisation n'a eu lieu. De la implementation:

/** 
* This method differentiates DailyRollingFileAppender from its 
* super class. 
* 
* <p>Before actually logging, this method will check whether it is 
* time to do a rollover. If it is, it will schedule the next 
* rollover time and then rollover. 
* */ 
protected void subAppend(LoggingEvent event) { 
+0

merci! c'est bon à savoir. – fei

Questions connexes