說明
線上App都有統計實時Log的需求,比如用戶突然報錯了,怎麼排查。比如淘寶,搜索出來的商品列表iPhone 11顯示價格¥4900,點擊進商品詳情頁顯示¥5100,如果金額顯示少了就是驚喜,顯示金額多了就是驚嚇。這種異常不是邏輯異常,而是數據異常,需要提示運營人員,及時更新。
現在用AppDynamic來上報異常數據,顯示出來。如果做得更好,可以發郵件,打電話通知。
這裏以iOS爲例子
AppDynamic 安裝
在Podfile中,增加AppDynamic SDK.
pod 'AppDynamicsAgent'
儘量用新的版本,筆者用的版本
pod 'AppDynamicsAgent', '2020.3.0'
運行Pod
pod install
代碼記錄
異常上報會自動打印StackTrace 堆棧信息
var domain = "com.YourCompany.AddUsers.ErrorDomain"
var desc = NSLocalizedString("Unable to add user.", comment: "")
var userInfo = [NSLocalizedDescriptionKey: desc]
var error = NSError(domain: domain, code: -101, userInfo: userInfo)
ADEumInstrumentation.reportError(error, withSeverity: ADEumErrorSeverityLevelWarning)
筆者做了一些修改,
- domain: 記錄mask的用戶登錄名,比如aaa***bbb;
- code: 錯誤代碼
- desc: 錯誤描述
- userInfo: 這是一個Dictionary,可以增加request,response等信息。
記錄查看
數據同步的統計平臺,5分鐘內會同步過去(筆者實踐得知)。
AppDynamic > User Experience > Mobile Apps > 選擇bundle Id的應用 > Code Issues > Code Issue Dashboard > Unique Code Issues
點擊堆棧原始信息,如下面箭頭所示,可以看到自定義的信息。
參考
https://docs.appdynamics.com/display/PRO45/Customize+the+iOS+Instrumentation
https://docs.appdynamics.com/display/PRO45/Code+Issues+Dashboard