
Logging, Monitoring & Observability
ILogger, Serilog, Application Insights, OpenTelemetry (traces, metrics), health checks, structured logging
1Qu'est-ce que l'interface ILogger dans .NET ?
Qu'est-ce que l'interface ILogger dans .NET ?
Réponse
ILogger est l'interface standard de journalisation fournie par Microsoft.Extensions.Logging. Elle définit un contrat uniforme pour enregistrer des messages à différents niveaux de sévérité, permettant d'abstraire l'implémentation concrète du système de logging. Cette abstraction facilite le changement de provider de logs sans modifier le code applicatif et favorise les tests unitaires par injection de dépendances.
2Quels sont les niveaux de log disponibles dans ILogger, du moins au plus sévère ?
Quels sont les niveaux de log disponibles dans ILogger, du moins au plus sévère ?
Réponse
ILogger définit six niveaux de sévérité ordonnés : Trace pour le débogage détaillé, Debug pour les informations de développement, Information pour le flux normal de l'application, Warning pour les situations anormales non bloquantes, Error pour les erreurs récupérables, et Critical pour les défaillances système nécessitant une intervention immédiate. Cette hiérarchie permet de filtrer les logs selon l'environnement.
3Quelle est la différence principale entre LogLevel.Debug et LogLevel.Trace ?
Quelle est la différence principale entre LogLevel.Debug et LogLevel.Trace ?
Réponse
Trace est le niveau le plus verbeux, destiné aux informations de diagnostic très détaillées comme le flux d'exécution ligne par ligne, tandis que Debug contient des informations utiles au développement mais moins granulaires. En production, les deux sont généralement désactivés, mais Trace génère beaucoup plus de volume et peut impacter les performances même en développement si mal utilisé.
Comment injecter ILogger dans une classe de service en .NET ?
Qu'est-ce que le structured logging et quel avantage apporte-t-il ?
+19 questions d'entretien
Autres sujets d'entretien .NET
Les bases de C#
LINQ & Delegates
Essentiels du langage C#
Fondamentaux ASP.NET Core
Cycle de vie des requêtes ASP.NET Core
Configuration & Settings
Cycle de vie de l'application
Dependency Injection
Entity Framework Core
Minimal APIs
Développement Web API
Async côté ASP.NET Core
Authentication & Authorization
HttpClient & Networking
Sérialisation JSON
Entity Framework Core avancé
Fonctionnalités avancées C#
Clean Architecture
Tests unitaires & xUnit
Tests d'intégration
Docker & Containerization
NuGet Package Management
Memory Management & GC
Programmation réactive
Async/await & Patterns
.NET Design Patterns
Optimisation des performances
Sécurité & Best Practices
SignalR & Real-time
Architecture Microservices
Maîtrise .NET pour ton prochain entretien
Accède à toutes les questions, flashcards, tests techniques, exercices de code review et simulateurs d'entretien.
Commencer gratuitement