启用库
您可以使用 .NET 版 Error Reporting 库,从 .NET 应用向 Error Reporting 发送错误报告。
Error Reporting 已与某些 Google Cloud 服务集成,例如 App Engine、Compute Engine 和 Google Kubernetes Engine。Error Reporting 可显示在这些服务上运行的应用记录到 Cloud Logging 中的错误。如需了解详情,请参阅本页面上的在 Google Cloud Platform 上运行。
您还可以使用 Logging 将错误数据发送到 Error Reporting。如需了解数据格式设置要求,请参阅设置 Logging 中的错误消息格式。
准备工作
- 登录您的 Google Cloud 帐号。如果您是 Google Cloud 新手,请创建一个帐号来评估我们的产品在实际场景中的表现。新客户还可获享 $300 赠金,用于运行、测试和部署工作负载。
-
在 Google Cloud Console 的项目选择器页面上,选择或创建一个 Google Cloud 项目。
-
确保您的 Cloud 项目已启用结算功能。 了解如何确认您的项目是否已启用结算功能。
- 启用 Error Reporting API 。
安装客户端库
借助 .NET 版 Error Reporting 库,您可以监控和查看几乎在任何位置运行的 .NET 应用所报告的错误。
如需详细了解如何安装,请参阅 .NET 版 Error Reporting 库的文档。您还可以使用问题跟踪器来报告问题。
配置客户端库
您可以自定义 .NET 版 Error Reporting 库的行为。请参阅 .NET API 参考文档
报告错误
使用以下命令安装 Cloud 库:
软件包管理器
PM> Install-Package Google.Cloud.Diagnostics.AspNetCore -Version 2.0.1
.NET CLI
> dotnet add package Google.Cloud.Diagnostics.AspNetCore --version 2.0.1
如果您使用的是 App Engine 柔性环境,请参阅 App Engine 柔性环境部分。
在 Google Cloud 上运行
要使用 .NET 版 Error Reporting 库,您必须具备 Identity and Access Management 的 Error Reporting Writer 角色。大多数 Google Cloud 计算平台均默认提供此角色。
您可以使用以下 Google Cloud 环境配置 .NET 版 Error Reporting。
App Engine 柔性环境
App Engine 默认授予 Error Reporting Writer 角色。
您无需明确提供凭据即可使用 .NET 版 Error Reporting 库。
系统会自动为 App Engine 柔性环境应用启用 Error Reporting。无需进行额外设置。 Error Reporting 将对从 App Engine 写入到 stderr
的消息进行分析;如果发现包含堆栈轨迹,则显示这些消息。
请参阅查看错误,了解如何在 Cloud Console 中查看应用的错误和异常数据。
Google Kubernetes Engine
在 GKE 上,您必须在创建集群时添加 cloud-platform
访问权限范围,如以下示例命令所示:
gcloud container clusters create example-cluster-name --scopes https://www.googleapis.com/auth/cloud-platform
Compute Engine
使用 Compute Engine 虚拟机实例时,请为每个实例添加 cloud-platform
访问权限范围。通过 Google Cloud Console 创建新实例时,您可以在创建实例面板的身份和 API 访问权限部分执行此操作。请使用 Compute Engine 默认服务帐号或您选用的其他服务帐号,并在身份和 API 访问权限部分中勾选允许所有 Cloud API 的全面访问权限。无论您选择哪个服务帐号,都请确保已在 Cloud Console 的 IAM 和管理部分向该服务帐号授予 Error Reporting Writer 角色。
在本地和其他位置运行
如需在 Google Cloud 之外(包括您自己的工作站、您数据中心的计算机或另一家云提供商的虚拟机实例上)使用 .NET 版 Error Reporting 库,您必须直接向 .NET 版 Error Reporting 库提供您的 Google Cloud 项目 ID 和相应的服务帐号凭据。
您可以手动创建和获取服务帐号凭据。指定角色字段时,请使用 Error Reporting Writer 角色。如需详细了解 Identity and Access Management 角色,请转到访问权限控制指南。
查看错误报告
部署后,您可以在 Cloud Console Error Reporting 信息中心中查看错误报告。
如需了解详情,请参阅查看错误。
为 .NET Core 应用设置 Error Reporting
如需使用 Google.Cloud.Diagnostics.AspNetCore
客户端库,请执行以下操作:
在 Visual Studio 中右键点击您的解决方案,然后选择 Manage Nuget packages for solution。
选中包括预发行版复选框。
搜索并安装名为
Google.Cloud.Diagnostics.AspNetCore
的程序包。安装
Google.Cloud.Diagnostics.AspNetCore
客户端后,如果想自定义要发送到 Error Reporting 的错误信息,请在应用的源代码文件中添加以下 using 指令:using Google.Cloud.Diagnostics.AspNetCore;
然后,完成以下步骤,以记录您的应用提供的自定义错误报告:
在应用的
Startup.cs
文件中创建或修改ConfigureServices
方法,并调用services.AddGoogleExceptionLogging()
:在应用的
Startup.cs
文件中修改Configure
方法并调用app.UseGoogleExceptionLogging()
,然后调用app.UseStaticFiles()
和app.UseMvc()
。
下面的示例演示了如何记录错误,以报告可供 Error Reporting 提取的自定义错误事件: