The TextWriterTraceListener and the Trace class work together just
fine, as long as you don't try to use them from a finalizer when your
application is terminating. You say "Trace.Writeline("Hi John, got
some bad news for you!")" in the finalizer of your class which happens
to run -- among other cases -- during application shutdown, and doh! --
you get a marvelous error saying that the FILE has already been closed.
Isn't it just nice?