c#跟踪
2016-07-03 16:19
218 查看
本文出自:http://962410314.blog.51cto.com/7563109/1599988
一、为什么需要用到跟踪技术:
利用跟踪功能可以从正在运行的应用程序(发布后的程序)中查看消息。我们把定义消息(不同级别的消息)的代码写在应用程序中,根据配置文件中配置,从而写入不同级别的消息。这些消息会写入到哪呢?vs默认是写入到输出窗口上的。输出窗口只能在调试状态下看的见。当我们跟踪发布后的程序那怎么办呢?我们需要在配置文件中定义一个侦听器,来接受从应用程序中写入的消息。下面来具体的介绍跟踪
二、跟踪体系架构:
①,跟踪源:跟踪信息的源头。例如:需要跟踪程序集或跟踪某个命名空间或某个类
②,开关:开关定义了要记录的信息级别。例如:可以请求错误信息或详细详细
③,侦听器:定义了写入跟踪消息的位置。
④,筛选器:筛选要记录的信息级别。例如:开关定义了Information级别,可以用过筛选只记录Error信息级别
需要引用命名空间:using System.Diagnostics;
三、参数对照表
几种侦听器类型
TraceEventType跟踪事件类型( <filter type="System.Diagnostics.EventTypeFilter" initializeData="Error"/> )
SourceLevels开关级别( <add name="myTraceInfo" value="Off"/> )
TraceOptions制定要写入跟踪输出中的跟踪数据选项( 侦听器的traceOutputOptions属性 )
四、配置跟踪文件:
五、在应用程序中写入消息代码
使用服务跟踪查看器,查看xml
五、在应用程序中写入消息代码(相关性)
使用相关性必须给跟踪数据选项设置Callstack,LogicalOperationStack
本文出自 “程序猿的家--Hunter” 博客,请务必保留此出处http://962410314.blog.51cto.com/7563109/1599988
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://962410314.blog.51cto.com/7563109/1599988
一、为什么需要用到跟踪技术:
利用跟踪功能可以从正在运行的应用程序(发布后的程序)中查看消息。我们把定义消息(不同级别的消息)的代码写在应用程序中,根据配置文件中配置,从而写入不同级别的消息。这些消息会写入到哪呢?vs默认是写入到输出窗口上的。输出窗口只能在调试状态下看的见。当我们跟踪发布后的程序那怎么办呢?我们需要在配置文件中定义一个侦听器,来接受从应用程序中写入的消息。下面来具体的介绍跟踪
二、跟踪体系架构:
①,跟踪源:跟踪信息的源头。例如:需要跟踪程序集或跟踪某个命名空间或某个类
②,开关:开关定义了要记录的信息级别。例如:可以请求错误信息或详细详细
③,侦听器:定义了写入跟踪消息的位置。
④,筛选器:筛选要记录的信息级别。例如:开关定义了Information级别,可以用过筛选只记录Error信息级别
需要引用命名空间:using System.Diagnostics;
三、参数对照表
几种侦听器类型
TraceEventType跟踪事件类型( <filter type="System.Diagnostics.EventTypeFilter" initializeData="Error"/> )
SourceLevels开关级别( <add name="myTraceInfo" value="Off"/> )
TraceOptions制定要写入跟踪输出中的跟踪数据选项( 侦听器的traceOutputOptions属性 )
四、配置跟踪文件:
五、在应用程序中写入消息代码
使用服务跟踪查看器,查看xml
五、在应用程序中写入消息代码(相关性)
使用相关性必须给跟踪数据选项设置Callstack,LogicalOperationStack
本文出自 “程序猿的家--Hunter” 博客,请务必保留此出处http://962410314.blog.51cto.com/7563109/1599988
一、为什么需要用到跟踪技术:
利用跟踪功能可以从正在运行的应用程序(发布后的程序)中查看消息。我们把定义消息(不同级别的消息)的代码写在应用程序中,根据配置文件中配置,从而写入不同级别的消息。这些消息会写入到哪呢?vs默认是写入到输出窗口上的。输出窗口只能在调试状态下看的见。当我们跟踪发布后的程序那怎么办呢?我们需要在配置文件中定义一个侦听器,来接受从应用程序中写入的消息。下面来具体的介绍跟踪
二、跟踪体系架构:
①,跟踪源:跟踪信息的源头。例如:需要跟踪程序集或跟踪某个命名空间或某个类
②,开关:开关定义了要记录的信息级别。例如:可以请求错误信息或详细详细
③,侦听器:定义了写入跟踪消息的位置。
④,筛选器:筛选要记录的信息级别。例如:开关定义了Information级别,可以用过筛选只记录Error信息级别
需要引用命名空间:using System.Diagnostics;
三、参数对照表
侦听器 | 描述 |
---|---|
System.Diagnostics.XmlWriterTraceListener | 写入Xml文件 |
System.Diagnostics.TextWriterTraceListener | 写入文本 |
System.Diagnostics.DelimitedListTraceListener | 写入带有分隔符的文本,配置文件属性( delimiter=":")设置分隔符号 |
System.Diagnostics.EventLogTraceListener | 写入事件日志 |
WebPageTraceListener | 写入web跟踪文件trace.axd中 |
事件 | 描述 |
---|---|
Critical | 定义了致命错误或应用程序崩溃 |
Error | 表示可恢复的错误 |
Information | 信息性消息 |
Verbose | 调试跟踪 |
Warning | 非关键性问题(警告) |
Transfer | 相关标识的更改 |
Start | 逻辑操作的开始 |
Stop | 逻辑操作的停止 |
Suspand | 逻辑操作的挂起 |
Resume | 逻辑操作的恢复 |
级别 | 描述 |
---|---|
ActivityTracing | 允许 Stop、Start、Suspend、Transfer 和 Resume 事件通过。 |
All | 允许所有事件通过。 |
Critical | 只允许 Critical 事件通过。 |
Error | 允许 Critical 和 Error 事件通过。 |
Information | 允许 Critical、Error、Warning 和 Information 事件通过。 |
Off | 不允许任何事件通过。 |
Verbose | 允许 Critical、Error、Warning、Information 和 Verbose 事件通过。 |
Warning | 允许 Critical、Error 和 Warning 事件通过。 |
参数 | 描述 |
---|---|
Callstack | 写入调用堆栈 |
DateTime | 写入日期和时间 |
LogicalOperationStack | 写入逻辑操作堆栈 |
None | 不写入如何操作 |
ProcessId | 写入进程标识 |
ThreadId | 写入线程标识 |
Timestamp | 写入时间戳 |
五、在应用程序中写入消息代码(相关性)
使用相关性必须给跟踪数据选项设置Callstack,LogicalOperationStack
本文出自 “程序猿的家--Hunter” 博客,请务必保留此出处http://962410314.blog.51cto.com/7563109/1599988
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://962410314.blog.51cto.com/7563109/1599988
一、为什么需要用到跟踪技术:
利用跟踪功能可以从正在运行的应用程序(发布后的程序)中查看消息。我们把定义消息(不同级别的消息)的代码写在应用程序中,根据配置文件中配置,从而写入不同级别的消息。这些消息会写入到哪呢?vs默认是写入到输出窗口上的。输出窗口只能在调试状态下看的见。当我们跟踪发布后的程序那怎么办呢?我们需要在配置文件中定义一个侦听器,来接受从应用程序中写入的消息。下面来具体的介绍跟踪
二、跟踪体系架构:
①,跟踪源:跟踪信息的源头。例如:需要跟踪程序集或跟踪某个命名空间或某个类
②,开关:开关定义了要记录的信息级别。例如:可以请求错误信息或详细详细
③,侦听器:定义了写入跟踪消息的位置。
④,筛选器:筛选要记录的信息级别。例如:开关定义了Information级别,可以用过筛选只记录Error信息级别
需要引用命名空间:using System.Diagnostics;
三、参数对照表
侦听器 | 描述 |
---|---|
System.Diagnostics.XmlWriterTraceListener | 写入Xml文件 |
System.Diagnostics.TextWriterTraceListener | 写入文本 |
System.Diagnostics.DelimitedListTraceListener | 写入带有分隔符的文本,配置文件属性( delimiter=":")设置分隔符号 |
System.Diagnostics.EventLogTraceListener | 写入事件日志 |
WebPageTraceListener | 写入web跟踪文件trace.axd中 |
事件 | 描述 |
---|---|
Critical | 定义了致命错误或应用程序崩溃 |
Error | 表示可恢复的错误 |
Information | 信息性消息 |
Verbose | 调试跟踪 |
Warning | 非关键性问题(警告) |
Transfer | 相关标识的更改 |
Start | 逻辑操作的开始 |
Stop | 逻辑操作的停止 |
Suspand | 逻辑操作的挂起 |
Resume | 逻辑操作的恢复 |
级别 | 描述 |
---|---|
ActivityTracing | 允许 Stop、Start、Suspend、Transfer 和 Resume 事件通过。 |
All | 允许所有事件通过。 |
Critical | 只允许 Critical 事件通过。 |
Error | 允许 Critical 和 Error 事件通过。 |
Information | 允许 Critical、Error、Warning 和 Information 事件通过。 |
Off | 不允许任何事件通过。 |
Verbose | 允许 Critical、Error、Warning、Information 和 Verbose 事件通过。 |
Warning | 允许 Critical、Error 和 Warning 事件通过。 |
参数 | 描述 |
---|---|
Callstack | 写入调用堆栈 |
DateTime | 写入日期和时间 |
LogicalOperationStack | 写入逻辑操作堆栈 |
None | 不写入如何操作 |
ProcessId | 写入进程标识 |
ThreadId | 写入线程标识 |
Timestamp | 写入时间戳 |
五、在应用程序中写入消息代码(相关性)
使用相关性必须给跟踪数据选项设置Callstack,LogicalOperationStack
本文出自 “程序猿的家--Hunter” 博客,请务必保留此出处http://962410314.blog.51cto.com/7563109/1599988
相关文章推荐
- c#调用COM组件
- C#实现把指定数据写入串口
- C#动态创建button的方法
- C#中抽象方法与虚拟方法的区别
- c#中虚函数的相关使用方法
- C#实现给图片加水印的方法
- C#使用加边法计算行列式的值
- C#实现多线程的同步方法实例分析
- C#中尾递归的使用、优化及编译器优化
- C#中的delegate委托类型基本学习教程
- C#实现子窗体与父窗体通信方法实例总结
- C#通用邮件发送类分享
- 举例讲解C#中自动实现的属性
- C#中this的用法集锦
- C#数据结构之顺序表(SeqList)实例详解
- C#.NET获取拨号连接的宽带连接方法
- C#异步绑定数据实现方法
- C#实现AddRange为数组添加多个元素的方法
- C#中Equality和Identity浅析
- C#比较二个数组并找出相同或不同元素的方法