- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我知道您可以在浏览器上和通过 adb 查看 cordova 应用程序的控制台。
但我想要的是用户能够向我发送错误报告。在该错误报告中,我希望包含出现的 console.error 的内容。
这有可能吗?
最佳答案
至少您需要:
添加一个 window.onerror
处理程序。它将由您应用中任何未处理的异常触发。 (不过,这对捕获的错误没有任何作用。)参见 https://developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers/onerror了解更多信息。
添加一些发送错误报告的方法。您可以使用 HTML 和少量 JavaScript(使用 XHR)完成此操作。确保您使用的后端是安全的。
更全面的选项将为您提供更多有用的信息:
创建一个日志记录方法来处理您应用的所有日志记录需求。它应该能够处理日志级别,如info
、warn
、error
等。日志记录方法应该保存最近的日志,以便他们可以包含在任何错误报告中。
NOTE: You probably don't want to save everything, since that could be memory intensive. You may only want to track the last 100 or so logs entries.
如果发生错误
,让您的记录器要求用户使用报告方法(如前一节所述)发送错误报告。因为您已经记录了额外的数据,所以您可以更全面地记录应用中到目前为止发生的事情。
不过,最终,我会四处寻找一个错误处理和报告库,这样您就不需要重新发明轮子了。
NOTE: In all cases you should be careful what you log and where and how you send that data. You shouldn't log anything that would compromise privacy or security (e.g., passwords), and you should send the logs over secured channels and store the logs on your backend securely. You should mention how you store and handle this information (including what information is collected) in your privacy policy as well.
关于android - 从已部署的 Cordova 应用访问 console.log/error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42598599/
已经有几个关于捕获或重定向 console.log 的问题: redirect Javascript syntax errors and console.log to somewhere else C
console.log(String(console.log('Not undefined')) === 'undefined'); console.log(String(console.log('N
我知道这是一个新手错误,但我不知道如何修复它。 public static void main (String args[]){ Console kitty = System.console(); S
我正在使用 Visual Studio 2015。 我试图打印一些语句只是为了跟踪一个非常长时间运行的测试。当使用 VSTest.Console 和/Logger:trx 时,调试输出(无论我们使用
这个问题在这里已经有了答案: Accessing console and devtools of extension's background.js (8 个回答) 5年前关闭。 我的 Chrome
我在括号中收到此错误。 我想强调一个事实,这是我第二次打开 JS 文件。 正如我强调的那样,我还想强调一个事实,即我不知道 Eslint 和 node.js 是什么。 StackOverflow 和其
我按照文档中的描述安装了 Drupal Console Launcher: curl https://drupalconsole.com/installer -L -o drupal.phar mv
Console.WriteLine() 和有什么区别和Trace.WriteLine() ? 最佳答案 从“调试”的角度来看这些。 我们开始使用 Console.WriteLine() 进行调试 后来
我一直在尝试连接到 serial console of a Raspberry Pi 3 with Android Things使用USB to TTL cable从我的 Linux (Ubuntu)
namespace Pro { class ErrorLog { public ErrorLog(RenderWindow app) {
以下代码是一个众所周知的示例,用于显示调试版本和发布版本之间的区别: using System; using System.Threading; public static class Program
if (open_date) { open_date = get_date_from_string(open_date); window.console && cons
在 Xcode 中工作时,我通常只为控制台打开一个单独的窗口,以便我可以看到尽可能多的输出行。我今天刚刚更新到 Xcode 12,在更新之前,您可以将编辑器 Pane 和控制台 Pane 之间的分隔线
在 Google Play Console 上,在所有应用程序的第一页,它会显示已安装的受众和用户获取。 我知道已安装的受众是在他们的设备上安装我的应用程序的受众。但什么是用户获取?通常,用户获取的数
Qt Quick uses qDebug执行日志记录,其中标准 Javascript 日志记录方法映射到 Qt 日志类型 console.log() -> qDebug() console.deb
Qt Quick uses qDebug执行日志记录,其中标准 Javascript 日志记录方法映射到 Qt 日志类型 console.log() -> qDebug() console.deb
我有以下代码: bool loop = true; LongbowWorkerThread Worker = new LongbowWorkerThread(); Th
我遇到了这两个 API,用于在 C# 的简单控制台应用程序中读取用户的输入: System.Console.ReadLine() System.Console.In.ReadLine() 这是一个我试
我是编程和 js 的新手,我正在尝试学习 javascript 的关键。 var obj1 = { name: 'rawn', fn: function() { con
using System; namespace ConsoleApplication1 { class Program { static void Main(strin
我是一名优秀的程序员,十分优秀!