5

我希望能够在 Google Cloud Log 查看器中查看客户端错误。是否可以从 AngularJS 应用程序创建日志条目,如果可以,如何创建?

4

2 回答 2

5

Stackdriver Error Reporting 专为应用错误而设计,我鼓励您使用它而不是 Stackdriver Logging 来报告错误。

对于客户端错误报告,您需要使用带有 API 密钥的HTTP reportAPI 。

我编写了一个 JavaScript 库来帮助您从客户端调用此端点:https ://github.com/GoogleCloudPlatform/stackdriver-errors-js

我还没有使用 Angular 应用程序对其进行测试(但有一个跟踪问题)。它被标记为实验性的,但应该已经相当稳定了。如果您遇到问题或想提供帮助,欢迎您的贡献

于 2016-09-06T11:36:08.980 回答
1

如果您真的想在日志查看器中查看错误,在 GCE 或 AWS EC2 上执行此操作的方法是安装Stackdriver Logging 代理,然后

  • 将您的日志消息作为 JSON 写入端口 24224(请参阅in_forward 文档

或者

  • 将您的日志写入磁盘并告诉代理查看这些文件(请参阅in_tail 文档)。

转发端口已在代理中预先配置。如果您选择使用日志文件,则必须编写自己的配置,将代理指向您的日志文件。

以上两者都是服务器端的,因此您的客户端代码需要以某种方式将错误传输到服务器。也可以向客户端公开转发端口,但请参见下文。

另一种选择是使用Stackdriver Error Reporting API并从服务器或直接从您的客户端代码发布到那里。这样,错误将出现在Stackdriver 错误报告控制台中,而不是日志查看器中。

请记住,让客户端直接写入代理端口或错误报告 API 本质上是不安全的,因为相关的端口/API 密钥必须暴露给互联网(因此条目可以被欺骗,攻击者可以,例如,用完你的配额)。

感谢您使用 Google Stackdriver。

于 2016-08-25T19:01:34.423 回答