我有一个跟踪lister(DefaultTraceListener派生)来为VS输出窗口写一个特殊格式(所以双击 - >转到源代码工作)。我删除标准VS输出默认跟踪侦听器并将其替换为此 但是我不希望在我的控制台中显示这种长格式,所以我有一个单独的ConsoleTraceLister派生监听器来提供更短的版本。问题是这也写入VS输出,因此窗口跟踪加倍 如何阻止ConsoleTraceLister派生的侦听器写入VS输出窗口?
答案 0 :(得分:1)
//这是你可以尝试不确定它是否有用的东西
using System;
using System.IO;
using System.Diagnostics;
public class Test
{
public static void Main()
{
TextWriterTraceListener myWriter = new
TextWriterTraceListener(System.Console.Out);
Debug.Listeners.Add(myWriter);
Debug.WriteLine("Test output 1 ");
Stream myFile = File.Create("output.txt");
TextWriterTraceListener myTextListener = new
TextWriterTraceListener(myFile);
Debug.Listeners.Add(myTextListener);
Debug.WriteLine("Test output 2 ");
if (!EventLog.SourceExists("Demo"))
{
EventLog.CreateEventSource("Demo", "Demo");
}
Debug.Listeners.Add(new EventLogTraceListener("Demo"));
Debug.WriteLine("Test output 3 ");
myWriter.Flush();
myWriter.Close();
myFile.Flush();
myFile.Close();
}
}