以编程方式保存chrome的控制台日志
有没有在javascript或nodejs的方式来编程取得所有在铬的控制台的一切,所以我可以将其保存到文件或数据库?
在执行你想要logging的代码之前,用一个将它引发到一个数组(或其他地方)的console.log
,
ECMAScript 6中的示例:
var logs = []; var oldConsoleLog = console.log; console.log = function(...args) { logs.push(args); oldConsoleLog.call(this, args); }
将你想观察的方法隐藏起来,并用他们的数据做一些事情,例如
if (console) (function (obj, types, callback) { var slice = Array.prototype.slice, // slice used later to protect args from change i; function wrap(type, method, callback) { return function () { callback.call(this, type, slice.call(arguments), method); return method.apply(this, arguments); }; } for (i = 0; i < types.length; ++i) obj[types[i]] = wrap(types[i], obj[types[i]], callback); }( console, ['log', 'warn', 'error'], function (type, args, meth) { // this is the callback, do something with the data // **don't use console here unless you want an infinite loop ;) alert(type); } ));
这里的IIFE是完全通用的,你可以用它来影射任何你想要的对象的方法
在这里,我把callback作为警报types,即将警报日志,如果您使用console.log
然后它login到控制台
// with callback defined above, console.log('foo'); // alerts "log" then logs "foo"
在Chrome控制台中获取所有内容的另一种方法是使用http://www.consoleexport.com您input您的URL并提交。 它将显示一个表格中的所有控制台条目,您可以复制并粘贴到电子表格中。 或者,您可以select将控制台条目导出为.txt(制表符分隔)或.xlsx格式的文件。