仅跟踪一种类型的消息和线程跟踪 - C#

时间:2011-10-06 18:36:50

标签: c# multithreading trace

一些跟踪问题:

  1. 如何只选择一种要收听的类型消息?我希望traceOutput只监听错误或警告等...

    TextWriterTraceListener traceOutput = new TextWriterTraceListener(traceFileStream);
    Trace.Listeners.Add(traceOutput);
    
  2. 如何单独跟踪不同的线程?我是否需要创建自定义Trace类?

3 个答案:

答案 0 :(得分:1)

您是否考虑过使用Log4Net而非Trace?它的设计方式比Trace更灵活。

答案 1 :(得分:1)

  1. 如果您使用TraceSource,则可以使用SourceSwitch来控制通过TraceSource写入的消息的“级别”。因此,如果您有TraceSources“A”,“B”和“C”,那么您可以根据TraceEventType将“A”配置为在不同级别进行日志/写入。您还可以配置TraceFilter以提供其他过滤功能。

  2. 目前尚不清楚你在问什么。您是否希望在每条消息中都有一些内容指示记录它的线程? TraceOptions提供了一种方法来指示您希望TraceListener写入哪些其他信息。

  3. 如上所述,正如Jon建议的那样,您可能希望查看log4netNLog以获得更强大且易于配置的日志记录系统。

答案 2 :(得分:1)

我个人喜欢SmartInspect,这是一款商用,但价格便宜的产品.... http://www.gurock.com/smartinspect/articles/

如果你必须与愚蠢的支持者打交道,那么logviewer是一个很大的优势......

并且不,我不为gurock软件工作: - )