2009-02-02 29 views
2

我的应用程序使用Trace对象来记录信息。该信息使用TextWriterTraceListener捕获到文件中,并且完美地工作。不过,我想添加另一个TraceListerner,它会将信息记录到Web服务中。换句话说,我需要一个HttpTraceListener。此外,我需要智能,我不想看到每个日志条目的HTTP请求。你将如何构建一个HttpTraceListener?

你会如何建立这样的事情?我知道我必须继承TraceListener(文档有点神秘...)但是有没有人有一个想法,如果HttpTraceListener已经存在?我不想重新发明轮子...

谢谢!

回答

1

由于您对变量日志记录的要求,即不会为每个条目发出请求,所以您肯定需要创建自己的侦听器。

每MSDN文档上的TraceListener(http://msdn.microsoft.com/en-us/library/system.diagnostics.tracelistener(VS.80).aspx

“继承这个类来实现对调试的自定义监听器和Trace类。至少,你必须实现Write和WriteLine方法。此外,还可以执行失败,关闭和刷新方法。“

我会开始:

从TraceListener的
  1. 继承。
  2. 实施Write/WriteLine方法
  3. 在Write中添加逻辑以将请求提交给Web服务。如果使用基类实现,WriteLine只需添加行终止符。
  4. 根据需要为您的应用程序覆盖失败/关闭/冲洗。

这5个方法将为您提供实现侦听器所需的所有访问。