.NET 2.0 跟踪体系结构由四个主要部分组成:
源- 这是跟踪信息的发起者。源用于发送跟踪消息。Connector/NET 提供的源名称是
mysql
.开关- 这定义了要发出的跟踪信息的级别。通常,这在
app.config
文件中指定,因此无需重新编译应用程序即可更改跟踪级别。侦听器- 跟踪侦听器定义跟踪信息将写入的位置。支持的侦听器包括,例如,Visual Studio 输出窗口、Windows 事件日志和控制台。
过滤器- 过滤器可以附加到侦听器。过滤器确定将写入的跟踪信息的级别。虽然开关定义了将写入所有侦听器的信息级别,但可以在每个侦听器的基础上应用过滤器,从而对跟踪信息进行更细粒度的控制。
要使用跟踪 , MySql.Data.MySqlClient.MySqlTrace 可以用作 Connector/NET 的 TraceSource,并且连接字符串必须包含“Logging=True”。
要启用跟踪消息,请配置跟踪开关。跟踪开关与跟踪级别枚举相关联,它们是 Off、 Error、 Warning、 Info和 Verbose。
MySqlTrace.Switch.Level = SourceLevels.Verbose;
这会将跟踪级别设置为 Verbose,这意味着将写入所有跟踪消息。
无需重新编译代码就可以更改跟踪级别,这很方便。这是通过在应用程序配置文件中指定跟踪级别来实现的,
app.config
. 然后您只需在配置文件中指定所需的跟踪级别并重新启动应用程序。跟踪源
system.diagnostics
在文件的部分中配置。以下 XML 片段说明了这一点:
<configuration>
...
<system.diagnostics>
<sources>
<source name="mysql" switchName="MySwitch"
switchType="System.Diagnostics.SourceSwitch" />
...
</sources>
<switches>
<add name="MySwitch" value="Verbose"/>
...
</switches>
</system.diagnostics>
...
</configuration>
默认情况下,跟踪信息写入 Microsoft Visual Studio 的输出窗口。有多种侦听器可以附加到跟踪源,因此可以将跟踪消息写出到不同的目的地。您还可以创建自定义侦听器,以允许将跟踪消息写入其他目的地,如移动设备和 Web 服务。侦听器的一个常用示例是ConsoleTraceListener
,它将跟踪消息写入控制台。
要在运行时添加侦听器,请使用如下代码:
ts.Listeners.Add(new ConsoleTraceListener());
然后调用跟踪源对象的方法生成跟踪信息。例如,
可以使用
TraceInformation()
、
TraceEvent()
或方法。TraceData()