Bonjour
J’ai un problème avec le DailyRollingFileAppender dans log4j.
L'idée est simple je voudrais que mes fichiers de log soient archives tous les jours a minuit avec le suffixe du jour écoulé (log.log-2010-08-12).
En parallèle, j'ai un script qui se lance tous les jours a 1 heure du matin pour récupérer les logs archivés de la veille et les stocker (il cherche tous les fichier qui se termine par -2010-08-12).
Mon problème est que le niveau de trace est ERROR et qu'il semble que le rolling ne se fait pas à minuit exactement mais la première fois que log4j doit écrire dans les logs le jour suivant.
C'est a dire que si je n'ai pas d'erreur entre minuit et 13h00 le rolling ne se fera qu'a 13heures et mon script est déjà passe. De plus si je n’ai pas d’erreur dans les logs pendant plusieurs jours, le rolling du ficher du mardi peut se faire le vendredi par exemple.
Est-ce que quelqu'un peu me dire si il est possible de forcer la génération du fichier "Rolled" log-2010-08-13 à minuit exactement sans attendre la prochaine écriture dans les logs.
Merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 <appender name="FILE" class="org.apache.log4j.DailyRollingFileAppender"> <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler" /> <param name="Append" value="true" /> <param name="DatePattern" value="'.'yyyy-MM-dd" /> <param name="File" value="${log.dir}/${jboss.instance.name}/server.log" /> <param name="Threshold" value="${file.logging.level}" /> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%d %-5p [%c] %m%n" /> </layout> <filter class="org.jboss.logging.filter.TCLFilter"> <param name="AcceptOnMatch" value="false" /> <param name="DeployURL" value="${app.name}.${app.ext}" /> </filter> </appender>
Partager