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 :
2025-02-05 17:15:00,006: Date et heure du logINFO: Niveau de log[scheduler-worker-3]: Nom du thread[Business Partners\admin]: Nom de l'utilisateur[[0:0:0:0:0:0:0:1]]: Adresse IP distante[sfiler-gui]: Composant système concerné- 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
