Comment faire pivoter les fichiers journaux basé sur le temps plutôt que la taille de Log4j?
- Je utiliser Log4j avec le RollingFileAppender
pour créer un journal de rotation en fonction de la taille.
Comment puis-je le configurer pour se connecter à chaque fichier pour une certaine quantité de temps avant la rotation?
Par exemple, de sorte que chaque fichier journal contient une heure de journaux, tournant à chaque début d'heure?
- Je configurer Log4j par programmation en Java à l'aide d'un Properties
objet (par opposition à une log4j.properties
fichier)
Vous devez vous connecter pour publier un commentaire.
Vous voudrez probablement utiliser une DailyRollingFileAppender. Pour rouler à l'heure, par exemple, vous pouvez utiliser une DatePattern de
'.'yyyy-MM-dd-HH
. Pour un log4j.fichier de propriétés:Ou pour votre programmatique de configuration:
Malheureusement, à l'aide d'un DailyRollingFileAppender signifie que vous ne pouvez pas limiter la taille du fichier - ce qui peut être problématique si vous avez des tonnes de journaux dans le roulé période.
En outre,
La liste suivante indique la date des motifs qui ont défini par log4j,
L'autre chose à être prudent avec n'importe quel roulement fichier appender est de s'assurer que seule la JVM de l'accès d'un journal particulier de fichier à la fois. C'est parce que log4j caches de la taille du fichier journal pour des raisons de performances, et votre "rolling" seront déglingués si plusieurs machines virtuelles accéder aux mêmes fichiers.
Utiliser un DailyRollingFileAppender.
En particulier l'établissement de son " datePattern la propriété de
'.'yyyy-MM-dd-HH
serait la cause d'un fichier pour faire tourner toutes les heures.Vous devez utiliser le DailyRollingFileAppender. Malgré son nom trompeur, il peut être configuré dans une exécution à des périodes de temps configurables jusqu'à minutes.