Les sections précédentes fournissent tout ce qui est nécessaire pour ajouter un logging souple à vos applications. Mais, pour de grandes applications, il existe une autre fonction extrêmement utile : la hiérarchie des loggers.
En effet, chaque logger, à l’exception du logger racine, a un ou plusieurs ancêtres.
Hiérarchie des loggers
Le logger racine est l’ancêtre de tous les loggers nommés. Parmi ces derniers, un logger est un ancêtre d’un autre logger si le nom de l’ancêtre suivi d’un point est un préfixe du nom du logger descendant. Par exemple, un logger nommé OrderEntry est un ancêtre d’un logger nommé OrderEntry.Validate. Les loggers OrderEntry et OrderEntry.Validate sont tous deux les ancêtres d’un logger nommé OrderEntry.Validate.ChkAmt. Un logger est considéré parent ou enfant, si le logger parent est un ancêtre de l’enfant et s’il n’y a pas d’ancêtres entre eux deux. Cette hiérarchie est importante pour deux raisons :
- Quand aucun niveau n’a été attribué à un logger, il hérite du niveau de son parent
- Quand une requête de log est validée, tous les appenders attachés au logger et à ses ancêtres sont appelés Ces deux fonctions offrent une grande souplesse d’organisation et de contrôle du logging dans une grande application.
La hiérarchie des loggers que montre la figure 6 est un bon exemple d’héritage de niveau. Tous les loggers, à l’exception de OrderEntry. Validate, ont des niveaux explicitement assignés. OrderEntry.Validate n’a pas de niveau assigné et il hérite donc du niveau Warn provenant du logger OrderEntry, qui est le parent. Si le logger OrderEntry n’avait pas non plus de niveau assigné, lui et le logger OrderEntry.Validate hériteraient du niveau Error en provenance du logger racine.
Avec une hiérarchie de loggers, vous pouvez initialement ne pas assigner des niveaux aux loggers nommés. Ensuite, lors de l’exécution d’une application, on pourra définir sélectivement le niveau pour le ou les loggers appropriés, afin de contrôler un domaine plus large ou plus étroit avec un petit nombre de niveaux assignés. Cette façon de faire simplifie grandement le contrôle à l’exécution de quelles requêtes de log sont validées.
Quand une requête de log est validée, Log4i appelle le ou les appenders attachés au logger auteur de la requête, puis commence à s’intéresser aux loggers ancêtres, en appelant leur(s) appender(s) attaché(s). A noter que le niveau de requête n’est pas revérifié par rapport aux niveaux respectifs des niveaux ancêtres, pendant ce processus. Après qu’une requête ait été validée pour le logger auteur de la requête (en utilisant le niveau assigné ou hérité du logger), les appenders de tous les ancêtres sont appelés.
Cette fonction permet, par exemple, d’avoir un ancêtre d’ordre supérieur qui ajoute toutes les requêtes validées à un fichier, tandis qu’un ancêtre d’ordre inférieur, plus étroitement ciblé, peut ajouter à l’affichage quand on débogue une routine unique.
Log4i fournit une option qui permet de limiter les ancêtres dont les appenders sont appelés, à l’aide de la procédure SetLoggerAdditivity, comme dans l’exemple suivant :
SetLoggerAdditivity( LoggerId : Log4i.FALSE );
Après avoir traité les appenders pour un logger avec le additivity flag sur off, Log4i cesse tout traitement ultérieur des loggers ancêtres.
Téléchargez cette ressource
Plan de sécurité Microsoft 365
Les attaquants savent comment prendre le contrôle de votre tenant Microsoft 365, et vous, savez-vous comment le reprendre en main ?
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- Pourquoi les outils de sécurité ne suffisent plus face aux angles morts de la détection
- Rhea1 : SiPearl allume le CPU européen le plus ambitieux pour le HPC et l’IA souveraine
- L’analytique prédictive au service de la décarbonation en France
- Ofelia, ex-Bonitasoft, lance une solution d’orchestration IA agentique
Articles les + lus
Microsoft Build 2026 : contre-offensive des modèles maison face à OpenAI et Anthropic
Rhea1 : SiPearl allume le CPU européen le plus ambitieux pour le HPC et l’IA souveraine
Analyse Patch Tuesday Mai 2026
Les coûts cachés des merge requests générées par l’IA
Femmes et métiers de la tech : une attractivité réelle freinée par des stéréotypes persistants
À la une de la chaîne Tech
- Microsoft Build 2026 : contre-offensive des modèles maison face à OpenAI et Anthropic
- Rhea1 : SiPearl allume le CPU européen le plus ambitieux pour le HPC et l’IA souveraine
- Analyse Patch Tuesday Mai 2026
- Les coûts cachés des merge requests générées par l’IA
- Femmes et métiers de la tech : une attractivité réelle freinée par des stéréotypes persistants
