获取控制台历史记录

新手上路,请多包涵

我想知道 javascript 中是否有检索控制台历史记录的方法。

我所说的控制台历史是指出现在开发工具控制台中的内容。例如,我想在 html 页面中打印所有显示在我的开发工具中的错误、警告、信息和日志,而无需打开它们。

如果我不清楚,请告诉我。

原文由 François Beaufort 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 956
2 个回答

Chrome 扩展有一个 API, experimental.devtools.console

 chrome.experimental.devtools.console.getMessages(function(messages) {  })

此 API 已被删除。

原文由 NVI 发布,翻译遵循 CC BY-SA 3.0 许可协议

我为此编写了一个简单的跨浏览器库,名为 console.history 。它在 GitHub 上可用: https ://git.io/console

该库基本上所做的是捕获对 console.[log/warn/error/debug/info] 的所有调用,并将它们存储在 console.history 数组中。作为奖励,还添加了完整的堆栈跟踪。

测试文件 test.js 包含:

 function outer() {
  inner();
}

function inner() {
  var array = [1,2,3];
  var object = {"foo": "bar", "key": "value"};
  console.warn("Something went wrong, but we're okay!", array, object);
}

outer();

console.history 的条目将是:

 {
  "type": "warn",
  "timestamp": "Thu, 01 Sep 2016 15:38:28 GMT",
  "arguments": {
    "0": "Something went wrong, but we're okay!",
    "1": [1, 2, 3],
    "2": {
      "foo": "bar",
      "key": "value"
    }
  },
  "stack": {
    "0": "at inner (http://localhost:1337/test/test.js:6:11)",
    "1": "at outer (http://localhost:1337/test/test.js:2:3)",
    "2": "at http://localhost:1337/test/test.js:9:1"
  }
}

原文由 user1878974 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