1. 程式人生 > >Sentry(v20.12.1) K8S 雲原生架構探索, SENTRY FOR JAVASCRIPT 手動捕獲事件基本用法

Sentry(v20.12.1) K8S 雲原生架構探索, SENTRY FOR JAVASCRIPT 手動捕獲事件基本用法

![](https://img2020.cnblogs.com/blog/436453/202101/436453-20210114131158902-1942894314.png) ## 系列 1. [Sentry-Go SDK 中文實踐指南](https://mp.weixin.qq.com/s/MLqRSh7D0YZzCKfG5xvsZw) 2. [一起來刷 Sentry For Go 官方文件之 Enriching Events](https://mp.weixin.qq.com/s/0Ke1gozUyUVny4-7B2mw0w) 3. [Snuba:Sentry 新的搜尋基礎設施(基於 ClickHouse 之上)](https://mp.weixin.qq.com/s/RKaBfEh8Dlgt_iuHt10OPg) 4. [Sentry 10 K8S 雲原生架構探索,Vue App 1 分鐘快速接入](https://mp.weixin.qq.com/s/Rwwz4MJytA7va8zE8A5Y0w) 5. [Sentry(v20.12.1) K8S雲原生架構探索,玩轉前/後端監控與事件日誌大資料分析,高效能高可用+可擴充套件可伸縮叢集部署](https://mp.weixin.qq.com/s/5xYtkzNx31dLsCAhoMPGrQ) 6. [Sentry(v20.12.1) K8S 雲原生架構探索,Sentry JavaScript SDK 三種安裝載入方式](https://mp.weixin.qq.com/s/EV9M3Ru5rK5atAjTl1D9PA) 7. [Sentry(v20.12.1) K8S 雲原生架構探索,SENTRY FOR JAVASCRIPT SDK 配置詳解](https://mp.weixin.qq.com/s/dlaejrn1kWBPiUJSmrzwow) ## 基本用法 Sentry 的 SDK 掛接到您的執行時環境中,並自動報告錯誤(`errors`)、異常(`exceptions`)和拒絕(`rejections`)。 關鍵術語: * event 是向 Sentry 傳送資料的一個例項。通常,該資料是一個錯誤(`error`)或異常(`exception`)。 * issue 是一組類似事件。 * 事件的報告稱為 capturing。捕獲事件後,會將其傳送給 Sentry。 最常見的捕獲形式是捕獲錯誤(`capture errors`)。可以捕獲的錯誤因平臺而異。通常,如果您有一些看起來像異常(`exception`)的東西,它可以被捕獲。對於某些 SDK,還可以省略 `capture_exception` 的引數,Sentry 將嘗試捕獲當前異常。對於向 Sentry 手動報告錯誤或訊息也很有用。 在捕獲事件時,您還可以記錄導致該事件的麵包屑(`breadcrumbs`)。麵包屑與事件不同:它們不會在 Sentry 中建立事件,但會在傳送下一個事件之前被緩衝。在我們的 Breadcrumbs documentation 中瞭解更多關於麵包屑的資訊。 ### 捕獲錯誤 在 JavaScript 中,您可以將錯誤物件傳遞給 `captureException()`,以將其捕獲為事件。可以將字串作為錯誤丟擲,在這種情況下無法記錄回溯。 ```js try { aFunctionThatMightFail(); } catch (err) { Sentry.captureException(err); } ``` ### 捕獲裸訊息 另一個常見操作是捕獲裸訊息(`bare message`)。訊息是應該傳送給 Sentry 的文字資訊。通常情況下,訊息不會發出,但它們對某些團隊可能很有用。 ```js Sentry.captureMessage("Something went wrong"); ``` ### 設定事件級別 level — 類似於日誌級別 — 通常是根據整合(`integration`)預設新增的。您還可以在事件中重寫它。 要在 scope 外設定 level,你可以呼叫 `captureMessage()` 每個事件: ```js Sentry.captureMessage("this is a debug message", "debug"); ``` 要在作用域(scope)中設定級別,你可以呼叫 `setLevel()`: ```js Sentry.configureScope(function(scope) { scope.setLevel(Sentry.Severity.Warning); }); ``` 或者每個事件: ```js Sentry.withScope(function(scope) { scope.setLevel("info"); Sentry.captureException("info"); }); ``` 中文文件陸續同步到: * https://getsentry.hacker-linner.com ``` 我是為少。 微信:uuhells123。 公眾號:黑客下午茶。 謝謝點贊支援