如何在JavaScript中以字符串形式获取console.log内容
我试图在纯JavaScript中获取console.log作为字符串。 我的输入是一个我不熟悉的脚本,我想将console.log中的所有消息收集到一个字符串中 例如:如何在JavaScript中以字符串形式获取console.log内容,javascript,logging,console,Javascript,Logging,Console,我试图在纯JavaScript中获取console.log作为字符串。 我的输入是一个我不熟悉的脚本,我想将console.log中的所有消息收集到一个字符串中 例如: function doSomething(){ console.log("start"); console.log("end"); var consoleLog = getConsoleLog(); return consoleLog; } function getConsoleLog(){
function doSomething(){
console.log("start");
console.log("end");
var consoleLog = getConsoleLog();
return consoleLog;
}
function getConsoleLog(){
// How to implement this?
}
alert(doSomething());
请注意,我不需要提醒日志-这只是测试功能的一个简单示例。我必须对日志内容执行一些操作。您可以在使用前覆盖
console.log
方法:
var logBackup = console.log;
var logMessages = [];
console.log = function() {
logMessages.push.apply(logMessages, arguments);
logBackup.apply(console, arguments);
};
使用apply
和arguments
保留正确的console.log
行为,即您可以通过一次调用添加多个日志消息
它会将所有新的console.log
消息推送到logMessages
数组。这会为我抛出一个“InternalError:to More recursion”错误。