首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Trace.Write()和Trace.TraceInformation()之间的区别

Trace.Write()和Trace.TraceInformation()之间的区别
EN

Stack Overflow用户
提问于 2014-10-13 23:50:03
回答 2查看 5.2K关注 0票数 9

Trace.Write之间有什么区别?

将有关跟踪的信息写入跟踪侦听器。

和Trace.TraceInformation(http://msdn.microsoft.com/en-us/library/system.diagnostics.trace.traceinformation(v=vs.110%29.aspx)? )

将信息消息写入跟踪侦听器。

EN

回答 2

Stack Overflow用户

发布于 2016-10-24 05:04:36

不幸的是,API在这里被搞混了,而特定的重载改变了行为。方法级文档没有很好地描述方法,查看(反编译)源有助于回答这个问题。

Trace.Write/WriteLine(string)是实现覆盖到基本流的实际“写”的抽象方法,不管跟踪/源配置如何,插入的任何数据都将被接受。

Trace.Write/WriteLine(object) (和其他重载)在应用冗长的ShouldTrace过滤器时,实际上应该被视为一个原始的“ShouldTrace”。

因此

  • 若要直接写入底层流/提供程序,绕过筛选器,请使用Trace.Write/WriteLine(string)。 此跟踪文本将始终被写入。
  • 若要编写信息性消息,请使用Trace.TraceInformation。这通过应用信息过滤器的Trace.WriteLine(string)的方式调用TraceEventTrace.TraceXYZ方法还会发出标头/页脚。 此跟踪事件将在应跟踪信息时写入。
  • 要编写详细的文本,请使用Trace.WriteLine(object) (或其他重载)。 这篇课文只有在详细的时候才能写出来。

所有形式的Trace.Write/WriteLine绕过其他跟踪格式并写入基础跟踪实现流。

票数 5
EN

Stack Overflow用户

发布于 2014-10-14 02:55:22

查看Reflector,TraceInformation (以及等效的TraceWarningTraceError)记录已提供信息(或警告或错误)跟踪的“事件”(通常检查该跟踪级别是否已被请求,并带有"headers“、换行符和"footers")。

Trace.Write简单地将提供给侦听器的文本写入。

NB TraceListener.TraceEvent是过脊的,所以任何特定的侦听器都可以调整输出。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26350620

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档