我知道您可以在浏览器和adb上查看cordova应用程序的控制台。
但我想要的是让用户能够向我发送错误报告。在该错误报告中,我希望有内容包括出现的console.error。
这有可能吗?
答案 0 :(得分:3)
至少你需要:
添加window.onerror
处理程序。它将由您的应用中的任何未处理的异常触发。 (但这对于捕获的错误没有任何作用。)有关详细信息,请参阅https://developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers/onerror。
添加一些发送错误报告的方法。您可以使用HTML和一些JavaScript(使用XHR)来完成此任务。确保您使用的后端受到保护。
更全面的选项可为您提供更多有用的信息:
创建一个处理所有应用程序日志记录需求的日志记录方法。它应该能够处理日志级别,如info
,warn
,error
等。日志记录方法应保存最近的日志,以便它们可以包含在任何错误报告中。
注意:您可能不想保存所有内容,因为这可能会占用大量内存。您可能只想跟踪最近100个日志条目。
如果出现error
,请让您的记录器要求用户使用报告方法发送错误报告(如上一节所述)。由于您已经记录了其他数据,因此您可以更加全面地了解应用程序中发生的事情。
但最终,我会四处寻找错误处理和报告库,以便您不需要重新发明轮子。
注意:在所有情况下,您都应该小心您记录的内容以及发送数据的位置和方式。您不应记录任何会损害隐私或安全性的内容(例如密码),您应该通过安全通道发送日志并将日志安全地存储在后端。您应该在隐私政策中提及如何存储和处理这些信息(包括收集的信息)。