我试图在纯 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
数组。
关于javascript - 如何在 JavaScript 中将 console.log 内容作为字符串获取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24052775/