如何获取我的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);
};
答案 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();