配置跟踪侦听器

DRDA 服务支持多个并发跟踪侦听器,包括默认文本编码器、默认控制台编码器和可选的自定义编码器。 drdaServiceTraceListeners 元素包含一个或多个 drdaServiceTraceListener 元素,以指示 DRDA 服务器将跟踪输出发送到可选的自定义文本跟踪侦听器。

系统诊断

DRDA 服务支持一组共享侦听器,以将信息记录到文本、控制台和事件日志。 MsDrdaService.exe.config 文件的 hostIntegration.drdaAs.drdaService 节的 system.diagnostics 元素定义和控制各种侦听器。

应用配置

用于启用文本和控制台跟踪侦听器的 MsDrdaService.exe.config 元素、属性和值的示例。

<system.diagnostics>  
  <sources>  
    <source name="DrdaAs" switchName="sourceSwitch" switchType="System.Diagnostics.SourceSwitch">  
      <listeners>  
        <!--<add name="DrdaAsTextListener" />  
        <add name="DrdaAsConsoleListener" />  
        <add name="DrdaETWListener"/>  
        <add name="EventLog" />  
        -->  
        <remove name="Default" />  
      </listeners>  
    </source>  
  </sources>  
  <sharedListeners>  
    <add name="DrdaAsTextListener"  
          type="Microsoft.HostIntegration.Drda.Common.DrdaTraceListener, Microsoft.HostIntegration.Drda.Common, Version=9.0.1000.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"  
          initializeData="MsDrdaService.DSTF"  
          traceOutputOptions="None"  
          autoFlush="true"  
          traceLevel="0"  
          maxTraceEntries="1000000"   
          maxTraceFiles="10"  
         />  
    <add name="DrdaAsConsoleListener"  
         type="Microsoft.HostIntegration.Drda.Common.DrdaConsoleTraceListener, Microsoft.HostIntegration.Drda.Common, Version=9.0.1000.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"   
         traceOutputOptions="None"  
         traceLevel="3"   
         />  
    <add name="EventLog"  
          type="System.Diagnostics.EventLogTraceListener, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"  
          initializeData="DrdaService1" >  
      <filter type="System.Diagnostics.EventTypeFilter"  
              initializeData="Error,Warning,Information"/>  
    </add>  
    <add name="DrdaETWListener"  
      type="Microsoft.HostIntegration.Drda.Common.DrdaEventProviderTraceListener, Microsoft.HostIntegration.Drda.Common, Version=9.0.1000.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"  
             initializeData="{3B4388CE-50E0-404C-A62B-E9C87D4F3BC4}"  
             traceLevel="0"/>  
  </sharedListeners>  
</system.diagnostics>  

启用跟踪

默认情况下,DRDA 服务跟踪侦听器处于禁用状态。 若要启用 DRDA 服务的跟踪侦听器,请取消注释 MsDrdaService.exe.config 文件中 system.diagnostics 部分的源元素中的一个或多个元素。 此外,为了启用跟踪,请在 MsDrdaService.exe.config 文件的 system.diagnostics 部分的 sharedListeners 元素中,为每个目标跟踪侦听器的 traceLevel 属性设置一个介于 1 到 4 之间的正值。

<sources>  
  <source name="DrdaAs" switchName="sourceSwitch" switchType="System.Diagnostics.SourceSwitch">  
    <listeners>  
      <!--<add name="DrdaAsTextListener" />-->  
      <!--<add name="DrdaAsConsoleListener" />-->  
      <add name="DrdaETWListener"/>  
      <add name="EventLog" />  
      <remove name="Default" />  
    </listeners>  
  </source>  
</sources>  

MsDrdaService.exe.config 文件的 system.diagnostics 节中的 sources 元素示例

文本跟踪监听器

DRDA 服务文本跟踪侦听器将跟踪数据输出到磁盘文件。

跟踪侦听器名称

名称属性定义 DRDA 服务文本跟踪侦听器的名称。 此 必需 属性 仅接受一个字符串,其值仅限 DrdaAsTextListener

