【问题标题】:How to get the console.log content as string in JavaScript如何在 JavaScript 中将 console.log 内容作为字符串获取
【发布时间】:2014-07-26 00:12:40
【问题描述】:

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

例如:

function doSomething(){
    console.log("start");
    console.log("end");
    var consoleLog = getConsoleLog();
    return consoleLog;
}

function getConsoleLog(){
    // How to implement this?
}

alert(doSomething());

JSFiddle link

请注意,我不需要提醒日志 - 这只是测试功能的一个简单示例。我得对日志的内容做一些操作。

【问题讨论】:

    标签: javascript logging console


    【解决方案1】:

    您可以在使用之前覆盖console.log 方法:

    var logBackup = console.log;
    var logMessages = [];
    
    console.log = function() {
        logMessages.push.apply(logMessages, arguments);
        logBackup.apply(console, arguments);
    };
    

    使用 applyarguments 保留正确的 console.log 行为,即您可以通过一次调用添加多个日志消息。

    它将所有新的console.log消息推送到logMessages数组。

    【讨论】:

    • 这对我来说会引发“InternalError: too much recursion”错误。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-31
    • 2013-06-18
    相关资源
    最近更新 更多