2016-08-12 31 views
4

我希望能夠在Google Cloud Log查看器中查看客戶端錯誤。是否有可能從AngularJS應用程序創建日誌條目,如果是這樣的話?如何從AngularJS應用程序登錄到Google Cloud Logging?

+0

不確定Google爲什麼沒有將nodejs stackdriver插件移植到客戶端。如果有人得到一個瀏覽器節點stackdriver與webpack和打字稿一起使用,請評論! – y3sh

回答

1

如果你真的想看到的日誌查看器,錯誤要做到這一點就GCE或AWS EC2的辦法是安裝Stackdriver Logging agent,要麼

轉發端口已在代理中預配置。如果您選擇使用日誌文件,則必須編寫自己的配置,將代理指向您的日誌文件。

以上都是服務器端,所以您的客戶端代碼需要以某種方式將錯誤傳輸到服務器。也可以將轉發端口暴露給客戶端,但請參見下文。

另一種選擇是使用Stackdriver Error Reporting API並從服務器或直接從您的客戶端代碼發佈到那裏。這樣錯誤將出現在Stackdriver Error Reporting console而不是日誌查看器中。

請記住,讓客戶端直接寫入代理端口或錯誤報告API本質上是不安全的,因爲相關端口/ API密鑰必須暴露於互聯網(所以條目可能被欺騙,攻擊者可以,例如,用完你的配額)。

感謝您使用Google Stackdriver。

+0

感謝您的回答。我使用服務器解決方案創建了一個用於記錄的REST API,並將其部署到代理已運行的node.js AppEngine實例。然後,只需要以Stackdriver JSON日誌條目格式寫入/var/log/app_engine/custom_logs/client.log.json即可。 –

+0

你是對的,這是一個解決方案。我發佈了一個替代答案,可以幫助您擺脫這個代理AppEngine實例。 – Steren

3

Stackdriver錯誤報告是專門爲應用程序錯誤而設計的,我鼓勵您使用它而不是Stackdriver Logging來報告錯誤。

對於客戶端錯誤報告,您需要使用帶有API密鑰的HTTP report API

我寫了一個JavaScript庫,以幫助您從客戶端調用這個端點:https://github.com/GoogleCloudPlatform/stackdriver-errors-js

我沒有利用角度應用測試它尚未(但a tracking issue此)。它被標記爲實驗性的,但應該已經相當穩定。如果遇到問題或希望提供幫助,歡迎您提供幫助

+0

通過stackdriver日誌和「Stackdriver錯誤報告」報告錯誤有什麼區別? – y3sh

+1

@ y3sh Stackdriver錯誤報告是一個崩潰報告解決方案:它不僅僅是一個條目列表,而且它將錯誤有意義地分組並追蹤每個組的計數。 – Steren

相關問題