Je recherche comment utiliser le System.Diagnostics
tracing functionality correctement, mais ne parvient pas à faire fonctionner mon code. J'ai déjà lu les documents officiels sur configuring tracing, creating and initializing trace listeners, l'élément source de l'app.config et certains posts de stackoverflow associés. Le doc msdn à propos TraceSource m'a fait vraiment confus ...Fonctionnalité de traçage natif ne produit pas de sortie
Mon app.config
contient la section suivante:
<system.diagnostics>
<sources>
<source name="ApplicationTraceSource" switchName="ApplicationTraceSwitch" switchType="System.Diagnostics.SourceSwitch">
<listeners>
<add name="EventLogListener" type="System.Diagnostics.EventLogTraceListener" initializeData="PDS" />
<add name="TextLogListener" type="System.Diagnostics.TextWriterTraceListener" initializeData="PDS.log" />
<add name="ConsoleLogListener" type="System.Diagnostics.ConsoleTraceListener" />
<remove name="Default" />
</listeners>
</source>
<source name="DatabaseActivitySource" switchName="DatabaseActivityTraceSwitch" switchType="System.Diagnostics.SourceSwitch">
<listeners>
<add name="QueryTextLogListener" type="System.Diagnostics.TextWriterTraceListener" initializeData="Queries.log" />
<remove name="Default" />
</listeners>
</source>
</sources>
<switches>
<!--Set value to 0 to turn of database activity log.-->
<add name="DatabaseActivityTraceSwitch" value="1" />
<!--Set value to 0 to turn of application log. 1 for errors. 2 for errors und warnings. 3 for more detailed error information. 4 for verbose trace information.-->
<add name="ApplicationTraceSwitch" value="4" />
</switches>
</system.diagnostics>
Mon code dans mon Program.cs
est aussi simple que possible obtient:
if (EventLog.SourceExists("PDS") == false)
{
EventLog.CreateEventSource("PDS", "EventLogListener");
}
TraceSource applicationTraceSource = new TraceSource("ApplicationTraceSource");
applicationTraceSource.TraceInformation("i am information");
applicationTraceSource.TraceEvent(TraceEventType.Error, 1, "i am error event");
applicationTraceSource.TraceEvent(TraceEventType.Warning, 2, "i am warning event");
applicationTraceSource.TraceEvent(TraceEventType.Information, 3, "i am information event");
applicationTraceSource.TraceEvent(TraceEventType.Verbose, 4, " am verbose event");
applicationTraceSource.TraceData(TraceEventType.Error, 5, "i am error data");
applicationTraceSource.TraceData(TraceEventType.Warning, 6, "i am warning data");
applicationTraceSource.TraceData(TraceEventType.Information, 7, "i am information data");
applicationTraceSource.TraceData(TraceEventType.Verbose, 8, " am verbose data");
applicationTraceSource.Flush();
Le fichier PDS.log est en cours de création, mais il est vide. Le journal des événements est vide. La sortie de la console est vide.
Quelqu'un peut-il me donner un indice?