如何在JavaScript中从Chrome的控制台读取获取所有控制台数据
2022-08-30 05:14:56
我想在我的应用程序中放置一个按钮,如果您按下它,它将获取写入控制台的所有内容的内容,并将其通过电子邮件发送给我(用于报告错误)。我知道我可以保留一个变量,每次我做一个控制台.log也会将消息附加到该变量,但我试图保持较低的应用程序内存消耗,这样从控制台获取它就会更有效率。
有没有办法从javascript中检索控制台消息?
我想在我的应用程序中放置一个按钮,如果您按下它,它将获取写入控制台的所有内容的内容,并将其通过电子邮件发送给我(用于报告错误)。我知道我可以保留一个变量,每次我做一个控制台.log也会将消息附加到该变量,但我试图保持较低的应用程序内存消耗,这样从控制台获取它就会更有效率。
有没有办法从javascript中检索控制台消息?
你不能。控制台中的内容无法从 JavaScript 中读取。
您可以做的是挂接该函数,以便在它记录时进行存储:console.log
console.stdlog = console.log.bind(console);
console.logs = [];
console.log = function(){
console.logs.push(Array.from(arguments));
console.stdlog.apply(console, arguments);
}
console.logs
包含所有记录的内容。您可以随时通过执行来清洁它。console.logs.length = 0;
您仍然可以通过调用 来执行标准的、非存储的日志。console.stdlog
如何在js中读取浏览器控制台错误?
https://www.quora.com/How-do-I-read-console-window-errors-from-Chrome-using-JavaScript
console.defaultLog = console.log.bind(console);
console.logs = [];
console.log = function(){
// default & console.log()
console.defaultLog.apply(console, arguments);
// new & array data
console.logs.push(Array.from(arguments));
}
console.defaultError = console.error.bind(console);
console.errors = [];
console.error = function(){
// default & console.error()
console.defaultError.apply(console, arguments);
// new & array data
console.errors.push(Array.from(arguments));
}
console.defaultWarn = console.warn.bind(console);
console.warns = [];
console.warn = function(){
// default & console.warn()
console.defaultWarn.apply(console, arguments);
// new & array data
console.warns.push(Array.from(arguments));
}
console.defaultDebug = console.debug.bind(console);
console.debugs = [];
console.debug = function(){
// default & console.debug()
console.defaultDebug.apply(console, arguments);
// new & array data
console.debugs.push(Array.from(arguments));
}