你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
使用 Azure 诊断跟踪云服务(经典)应用程序的流
重要
从 2024 年 9 月 1 日开始,已针对所有客户弃用云服务(经典版)。 从 2024 年 10 月开始,Microsoft 将停止并关闭任何正在运行的现有部署,数据将永久性丢失。 新部署应使用基于 Azure 资源管理器的新型部署模型 Azure 云服务(外延支持)。
跟踪是在应用程序运行时监视其执行情况的一种方式。 可以使用 System.Diagnostics.Trace、System.Diagnostics.Debug 和 System.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 诊断监视器,请参阅“在 Microsoft Azure 中启用诊断。
注意
如果使用的模板是 Visual Studio 提供的,则会自动添加侦听器的配置。
添加跟踪侦听器
打开针对角色的 web.config 或 app.config 文件。
将以下代码添加到文件。 更改 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 程序集的版本匹配。
保存 config 文件。
有关侦听器的详细信息,请参阅跟踪侦听器。
完成添加侦听器的步骤后,即可将 Trace 语句添加到代码中。
将 Trace 语句添加到代码中
- 打开应用程序的源文件。 例如,用于辅助角色或 Web 角色的 <RoleName>.cs 文件。
- 如果不存在,请添加以下 using 指令:
using System.Diagnostics;
- 添加 Trace 语句,以便捕获有关应用程序状态的信息。 可以使用多种方法来来格式化“跟踪语句”的输出。 有关详细信息,请参阅如何:向应用程序代码添加 Trace 语句。
- 保存源文件。