Trace.Write之间有什么区别?
将有关跟踪的信息写入跟踪侦听器。
和Trace.TraceInformation(http://msdn.microsoft.com/en-us/library/system.diagnostics.trace.traceinformation(v=vs.110%29.aspx)? )
将信息消息写入跟踪侦听器。
发布于 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)的方式调用TraceEvent。Trace.TraceXYZ方法还会发出标头/页脚。
此跟踪事件将在应跟踪信息时写入。Trace.WriteLine(object) (或其他重载)。
这篇课文只有在详细的时候才能写出来。所有形式的Trace.Write/WriteLine绕过其他跟踪格式并写入基础跟踪实现流。
发布于 2014-10-14 02:55:22
查看Reflector,TraceInformation (以及等效的TraceWarning,TraceError)记录已提供信息(或警告或错误)跟踪的“事件”(通常检查该跟踪级别是否已被请求,并带有"headers“、换行符和"footers")。
Trace.Write简单地将提供给侦听器的文本写入。
NB TraceListener.TraceEvent是过脊的,所以任何特定的侦听器都可以调整输出。
https://stackoverflow.com/questions/26350620
复制相似问题