Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在JavaScript中以字符串形式获取console.log内容_Javascript_Logging_Console - Fatal编程技术网

如何在JavaScript中以字符串形式获取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(){

我试图在纯JavaScript中获取console.log作为字符串。 我的输入是一个我不熟悉的脚本,我想将console.log中的所有消息收集到一个字符串中

例如:

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”错误。