CustomTraceListener and logging errors

Topics: Logging Application Block
Oct 9, 2008 at 6:28 PM
From what I've read in the documentation, the 'errors' special source is meant to pick up when an error occurs while logging, but I haven't been able to find anything on how this is done. I assumed that this meant that exceptions occuring in the TraceListener would be caught and used to trigger a log message to this special source, but I made a custom tracelistener, and it seems that when that throws an exception, it doesn't get handled, and propagates up through the program instead.

Do you need to implement any special logic to get errors from a custom tracelistener directed to this special source? Or have I completely missed the point of the 'errors' special source?

As a little bonus question, I'm not really clear on when TraceData()/Write()/WriteLine() are called on the trace listener. It seems that when I just create a LogEntry, and Logger.Write() that, TraceData ends up being called on the listener. So in which cases are Write and WriteLine called?