Asp.net 理解跟踪侦听器

Asp.net 理解跟踪侦听器,asp.net,vb.net,trace,system.diagnostics,tracelistener,Asp.net,Vb.net,Trace,System.diagnostics,Tracelistener,我最近刚刚发现了追踪的力量(不知道为什么需要这么长时间)。理论和实践对我来说并不是未知的,只是.Net中提供的资源。传统上,我只会记录我需要调查的程序部分,直到我得到任何问题或困惑的答案。到目前为止,这个任务并没有给我足够的信息,而且太单调了,因为我的应用程序现在太大了。在这方面没有很多明确的资源,因此我有几个问题: 如果我将自己的跟踪侦听器源添加到trace.listeners集合中,当在我的应用程序的web.config中启用跟踪时,该跟踪侦听器是否会收到可以在trace.axd页面中看到的

我最近刚刚发现了追踪的力量(不知道为什么需要这么长时间)。理论和实践对我来说并不是未知的,只是.Net中提供的资源。传统上,我只会记录我需要调查的程序部分,直到我得到任何问题或困惑的答案。到目前为止,这个任务并没有给我足够的信息,而且太单调了,因为我的应用程序现在太大了。在这方面没有很多明确的资源,因此我有几个问题:

  • 如果我将自己的跟踪侦听器源添加到trace.listeners集合中,当在我的应用程序的web.config中启用跟踪时,该跟踪侦听器是否会收到可以在trace.axd页面中看到的跟踪信息

  • 如果是这样,我将如何创建能够接收输入的所述侦听器?我已经创建了自己的类来实现跟踪侦听器类,除了我自己的输入之外,我似乎无法记录任何其他输入?我误解了什么吗

  • 如果有另一种方法可以逐行记录我的应用程序,而不必放置我自己的日志,那将非常有用。多谢各位

    如果我将自己的跟踪侦听器源添加到trace.listeners 集合,该跟踪侦听器将接收 在中启用跟踪时,可以在trace.axd页面中看到 我的应用程序的web.config

    您将能够看到写入跟踪的任何内容。写入trace.axd的跟踪与普通的TraceSource、TraceListener等稍有不同。最大的区别在于它使用跟踪对象,这是.NET 1.1的跟踪方式。在.NET2.0及更高版本中,引入了命名的TraceSources

    如果在web配置中注册TraceSwitch、TraceSource和TraceStener,则可以启用侦听任何已知名称的TraceSource,WCF库就是一个例子

    其他地方比我更好地记录TraceSource和TraceStener以及交换机,例如,或

    如果是这样的话,我将如何着手创建能够接收的侦听器呢 那个输入?我已经创建了自己的类来实现跟踪 listener类,我似乎无法记录任何其他输入 除了我自己的

    您可以从子类化ConsoleGlistener或TextWriterTraceListener开始。该库有许多用于处理System.Diagnostics跟踪的粗糙边缘的工具

    (由于内置库有粗糙的边缘,预计会有一些人告诉您使用其他日志库,有很多,但只有System.Diagnostics内置并始终可用)

    如果有其他方法可以逐行记录我的申请,而无需 必须放置我自己的日志,这将非常有帮助


    这需要“代码编织”或面向方面编程,即使用工具重新编译应用程序,并在任何地方或找到某个属性的地方添加日志记录或跟踪等内容。PostSharp就是这样一个应用程序。内存配置文件可以提供逐行跟踪,作为显示应用程序大部分时间在何处的副产品。

    我不确定这是否是您想要的,但您知道DebugView吗?我知道调试视图。我真的希望能够为我的用户记录和操作这类信息。可以将其视为编写自己的调试视图。有什么建议可以让我看看吗?我已经研究过读取outputdebugstring,但也没有运气。这是一个非常有用的答案,MatthewMartin。我感谢时间和消息来源。我从这篇文章中学到了很多东西。如果我有声誉要求,我会投票支持你的答案。干杯