System.Diagnostics.Trace什么都不做是没有听众?

时间:2015-08-21 12:17:42

标签: .net trace system.diagnostics

我希望能够在实时程序集中保留Trace,但前提是跟踪是NoOp。出于同样的原因,我不想发送垃圾邮件。

因此,如果我将详细的操作信息输出到Trace方法,如果我附加了跟踪侦听器,它们是否只会实际存储\收集?

即。他们不会被写入硬盘或存放在某个地方?

1 个答案:

答案 0 :(得分:2)

MSDN: Trace Listeners

  

使用Trace,Debug和TraceSource时,您必须具有收集和记录发送的消息的机制。跟踪消息由侦听器接收。侦听器的目的是收集,存储和路由跟踪消息。监听器将跟踪输出定向​​到适当的目标,例如日志,窗口或文本文件。

因此,当您没有侦听器时,输出将不会存储在某处。

你可以这样做(无论如何都是recommended way to configure tracingin configuration

System.Diagnostics.Trace.Listeners.Clear();

或者来自代码:

var trim = function ( ary ) { // remove empty elements
    return ary.filter(function (item) {
        return !!item;
    });
};