Exercice
1. Énoncé
L’exercice proposé consiste à compléter l’exemple précédent en externalisant dans le fichier de configuration les types d’informations qui devront suivre chaque trace. Les valeurs supportées sont : LogicalOperationStack, DateTime, Timestamp, ProcessId, ThreadId, Callstack. L’utilisateur devra pouvoir composer n’importe quelle combinaison comme celle de l’exemple suivant :
{
"dbTraceSwitch": {
"Level": "All",
"Option1": "DateTime",
"Option2": "Callstack",
"Option3": "ThreadId",
"Option4": "ProcessId"
}
}
2. Correction
using System.Diagnostics;
// Using correspondant à la librairie NuGet
using Microsoft.Extensions.Configuration;
// Instanciation de l'objet principal de trace
TraceSource dbTraceSource = new TraceSource("DataBase");
// Instanciation de l'objet permettant la sélection du niveau de trace
SourceSwitch dbTraceSwitch = new SourceSwitch("dbTraceSwitch");
// Lecture du fichier de configuration "TraceEtInstru.json"
IConfigurationRoot configurationRoot ...