<p>What is tracing and how should it be done? </p>

<p>I have a common utilities library I am including in my projects and I want to be able to get some output from it. I have been using log4net but would rather not have my common utilities library dependent upon log4net. Does that make sense?</p>

<p>Edit:
Is there any correlation between logging and tracing? Would I want to put tracing and logging into the same stream for some reason?</p>

<p>Should I perhaps replace some of the log4net Logger.Debug(..) I have in my projects with System.Diagnostics.Trace.WriteLine(..)s?</p>

Here are some blog posts by Mike Rousos of the .NET BCL team:
A Tracing Primer – Part I
- is a simple introduction to the tracing APIs.
A Tracing Primer – Part II (A)
- talks mainly about filtering events
A Tracing Primer – Part II (B)
- talks about developing custom trace listeners (plugins that will channel your trace events to wherever you desire).
A Tracing Primer – Part II (C)
- talks about  how the configuration files are interpreted.