Je suis nouveau avec TraceSource, donc je suis en train d'étudier comment il peut/ne peut pas être utilisé (essentiellement le pour et le contre). Quelque chose que j'aime, c'est que je peux obtenir des vidages depuis le framework .NET, j'ai donc fait une petite application pour tester ça et utiliser ma propre source personnalisée ensemble (comme je l'attendais) être utilisé), comme suit:Définition de plusieurs TraceSources ne fonctionnant pas
class Program
{
static void Main(string[] args)
{
SmtpClient smtp = new SmtpClient();
var mm = new MailMessage();
mm.To.Add("[email protected]");
mm.Subject = "Trace Testing";
smtp.Send(mm);
var ts = new TraceSource("MyCustomTracer");
ts.TraceEvent(TraceEventType.Error, 0, "This is an error");
ts.TraceEvent(TraceEventType.Information, 0, "Just debugging now");
}
}
Je l'ai ensuite ajouté quelques auditeurs dans le App.config
comme ceci:
<system.diagnostics>
<trace autoflush="true" />
<sources>
<source name="MyCustomTracer"
switchValue="Information, ActivityTracing">
<listeners>
<add name="sdt"
type="System.Diagnostics.XmlWriterTraceListener"
initializeData= "traceOutput.log" />
</listeners>
</source>
<source name="System.Net"
switchValue="Information, ActivityTracing, Critical">
<listeners>
<add name="sdt"
type="System.Diagnostics.XmlWriterTraceListener"
initializeData= "traceOutput.log" />
</listeners>
</source>
</sources>
</system.diagnostics>
Mais pour une raison quelconque quand je lance l'application des 2 événements que je suis exploitation forestière via MyCustomTracer
ne vont pas dans le fichier journal, sauf si je commente le SmtpClient
choses (c'est-à-dire que j'ai seulement mon traceur personnalisé utilisé).
Je m'attendais à ce que plusieurs TraceSources puissent être utilisées de la manière dont j'essaie de les utiliser, je ne suis pas sûr de ce qui ne va pas.