首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在C#中添加(简单的)跟踪?

如何在C#中添加(简单的)跟踪?
EN

Stack Overflow用户
提问于 2008-08-26 09:12:56
回答 2查看 118.3K关注 0票数 122

我想介绍一些对我正在编写的C#应用程序的跟踪。可悲的是,我永远不能真正记住它是如何工作的,我想要一个有参考价值的教程来不时地检查一下。它应该包括:

为注册TraceListeners

  • how而添加的
  • App.config / Web.config内容,以便在调用应用程序中进行设置

您知道我们应该链接到的über教程吗?

格伦·斯莱文给我指出了正确的方向。将此代码添加到<configuration/>中的App.config/Web.config中

<system.diagnostics>
    <trace autoflush="true">
      <listeners>
        <add type="System.Diagnostics.TextWriterTraceListener" name="TextWriter"
             initializeData="trace.log" />
      </listeners>
    </trace>
</system.diagnostics>

这将添加一个TextWriterTraceListener,它将捕获您使用Trace.WriteLine等发送到的所有内容。

@DanEsparza指出,你应该使用Trace.TraceInformationTrace.TraceWarningTrace.TraceError而不是Trace.WriteLine,因为它们允许你以与string.Format相同的方式格式化消息。

提示:如果您没有添加任何侦听器,则仍然可以使用Sysinternals程序DebugView (Dbgview.exe)查看跟踪输出:

EN

回答 2

Stack Overflow用户

发布于 2016-01-27 18:36:57

我跟踪了大约五个不同的答案,以及之前答案中的所有博客帖子,但仍然存在问题。我试图向一些使用TraceSource.TraceEvent(TraceEventType, Int32, String)方法进行跟踪的现有代码中添加一个侦听器,在该方法中,TraceSource对象是用一个字符串初始化的,使其成为一个“指名源”。

对我来说,问题不是创建一个有效的source和switch元素组合来定位这个源。下面是一个将记录到名为tracelog.txt的文件中的示例。以获取以下代码:

TraceSource source = new TraceSource("sourceName");
source.TraceEvent(TraceEventType.Verbose, 1, "Trace message");

我成功地使用以下诊断配置进行了记录:

<system.diagnostics>
    <sources>
        <source name="sourceName" switchName="switchName">
            <listeners>
                <add
                    name="textWriterTraceListener"
                    type="System.Diagnostics.TextWriterTraceListener"
                    initializeData="tracelog.txt" />
            </listeners>
        </source>
    </sources>

    <switches>
        <add name="switchName" value="Verbose" />
    </switches>
</system.diagnostics>
票数 5
EN

Stack Overflow用户

发布于 2008-08-26 09:53:13

DotNetCoders有一篇关于它的入门文章:http://www.dotnetcoders.com/web/Articles/ShowArticle.aspx?article=50。他们讨论了如何在配置文件中设置交换机以及如何编写代码,但这是相当古老的(2002)。

在CodeProject上还有另一篇文章:,但它的年龄是一样的。

CodeGuru有另一篇关于定制TraceListeners的文章:

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

https://stackoverflow.com/questions/27610

复制
相关文章

相似问题

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