【发布时间】:2017-03-04 16:50:46
【问题描述】:
我知道您可以在浏览器和 adb 上查看 Cordova 应用程序的控制台。
但我希望用户能够向我发送错误报告。在该错误报告中,我希望有包括出现的 console.error 在内的内容。
这可能吗?
【问题讨论】:
标签: android cordova ionic-framework hybrid-mobile-app
我知道您可以在浏览器和 adb 上查看 Cordova 应用程序的控制台。
但我希望用户能够向我发送错误报告。在该错误报告中,我希望有包括出现的 console.error 在内的内容。
这可能吗?
【问题讨论】:
标签: android cordova ionic-framework hybrid-mobile-app
您至少需要:
添加一个window.onerror 处理程序。它将由您的应用程序中任何未处理的异常触发。 (不过,这对于捕获的错误没有任何作用。)有关更多信息,请参阅 https://developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers/onerror。
添加一些发送错误报告的方法。您可以使用 HTML 和一点 JavaScript(使用 XHR)来完成此操作。确保您使用的后端是安全的。
更全面的选项将为您提供更多有用的信息:
创建一个日志方法来处理您应用的所有日志记录需求。它应该能够处理info、warn、error 等日志级别。日志记录方法应该保存最近的日志,以便它们可以包含在任何错误报告中。
注意:您可能不想保存所有内容,因为这可能会占用大量内存。您可能只想跟踪最近 100 条左右的日志条目。
如果出现error,让您的记录器要求用户使用报告方法(如上一节中所述)发送错误报告。因为您已经记录了额外的数据,所以您可以更全面地记录应用程序中到目前为止发生的事情。
不过,我最终还是会寻找一个错误处理和报告库,这样您就不需要重新发明轮子了。
注意:在所有情况下,您都应该小心您记录的内容以及发送这些数据的位置和方式。您不应该记录任何会危及隐私或安全的内容(例如密码),并且您应该通过安全通道发送日志并将日志安全地存储在您的后端。您还应该在隐私政策中提及您如何存储和处理这些信息(包括收集哪些信息)。
【讨论】: