使用 Azure 诊断跟踪云服务(经典)应用程序的流

重要

从 2024 年 9 月 1 日开始,已弃用所有客户的云服务(经典版)。 从 2024 年 10 月开始,Microsoft 将停止并关闭任何正在运行的现有部署,数据将永久性丢失。 新部署应使用基于 Azure 资源管理器的新型部署模型 Azure 云服务(外延支持)

跟踪是在应用程序运行时监视其执行情况的一种方式。 可以使用 System.Diagnostics.TraceSystem.Diagnostics.DebugSystem.Diagnostics.TraceSource 类在日志、文本文件或其他设备中记录与错误及应用程序执行情况相关的信息,供以后进行分析。 有关跟踪的详细信息,请参阅跟踪和检测应用程序

使用 Trace 语句和 Trace 开关

在云服务应用程序中实施跟踪时,可以将 DiagnosticMonitorTraceListener 添加到应用程序配置中,并在应用程序代码中调用 System.Diagnostics.Trace 或 System.Diagnostics.Debug。 对辅助角色使用配置文件 app.config,对 Web 角色使用配置文件 web.config。 使用 Visual Studio 模板创建新的托管服务时,系统会针对你所添加的角色将 Azure 诊断自动添加到项目中,并将 DiagnosticMonitorTraceListener 添加到相应的配置文件中。

有关如何放置 Trace 语句的信息,请参阅如何:向应用程序代码添加 Trace 语句

可以将 Trace 开关放置到代码中,从而控制是否进行跟踪以及跟踪的范围。 跟踪让你可在生产环境中监视应用程序的状态。 监视应用程序状态在业务应用程序中特别重要,因为业务应用程序会在多个计算机中使用多个运行的组件。 有关详细信息,请参阅如何:配置 Trace 开关

在 Azure 应用程序中配置跟踪侦听器

Trace、Debug 和 TraceSource 都要求设置“侦听器”来收集和记录已发送的消息。 侦听器将收集、存储和路由跟踪消息。 它们会将跟踪输出传输到适当的目标,如日志、窗口或文本文件。 Azure 诊断使用 DiagnosticMonitorTraceListener 类。

完成以下过程之前,必须初始化 Azure 诊断监视器。 若要初始化 Azure 诊断监视器,请参阅在 Azure 中启用诊断

注意

如果使用的模板是 Visual Studio 提供的,则会自动添加侦听器的配置。

添加跟踪侦听器

  1. 打开针对角色的 web.config 或 app.config 文件。

  2. 将以下代码添加到文件。 更改 Version 属性,以使用引用的程序集的版本号。 除非有所更新,否则程序集的版本不一定会随着每个 Azure SDK 发行版发生变化。

    <system.diagnostics>
        <trace>
            <listeners>
                <add type="Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener,
                  Microsoft.WindowsAzure.Diagnostics,
                  Version=2.8.0.0,
                  Culture=neutral,
                  PublicKeyToken=31bf3856ad364e35"
                  name="AzureDiagnostics">
                    <filter type="" />
                </add>
            </listeners>
        </trace>
    </system.diagnostics>
    

    重要

    确保与 Microsoft.WindowsAzure.Diagnostics 程序集建立项目引用。 更新之前的 xml 中的版本号,以便与引用的 Microsoft.WindowsAzure.Diagnostics 程序集的版本匹配。

  3. 保存 config 文件。

有关侦听器的详细信息,请参阅跟踪侦听器

完成添加侦听器的步骤后,即可将 Trace 语句添加到代码中。

将 Trace 语句添加到代码中

  1. 打开应用程序的源文件。 例如,用于辅助角色或 Web 角色的 <RoleName>.cs 文件。
  2. 如果不存在,请添加以下 using 指令:
        using System.Diagnostics;
    
  3. 添加 Trace 语句,以便捕获有关应用程序状态的信息。 可以使用多种方法来来格式化“跟踪语句”的输出。 有关详细信息,请参阅如何:向应用程序代码添加 Trace 语句
  4. 保存源文件。