Skip to content

Appender RollingFile "audit-log"

Cet appender gère les logs d'audit avec rotation automatique des fichiers.

Exemple de configuration :

xml
<RollingFile name="audit-log" fileName="logs/audit.log" filePattern="logs/audit-%d{yyyy-MM-dd}.log">
    <ThresholdFilter level="INFO"/>
    <PatternLayout pattern="%d %-5p [%t][%X{MDC_USER}][%X{MDC_REMOTE_IP}][%X{MDC_COMPONENT}] - %m%n"/>
    <Policies>
        <SizeBasedTriggeringPolicy size="100KB"/>
    </Policies>
    <DefaultRolloverStrategy max="10"/>
</RollingFile>

Exemple de log :

text
2025-02-05 17:15:00,006 INFO  [scheduler-worker-3][Business Partners\admin][[0:0:0:0:0:0:0:1]][sfiler-gui] - Original time: 2025-02-05T17:14:55.000-0500: L'extension 'Exécuter un script générique Groovy' a été ajoutée.

Détail des sections :

  1. 2025-02-05 17:15:00,006 : Date et heure du log
  2. INFO : Niveau de log
  3. [scheduler-worker-3] : Nom du thread
  4. [Business Partners\admin] : Nom de l'utilisateur
  5. [[0:0:0:0:0:0:0:1]] : Adresse IP distante
  6. [sfiler-gui] : Composant système concerné
  7. - Original time: 2025-02-05T17:14:55.000-0500: L'extension 'Exécuter un script générique Groovy' a été ajoutée. : Message du log

Configuration de base

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

Format des logs

Le pattern %d %-5p [%t][%X{MDC_USER}][%X{MDC_REMOTE_IP}][%X{MDC_COMPONENT}] - %m%n définit le format suivant :

  • %d : Date et heure du log
  • %-5p : Niveau de log (DEBUG, INFO, ERROR...) aligné sur 5 caractères
  • [%t] : Nom du thread
  • [%X{MDC_USER}] : Nom de l'utilisateur (depuis le MDC)
  • [%X{MDC_REMOTE_IP}] : Adresse IP distante (depuis le MDC)
  • [%X{MDC_COMPONENT}] : Composant système concerné (depuis le MDC)
  • %m : Message du log
  • %n : Retour à la ligne

Politique de rotation

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

Filtre

  • ThresholdFilter: Niveau minimum INFO
  • Seuls les messages de niveau INFO ou supérieurs (WARN, ERROR, FATAL) seront enregistrés
  • Les messages de niveau DEBUG seront ignorés

Références