Constellation, le dépôt institutionnel de l'Université du Québec à Chicoutimi

Cadre conceptuel pour les niveaux de sévérité des logs : directives et heuristiques pour les pratiques de journalisation dans les systèmes logiciels

Mendes de Oliveira Eduardo. (2025). Cadre conceptuel pour les niveaux de sévérité des logs : directives et heuristiques pour les pratiques de journalisation dans les systèmes logiciels. Thèse de doctorat, Université du Québec à Chicoutimi.

[thumbnail of MendesdeOliveira_uqac_0862D_11337.pdf] PDF
2MB

Résumé

Contexte : Les journaux (logs) jouent un rôle crucial dans la gestion des systèmes logiciels modernes, en fournissant des retours en temps réel sur le comportement du système et en aidant les développeurs et les ingénieurs d’exploitation à diagnostiquer les pannes et à surveiller la santé des systèmes. Le choix correct des niveaux de sévérité des journaux est essentiel pour s’assurer que les journaux fournissent des informations pertinentes tant en développement qu’en production. Problème : Malgré l’importance de la journalisation, la sélection des niveaux de sévérité des journaux n’est pas une tâche triviale et peut entraîner des difficultés dans la production de données de journalisation fiables. L’un des principaux problèmes est l’absence de directives standardisées et de conseils pratiques pour les développeurs, ce qui peut entraîner soit une journalisation excessive, soit insuffisante. Ces deux extrêmes présentent des risques : une journalisation excessive peut submerger les opérateurs avec des informations non pertinentes, tandis qu’une journalisation insuffisante peut dissimuler des détails critiques nécessaires au diagnostic des problèmes système. L’absence de distinctions claires entre les niveaux de sévérité, ainsi que l’ambiguïté quant à la criticité des événements, compliquent encore davantage la sélection des niveaux de sévérité des journaux.

Objectif : Cette thèse vise à relever ces défis en développant un cadre conceptuel pour les niveaux de sévérité des journaux, réduisant l’ambiguïté et facilitant les processus de prise de décision. De plus, l’étude explore comment les ajustements des niveaux de sévérité des journaux se produisent au cours du développement et de l’évolution des logiciels, fournissant des informations sur les raisons de ces ajustements.

Méthode : Tout d’abord, nous avons réalisé une cartographie systématique multivocale des niveaux de sévérité des journaux à partir de la littérature évaluée par des pairs, des bibliothèques de journalisation et des expériences pratiques des développeurs. Notre analyse a porté sur 19 niveaux de sévérité, 42 études et 40 bibliothèques de journalisation. Ensuite, nous avons étudié les ajustements de sévérité sur 376 versions de trois grands systèmes open-source. Résultats : Les résultats de la cartographie ont révélé des redondances et des chevauchements sémantiques entre les définitions des niveaux de sévérité des journaux, mais aussi une convergence vers six niveaux principaux. Notre analyse des ajustements a identifié plusieurs tendances, y compris la fréquence des changements à l’intersection des environnements de développement et de production. Sur la base de ces résultats, nous avons dérivé un ensemble de 24 heuristiques que les développeurs peuvent utiliser pour guider la sélection, la révision et l’ajustement des niveaux de sévérité des journaux.

Conclusion : Les contributions de cette thèse sont triples : (i) une cartographie complète des pratiques en matière de niveaux de sévérité des journaux dans la littérature et les bibliothèques de journalisation, (ii) un cadre conceptuel pour les niveaux de sévérité qui fournit une nomenclature standardisée et des finalités claires pour chaque niveau, et (iii) un ensemble d’heuristiques pratiques qui offrent aux développeurs et opérateurs des conseils concrets sur la manière de choisir et d’ajuster les niveaux de sévérité des journaux.

ABSTRACT Context : Logs play a crucial role in the management of modern software systems by providing real-time feedback on system behavior. They help developers and operations engineers diagnose failures and monitor the health of infrastructures. Correctly choosing log severity levels is essential to ensure that the collected information is relevant, both in development and production environments.

Problem : Despite the importance of logging, the selection of log severity levels is not a trivial task and can lead to challenges in producing reliable logging data. One major issue is the absence of standardized guidelines and practical advice for developers, which can lead to either excessive or insufficient logging. Both extremes present risks : excessive logging can overwhelm operators with irrelevant information, while insufficient logging may hide critical details that are necessary for diagnosing system issues. The absence of clear distinctions between severity levels, as well as the ambiguity around event criticality, further complicates log severity level selection.

Objective : This thesis aimsto address these challenges by developing a conceptual framework for log severity levels that reduces ambiguity and helps streamline decision-making processes. Additionally, the study explores how log severity level adjustments occur during software development and evolution, providing insights into the reasons behind these adjustments.

Method : First, we conducted a multivocal systematic mapping of log severity levels based on peer-reviewed literature, logging libraries, and developers’ practical experiences. Our analysis covered 19 severity levels, 42 studies, and 40 logging libraries. Next, we investigated severity adjustments across 376 releases of three major open-source systems. Results : The mapping results revealed redundancies and semantic overlaps between log severity level definitions, but also a convergence toward six primary levels. Our adjustment analysis identified several trends, including the frequent occurrence of changes at the intersection of development and production environments. Based on these findings, we derived a set of 24 heuristics that developers can use to guide log severity level selection, review, and adjustment. Conclusion : The contributions of this thesis are threefold : (i) a comprehensive mapping of the state of log severity level practices in both the literature and logging libraries, (ii) a conceptual framework for log severity levels that provides a standardized nomenclature and clear purposes for each level, and (iii) a set of practical heuristics that offer developers and operators actionable guidance on how to choose and adjust log severity level.

Type de document:Thèse ou mémoire de l'UQAC (Thèse de doctorat)
Date:2025
Lieu de publication:Chicoutimi
Programme d'étude:3081 - Doctorat en sciences et technologies de l'information
Nombre de pages:224
ISBN:Non spécifié
Sujets:Sciences naturelles et génie > Sciences mathématiques > Informatique
Département, module, service et unité de recherche:Départements et modules > Département d'informatique et de mathématique
Directeur(s), Co-directeur(s) et responsable(s):Hallé, Sylvain
Mots-clés:ajustements du niveau de sévérité des logs, analyse des logs, génie logiciel, journalisation, niveau de sévérité des logs
Déposé le:15 août 2025 08:31
Dernière modification:15 août 2025 17:57
Afficher les statistiques de telechargements

Éditer le document (administrateurs uniquement)

Services de la bibliothèque, UQAC
555, boulevard de l'Université
Chicoutimi (Québec)  CANADA G7H 2B1
418 545-5011, poste 5630