我知道您可以在瀏覽器上或通過adb查看cordova應用程序的控制檯。從已部署的Cordova應用程序訪問console.log /錯誤
但我想要的是用戶能夠給我發送錯誤報告。在那個錯誤報告中,我希望那裏的內容包括出現的console.error。
這有可能嗎?
我知道您可以在瀏覽器上或通過adb查看cordova應用程序的控制檯。從已部署的Cordova應用程序訪問console.log /錯誤
但我想要的是用戶能夠給我發送錯誤報告。在那個錯誤報告中,我希望那裏的內容包括出現的console.error。
這有可能嗎?
您至少需要:
添加window.onerror
處理程序。它會被應用程序中的任何未處理的異常觸發。 (儘管這對於發現的錯誤沒有任何幫助。)有關更多信息,請參閱https://developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers/onerror。
添加一些發送錯誤報告的方法。您可以使用HTML和一些JavaScript(使用XHR)來完成此操作。確保你使用的後端是安全的。
一個更全面的選擇會給你更多有用信息:
創建處理所有您的應用程序的日誌記錄需求的測井方法。它應該能夠處理日誌級別,如info
,warn
,error
等。日誌記錄方法應該保存最近的日誌,以便它們可以包含在任何錯誤報告中。
注:你可能不希望保存一切,因爲這可能會佔用大量內存。您可能只想跟蹤最近的100個左右的日誌條目。
如果error
發生,讓您的記錄器要求用戶使用報告方法發送錯誤報告(如上一節中所述)。由於您已經記錄了額外的數據,因此您可以在此處添加更全面的關於應用程序發生情況的統計信息。
但是,最終,我會尋找一個錯誤處理和報告庫,以便您不需要重新發明輪子。
注:在任何情況下,你應該小心您登錄什麼何處及如何發送數據。您不應該記錄任何會危害隱私或安全性的內容(例如密碼),並且您應該通過安全通道發送日誌,並將日誌安全地存儲在後端。您應該提及您在隱私政策中如何存儲和處理這些信息(包括收集哪些信息)。