文档主页
MySQL Connector/NET 开发人员指南
相关文档 下载本手册
PDF (US Ltr) - 1.3Mb
PDF (A4) - 1.3Mb


MySQL Connector/NET 开发人员指南  /  ...  /  使用 Connector/NET 跟踪源对象

5.12.2 使用 Connector/NET 跟踪源对象

.NET 跟踪体系结构由四个主要部分组成

  • - 这是跟踪信息的来源。源用于发送跟踪消息。Connector/NET 提供的源名称是 mysql

  • 开关 - 这定义了要发出的跟踪信息的级别。通常,这是在 app.config 文件中指定的,因此无需重新编译应用程序即可更改跟踪级别。

  • 侦听器 - 跟踪侦听器定义将跟踪信息写入何处。支持的侦听器包括(例如)Visual Studio 输出窗口、Windows 事件日志和控制台。

  • 筛选器 - 筛选器可以附加到侦听器。筛选器确定将写入的跟踪信息的级别。虽然开关定义了将写入所有侦听器的信息的级别,但可以在每个侦听器的基础上应用筛选器,从而对跟踪信息进行更精细的控制。

要使用跟踪,MySql.Data.MySqlClient.MySqlTrace 可用作 Connector/NET 的 TraceSource,并且连接字符串必须包含 "Logging=True"

要启用跟踪消息,请配置跟踪开关。跟踪开关具有与其关联的跟踪级别枚举,它们是 关闭错误警告信息详细

MySqlTrace.Switch.Level = SourceLevels.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() 方法。