使用 Trace 和 TraceSource 的区别

Posted

技术标签:

【中文标题】使用 Trace 和 TraceSource 的区别【英文标题】:Difference between using Trace and TraceSource 【发布时间】:2010-11-09 05:26:35 【问题描述】:

有人知道System.Diagnostic.TraceSystem.Diagnostic.TraceSource 类之间的区别吗?

我的大部分项目都在使用 Trace,前几天我碰巧发现了 TraceSource。他们似乎提供了类似的 API,一个比另一个更好吗?

【问题讨论】:

【参考方案1】:

TraceSource 是较新的版本(自 .NET 2 起),Trace 是较旧的版本,更多信息可在此处获得:

Clarification on TraceSource/Trace

【讨论】:

来自msdn.microsoft.com/en-us/library/ms228989.aspx:“TraceSource 旨在用作增强的跟踪系统,可以用来代替旧的 Trace 和 Debug 跟踪类的静态方法。熟悉的 Trace 和 Debug 类仍然存在,但推荐的做法是使用 TraceSource 类进行跟踪。” 这篇文章也很有帮助。 blogs.msdn.com/b/bclteam/archive/2005/03/15/396431.aspx【参考方案2】:

TraceSource 允许您增强跟踪的粒度:在您的配置文件中,您可以仅启用/禁用所需级别的跟踪源(信息、警告、错误......) 你可以在这里找到很好的解释:http://www.codeproject.com/Articles/149251/Debugging-Tracing-and-Instrumentation-in-NET-and-A

【讨论】:

以上是关于使用 Trace 和 TraceSource 的区别的主要内容,如果未能解决你的问题,请参考以下文章

利用TraceSource写日志

csharp .NET文件,用于显示如何使用和配置TraceSource进行日志记录。

AWS Lambda、.Net Core 和 MySql:无法加载文件或程序集 'System.Diagnostics.TraceSource,版本 = 4.0.0.0

log4net 与 TraceSource [关闭]

System.Diagnostics.TraceSource 未将数据发送到 Application Insights

.Net:如何抑制 TraceSource 标头(“SourceName TraceEventType:Id:”)?