如何使用javascript获取所有console.logs

时间:2019-01-21 11:16:59

标签: javascript

如何获取我的Web应用程序记录的所有控制台日志? 是否有诸如console.getAllLogs()之类的东西可以返回所有已打印日志的数组或对象?

我尝试使用window.onerror

将所有日志存储在一个数组中
// i used something like this, but i want to get logs whenever i want
window.onerror = function(message, file, line) {
  console.log('An error occured at line ' + line + ' of ' + file + ': ' + message);
};

1 个答案:

答案 0 :(得分:2)

在脚本的开头,您可以覆盖console.log,以便console.log的调用都记录,以保存记录到数组中的内容,然后定义一个函数打印数组中的所有内容:

const origConsoleLog = console.log;
const logArr = [];
console.log = (...args) => {
  origConsoleLog.apply(console, args);
  logArr.push(args);
};
const logAll = () => {
  origConsoleLog.call(console, logArr.join('\n'));
};


console.log('foo');
console.log('bar', 'baz');
logAll();