跟踪侦听器类型

类型属性定义 DRDA 服务文本跟踪侦听器的类型。 此 必需 属性接受一个 字符串,其值为 Microsoft.HostIntegration.Drda.Common.DrdaTraceListener, Microsoft.HostIntegration.Drda.Common, Version=9.0.1000.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL。

跟踪侦听器初始化

initializeData 属性定义要创建的磁盘文件类型。 此 必需 属性仅接受字符串,其值只能为 MsDrdaService.DSTF

跟踪文件文件夹

traceFileFolder 属性指示 DRDA 服务在何处写入文本侦听器跟踪输出文件。 此 可选 属性接受 字符串 值。 默认值为 C:\Program Files\Microsoft Host Integration Server 2013\traces

注释

每个用户帐户必须具有跟踪文件夹的写入访问权限,才能在文本跟踪文件中插入行。 每个用户帐户都需要与 HIS 运行时用户本地组关联的文件夹访问控制列表设置。 有关详细信息,请参阅标题为“安全和保护”的部分。

自动冲洗

autoFlush 属性指示 DRDA 服务自动将数据刷新到跟踪侦听器。 此可选属性接受 布尔 值。 默认值为 true

注释

DRDA 服务可以自动将跟踪数据刷新到跟踪侦听器,这可以确保捕获跟踪数据,但会增加磁盘 I/O 并降低整体系统性能。 若要提高性能,请将 autoFlush=false 设置为禁用自动跟踪刷新。

最大跟踪条目数

maxTraceEntries 属性指示 DRDA 服务跟踪最大条目数,然后停止跟踪。 此 可选 属性接受 整数。 默认值为 1000000

跟踪输出选项

DRDA 服务不使用 traceOutputOptions 属性。 此 可选 属性接受 字符串 值。 默认值为 none

跟踪级别

traceLevel 属性指示 DRDA 服务跟踪定义的信息集合,从最小到最大跟踪级别。 此 可选 属性接受 整数 值。 默认值为 0,用于禁用跟踪。

价值 DESCRIPTION
0 输出无跟踪消息。
1 输出错误消息。
2 输出警告消息和错误消息。
3 输出信息消息、警告消息和错误消息。
4 输出所有消息。

DRDA 服务跟踪侦听器级别。

控制台追踪侦听器

DRDA 服务控制台跟踪侦听器将跟踪数据输出到命令控制台窗口。

跟踪侦听器名称

名称属性定义 DRDA 服务文本跟踪侦听器的名称。 此 必需 属性接受一个 字符串,其值只能为 DrdaAsConsoleListener

跟踪侦听器类型

类型属性定义 DRDA 服务文本跟踪侦听器的类型。 此必需属性接收一个字符串,其值为 Microsoft.HostIntegration.Drda.Common.DrdaConsoleTraceListener、Microsoft.HostIntegration.Drda.Common、Version=9.0.1000.0、Culture=neutral、PublicKeyToken=31bf3856ad364e35、processorArchitecture=MSIL。

跟踪输出选项

DRDA 服务不使用 traceOutputOptions 属性。 此 可选 属性接受 字符串 值。 默认值为 none

跟踪级别

traceLevel 属性指示 DRDA 服务跟踪定义的信息集合,从最小到最大跟踪级别。 此 可选 属性接受 整数 值。 默认值 为 3,用于禁用跟踪。

ETW 跟踪侦听器

DRDA 服务 ETW(Windows 事件跟踪)跟踪侦听器作为 ETW 提供程序,通过 ETW 会话将跟踪数据输出到 Windows作系统 ETW 控制器。 管理员可以使用 ProviderId GUID“3B4388CE-50E0-404C-A62B-E9C87D4F3BC4”注册 ETW 提供程序。 ETW 使用者可以读取 ETW 日志文件或侦听 ETW 会话以获取实时事件。

跟踪侦听器名称

名称属性定义 DRDA 服务文本跟踪侦听器的名称。 必需 的此属性接受一个字符串,其值为DrdaETWListener

