Rouler des billes en termes de taille et de temps
- Je utiliser RollingFileAppender
de log4j 1.2.16
, qui roule des fichiers journaux, lorsqu'ils atteignent une certaine taille. Maintenant, je voudrais rouler fichiers journaux tous les jours et quand ils atteignent une certaine taille. Ainsi, il y aura un ou plusieurs fichiers journaux par jour.
Par exemple,
myapp.journal myapp-17.12.2013.journal myapp-16.12.2012.journal myapp-16.12.2012.1.journal myapp-16.12.2012.2.journal
Est-il un hors-the-shelf appender, qui est-il déjà?
OriginalL'auteur Michael | 2012-12-18
Vous devez vous connecter pour publier un commentaire.
Il y a en effet deux options:
Garder à l'esprit que les deux options utiliser le fichier renomme. Examiner attentivement s'il y a un autre script en déplaçant automatiquement ces fichiers. Changement de nom de fichier est risqué quand les deux procédés de traiter avec le même fichier.
Ma suggestion est d'écrire directement à l'immuable nom de fichier journal dans le modèle: myapp-{jj.MM.aaaa}.{X}.journal. De cette façon, "rolling" est tout simplement la fermeture d'un fichier et d'en ouvrir un nouveau. Pas de renomme. Pas de threads d'arrière-plan.
OriginalL'auteur David Peleg
La rapide réponse est "non". En regardant log4j la javadoc: https://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/FileAppender.html
Il y a seulement deux out-of-the-box fichier appenders: DailyRollingFileAppender et RollingFileAppender (et le premier n'est pas recommandé, car il a des problèmes de synchronisation).
À réaliser ce que vous voulez, vous devez créer votre propre appender, l'extension de RollingFileAppender et en le modifiant pour restaurer le fichier si le jour des changements. La modification de la méthode:
Vous pouvez voir sa source ici: http://www.docjar.com/html/api/org/apache/log4j/RollingFileAppender.java.html (ligne 274).
Vous suffit de copier et de coller le code et de modifier le si vous appelez de roulement pour répondre à vos besoins.
OriginalL'auteur izaera
Ci-dessous xml de configuration va faire le travail:
JAR requis: log4j-rolling-appender-20150607-2059
OriginalL'auteur brajesh kumar