5.1 Liste des filtres
L'enregistreur vous permet de configurer très simplement le filtrage des messages. Pour ce faire, il dispose d'une vingtaine de filtres avec toutes sortes de paramètres. Le tableau ci-dessous montre les plus populaires.
Filtres | Description | |
---|---|---|
1 | BurstFilter | Permet de contrôler la fréquence des messages par seconde pour un niveau de journalisation donné. |
2 | Filtre composite | Vous permet de définir plusieurs filtres séquentiels. |
3 | DynamicThresholdFilter | Vous permet d'activer la journalisation détaillée si certaines informations sont trouvées dans le journal. |
4 | FiltreCarte | Permet de construire une expression logique complexe pour le filtre à partir de plusieurs paramètres. |
5 | MarqueurFiltre | Permet de filtrer les messages par balises, la balise doit d'abord être ajoutée lors de la journalisation des événements. |
6 | RegexFiltre | Vous permet de définir un masque - une expression régulière. |
7 | Filtre de données structurées | Vous permet de filtrer les messages en fonction de la présence de certaines données en eux. |
8 | ThreadContextMapFilterThreadContextMapFilter | Permet de gérer des filtres basés sur des données extraites du contexte du fil en cours. |
9 | Filtre de seuil | Contrôle la journalisation en fonction du niveau de message de journal. |
dix | Filtre de temps | Vous permet d'activer et de désactiver les filtres à des moments précis. |
Ci-dessous, nous ne parlerons que de trois d'entre eux. Vous pouvez en savoir plus sur ces filtres sur leur site officiel .
5.2 Filtre de temps
Le filtre TimeFilter
vous permet d'activer et de désactiver les filtres à un certain moment, il dispose de 5 paramètres :
1 | commencer | Heure de début de journalisation au formatHH:mm:ss |
2 | fin | Heure de déconnexion au formatHH:mm:ss |
3 | fuseau horaire | Définit le fuseau horaire. |
4 | surMatch | Comment se connecter si la condition du filtre est vraie . Peut-être ACCEPT , DENY ou NEUTRAL . Par défaut NEUTRAL . |
5 | onMismatch | Comment se connecter si la condition du filtre est fausse . Peut-être ACCEPT , DENY ou NEUTRAL . Par défaut NEUTRAL . |
Configurons un filtre qui activera la journalisation à 5h du matin et l'éteindra à 5h30 tous les jours. Un exemple avec une configuration de filtre complète est ci-dessous :
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="warn" name="MyApp" packages="">
<Appenders>
<RollingFile name="RollingFile" fileName="logs/app.log" filePattern="logs/app-%d{MM-dd-yyyy}.log.gz">
<TimeFilter start="05:00:00" end="05:30:00" onMatch="ACCEPT" onMismatch="DENY"/>
<PatternLayout>
<pattern>%d %p %c{1.} [%t] %m%n</pattern>
</PatternLayout>
<TimeBasedTriggeringPolicy />
</RollingFile>
</Appenders>
<Loggers>
<Root level="error">
<AppenderRef ref="RollingFile"/>
</Root>
</Loggers>
</Configuration>
5.3 RegexFiltre
Le filtre RegexFilter
vous permet de définir un masque (expression régulière) pour filtrer les messages. Ce filtre a 4 paramètres :
1 | expression régulière | Spécifie une expression régulière - un masque utilisé pour filtrer les messages.HH:mm:ss |
2 | utiliserRawMsg | Le masque est appliqué dans le message avant formatage (true) ou après formatage (false) |
3 | surMatch | Comment se connecter si la condition du filtre est vraie . Peut-être ACCEPT , DENY ou NEUTRAL . Par défaut NEUTRAL . |
4 | onMismatch | Comment se connecter si la condition du filtre est fausse . Peut-être ACCEPT , DENY ou NEUTRAL . Par défaut NEUTRAL . |
Configurons un filtre qui n'autorisera que les messages contenant le mot codegym. Un exemple avec une configuration de filtre complète est ci-dessous :
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="warn" name="MyApp" packages="">
<Appenders>
<RollingFile name="RollingFile" fileName="logs/app.log" filePattern="logs/app-%d{MM-dd-yyyy}.log.gz">
<RegexFilter regex=".* codegym .*" onMatch="ACCEPT" onMismatch="DENY"/>
<PatternLayout>
<pattern>%d %p %c{1.} [%t] %m%n</pattern>
</PatternLayout>
<TimeBasedTriggeringPolicy />
</RollingFile>
</Appenders>
<Loggers>
<Root level="error">
<AppenderRef ref="RollingFile"/>
</Root>
</Loggers>
</Configuration>
5.4 Filtre de seuil
Le filtre ThresholdFilter vous permet de configurer le filtrage par niveau de message. Il n'a que 3 paramètres :
1 | niveau | Définit le nom du niveau de journalisation des messages : ERROR , DEBUG , … |
2 | surMatch | Comment se connecter si la condition du filtre est vraie . Peut-être ACCEPT , DENY ou NEUTRAL . Par défaut NEUTRAL . |
3 | onMismatch | Comment se connecter si la condition du filtre est fausse . Peut-être ACCEPT , DENY ou NEUTRAL . Par défaut NEUTRAL . |
Configurons un filtre qui n'autorisera que les messages de niveau DEBUG
. Un exemple avec une configuration de filtre complète est ci-dessous :
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="warn" name="MyApp" packages="">
<Appenders>
<RollingFile name="RollingFile" fileName="logs/app.log" filePattern="logs/app-%d{MM-dd-yyyy}.log.gz">
<ThresholdFilter level="DEBUG" onMatch="ACCEPT" onMismatch="DENY"/>
<PatternLayout>
<pattern>%d %p %c{1.} [%t] %m%n</pattern>
</PatternLayout>
<TimeBasedTriggeringPolicy />
</RollingFile>
</Appenders>
<Loggers>
<Root level="error">
<AppenderRef ref="RollingFile"/>
</Root>
</Loggers>
</Configuration>
GO TO FULL VERSION