【发布时间】:2009-08-27 10:54:21
【问题描述】:
我想实现一个自定义跟踪监听器,如下所示:
public class TraceListener : System.Diagnostics.TraceListener
{
public override void Write(string message)
{
LogToDatabase(message);
}
public override void WriteLine(string message)
{
LogToDatabase(message);
}
}
现在假设代码中某处发生错误。在 catch 块中我想做的事
Trace.TraceError(ex.ToString())
其中 ex 被捕获异常。 现在的问题是,在我的 MyTraceListener 中,Write 方法和 WriteLine 方法的消息参数不同。更有趣的是 ex.ToString() 生成的字符串在 WriteLine 方法中作为参数传递,而不是在 Write 中。
【问题讨论】: