I want to introduce some tracing to a C# application I am writing. Sadly, I can never really remember how it works and would like a tutorial with reference qualities to check up on every now and then. It should include:
Do you know the über tutorial that we should link to?
Glenn Slaven pointed me in the right direction. Add this to your App.config/Web.config inside
<system.diagnostics> <trace autoflush="true"> <listeners> <add type="System.Diagnostics.TextWriterTraceListener" name="TextWriter" initializeData="trace.log" /> </listeners> </trace> </system.diagnostics>
This will add a
TextWriterTraceListener that will catch everything you send to with
@DanEsparza pointed out that you should use
Trace.TraceError instead of
Trace.WriteLine, as they allow you to format messages the same way as
Tip: If you don't add any listeners, then you can still see the trace output with the Sysinternals program DebugView (
This question is tagged with
~ Asked on 2008-08-26 09:12:56
I followed around five different answers as well as all the blog posts in the previous answers and still had problems. I was trying to add a listener to some existing code that was tracing using the
TraceSource.TraceEvent(TraceEventType, Int32, String) method where the
TraceSource object was initialised with a string making it a 'named source'.
For me the issue was not creating a valid combination of source and switch elements to target this source. Here is an example that will log to a file called
tracelog.txt. For the following code:
TraceSource source = new TraceSource("sourceName"); source.TraceEvent(TraceEventType.Verbose, 1, "Trace message");
I successfully managed to log with the following diagnostics configuration:
<system.diagnostics> <sources> <source name="sourceName" switchName="switchName"> <listeners> <add name="textWriterTraceListener" type="System.Diagnostics.TextWriterTraceListener" initializeData="tracelog.txt" /> </listeners> </source> </sources> <switches> <add name="switchName" value="Verbose" /> </switches> </system.diagnostics>
~ Answered on 2016-01-27 10:36:57
DotNetCoders has a starter article on it: http://www.dotnetcoders.com/web/Articles/ShowArticle.aspx?article=50. They talk about how to set up the switches in the configuration file and how to write the code, but it is pretty old (2002).
There's another article on CodeProject: A Treatise on Using Debug and Trace classes, including Exception Handling, but it's the same age.
CodeGuru has another article on custom TraceListeners: Implementing a Custom TraceListener
~ Answered on 2008-08-26 09:53:13