Fuginator
Fuginator

Reputation: 229

TextWriterTraceListener (Debug Output) to VS 'Output', not console

I wrote a DLL file that does some database work, and have tested / used with a winforms app, and was sending important debug messages through Console.WriteLine("xxx");. Now I'm using the DLL in another project that is a Console Application - I'm sure you can imagine my surprise to see all the extra output in the console! Long story short, I need to be able to see debug output in the 'Output' section in Visual Studio, but not in my console. I have looked into this and have changed code around to use Debug.Write("xxx"); and testing with the code below, however I need to know what to replace System.Console.Out with to achive the desired reports.

TextWriterTraceListener myWriter = new TextWriterTraceListener(System.Console.Out);
Debug.Listeners.Add(myWriter);
Debug.Write("Important Message");

Thanks -- Andrew

TL;DR; Need to output to VS 'Output' window, not console or file.

Upvotes: 1

Views: 1135

Answers (1)

Polity
Polity

Reputation: 15150

By default, there is a trace listener for the VS output window when debugging. You can check this by breaking anywhere in your code and checking the content of: Debug.Listeners. There will be at least 1 entry namely [0] = {System.Diagnostics.DefaultTraceListener} which writes to your VS output window.

So the only thing you neeed to do is remove the registration of your own listener to prevent the output to the console window

Upvotes: 1

Related Questions