跟踪侦听器类型

类型属性定义 DRDA 服务 ETW 跟踪侦听器的类型。 此 必需 属性接受一个 字符串,其值为 Microsoft.HostIntegration.Drda.Common。 DrdaEventProviderTraceListener, Microsoft.HostIntegration.Drda.Common, Version=9.0.1000.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL.

跟踪侦听器初始化

initializeData 属性定义用于将 ETW 提供程序注册到 ETW 控制器的 ETW ProviderID GUID。 此 必需 属性 接受字符串,值为 3B4388CE-50E0-404C-A62B-E9C87D4F3BC4

跟踪级别

traceLevel 属性指示 DRDA 服务跟踪定义的信息集合,从最小到最大跟踪级别。 此 可选 属性接受 整数 值。 默认值为 0,用于禁用跟踪。

事件日志侦听器

DRDA 服务事件日志侦听器将日志数据输出到 Windows 事件日志。

事件日志侦听器名称

名称属性定义 DRDA 服务事件日志侦听器的名称。 此必需属性接受包含 EventLog 值的字符串

事件日志侦听器类型

类型属性定义 DRDA 服务事件日志侦听器的类型。 此 必需 属性 接受字符串,值为 System.Diagnostics.EventLogTraceListener、System、Version=2.0.0.0、Culture=neutral、PublicKeyToken=b77a5c561934e089。

事件日志侦听器初始化

initializeData 属性定义 DRDA 服务器服务实例。 此 必需 属性 接受一个字符串,其值为 DrdaService1

事件日志侦听器筛选器

筛选器元素指示 DRDA 服务按筛选器类型记录数据。 此必需元素包含两个属性:类型;和 initializData。

事件日志筛选器类型

筛选器元素的 type 属性定义筛选器类型。 此 必需 属性 接受字符串值 ,值为 System.Diagnostics.EventTypeFilter

事件日志筛选器级别

initializeData 属性指示 DRDA 服务记录定义的信息集合。 此 可选 属性接受 字符串 值。 默认值为 Error,Warning,Information,其中包括所有事件日志级别。

价值 DESCRIPTION
错误 此值指示 DRDA 服务仅记录错误级别数据。
警告 此值指示 DRDA 服务仅记录警告级别数据。
信息 此值指示 DRDA 服务仅记录信息级别数据

DRDA 服务事件日志侦听器的级别。

自定义跟踪侦听器

DRDA 服务以 .NET Framework 自定义侦听器的形式支持自定义跟踪侦听器。 有关自定义跟踪侦听器示例的信息,请参阅程序员指南和参考。 drdaServiceTraceListeners 元素包含一个或多个 drdaServiceTraceListener 元素,以指示 DRDA 服务器将跟踪输出发送到可选的自定义文本跟踪侦听器。 drdaServiceTraceListener 元素包含一组用于定义自定义跟踪侦听器的属性。 该类型是 Microsoft.HostIntegration.Drda.Common.BaseDrdaTraceListener,定义了一个 DRDA 服务器自定义跟踪侦听器。

DRDA 服务将把文本跟踪输出处理后发送到 MsDrdaService.exe.config 中引用的自定义跟踪侦听器,如下所示。

<drdaServiceTraceListeners>  
          <drdaServiceTraceListener type="Microsoft.HostIntegration.Drda.Common.BaseDrdaTraceListener, Microsoft.HostIntegration.Drda.Common, Version=9.0.1000.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"  
                                    traceLevel="4"/>  
        </drdaServiceTraceListeners>  

DRDA 服务应用程序配置文件中自定义跟踪侦听器的默认值。

跟踪级别

traceLevel 属性指示 DRDA 服务跟踪定义的信息集合,从最小到最大跟踪级别。 此 可选 属性接受 整数 值。 默认值为 0,用于禁用跟踪。

设置

设置属性指示 DRDA 服务将信息传递给自定义绑定侦听器。 此 可选 属性接受 字符串 值。 默认值为 none