0

私はTraceSourceを初めて使用するので、どのように使用できる/できないか(基本的に長所と短所)を調査しています。

私が気に入っているのは、.NET フレームワーク自体からダンプを取得できることです。そのため、それをテストするための小さなアプリを作成し、独自のカスタム ソースを一緒に使用しました (これが使用されると予想される方法です)。そのようです:

class Program
{
    static void Main(string[] args)
    {
        SmtpClient smtp = new SmtpClient();
        var mm = new MailMessage();
        mm.To.Add("me@my-site.com");
        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");
    }
}

次に、いくつかのリスナーを次のApp.configように追加しました。

<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>

しかし、何らかの理由でアプリを実行すると、ログに記録している 2 つのイベントMyCustomTracerがログ ファイルに記録されませんSmtpClient

複数の TraceSource を使用しようとしている方法で使用できると予想していましたが、何が問題なのかわかりません。

4

1 に答える 1