Skip to content

Appender RollingFile "task-log"

Cet appender gère les logs des tâches planifiées avec rotation automatique des fichiers.

Exemple de configuration :

xml
<RollingFile name="task-log" fileName="logs/tasks.log" filePattern="logs/tasks-%d{yyyy-MM-dd}.log">
    <ThresholdFilter level="DEBUG"/>
    <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss},%m%n"/>
    <Policies>
        <SizeBasedTriggeringPolicy size="1000KB"/>
    </Policies>
    <DefaultRolloverStrategy max="100"/>
</RollingFile>

Exemple de log :

Le journal de tâches est un journal de type CSV. Il est différent des autres journaux car il ne fait que prendre une photo de l'état des tâches planifiées à un instant T. Il peut servir à analyser la charge sur le système, mais ne peut pas illustrer l'ensemble des tâches ayant été exécutées. Le format de chaque ligne de log est composé de 4 sections et de 10 colonnes. Si l'on prend l'exemple suivant, voici l'explication de chaque colonne :

xml
2025-01-28 15:43:54,1,0,,5,1,2025-01-28 15:43:43,10,0,

Détail des sections :

  1. 2025-01-28 15:43:54 : Date et heure de la capture
  2. Section pour les tâches de haute priorité
  3. Section pour les tâches de moyenne priorité
  4. Section pour les tâches de basse priorité

Maintenant, détail des colonnes :

  • 2025-01-28 15:43:54 : Date et heure de la capture
  • 1 : Identifiant indiquant la section des tâches de basse priorité (1 = Basse priorité, 5 = Moyenne priorité, 10 = Haute priorité).
  • 0 : Le nombre de tâches de basse priorité en cours d'exécution.
  • `` : La date et heure de la plus vieille tâche de basse priorité n'ayant pas encore été exécutée.
  • 5 : Identifiant indiquant la section des tâches de moyenne priorité (1 = Basse priorité, 5 = Moyenne priorité, 10 = Haute priorité).
  • 1 : Le nombre de tâches de moyenne priorité en cours d'exécution.
  • 2025-01-28 15:43:43 : La date et heure de la plus vieille tâche de moyenne priorité n'ayant pas encore été exécutée.
  • 10 : Identifiant indiquant la section des tâches de haute priorité (1 = Basse priorité, 5 = Moyenne priorité, 10 = Haute priorité).
  • 0 : Le nombre de tâches de haute priorité en cours d'exécution.
  • `` : La date et heure de la plus vielle tâche de haute priorité n'ayant pas encore été exécutée.

Configuration de base

  • Nom: task-log
  • Fichier de sortie: logs/tasks.log
  • Pattern des fichiers d'archive: logs/tasks-[DATE].log

Format des logs

Le pattern %d{yyyy-MM-dd HH:mm:ss},%m%n définit le format suivant :

  • %d{yyyy-MM-dd HH:mm:ss} : Date et heure au format spécifié
  • , : Séparateur (virgule)
  • %m : Message du log
  • %n : Retour à la ligne

Politique de rotation

  • SizeBasedTriggeringPolicy: 1000KB (1MB) par fichier
  • DefaultRolloverStrategy: Maximum 100 fichiers d'archive
  • La rotation crée un nouveau fichier quand :
    • Le fichier actuel atteint 1MB
    • Une nouvelle journée commence (basé sur le pattern de date)

Filtre

  • ThresholdFilter: Niveau minimum DEBUG
  • Tous les messages de niveau DEBUG ou supérieurs seront enregistrés
  • Format particulièrement adapté pour :
    • L'export vers des outils d'analyse (format CSV-like)
    • Le suivi chronologique des tâches planifiées
    • L'analyse historique avec une rétention importante (100 fichiers)

Références