一尘不染

如何快速方便地禁用代码中的所有console.log语句?

javascript

有什么方法可以关闭console.log我的JavaScript代码中的所有语句以进行测试?


阅读 569

收藏
2020-04-25

共1个答案

一尘不染

在脚本中重新定义console.log函数。

console.log = function() {}

就是这样,没有更多消息要控制台。

编辑:

扩展Cide的想法。一个自定义记录器,可用于切换代码的​​登录/注销。

在我的Firefox控制台中:

var logger = function()
{
    var oldConsoleLog = null;
    var pub = {};

    pub.enableLogger =  function enableLogger() 
                        {
                            if(oldConsoleLog == null)
                                return;

                            window['console']['log'] = oldConsoleLog;
                        };

    pub.disableLogger = function disableLogger()
                        {
                            oldConsoleLog = console.log;
                            window['console']['log'] = function() {};
                        };

    return pub;
}();

$(document).ready(
    function()
    {
        console.log('hello');

        logger.disableLogger();
        console.log('hi', 'hiya');
        console.log('this wont show up in console');

        logger.enableLogger();
        console.log('This will show up!');
    }
 );

如何使用上述“记录器”?在您的就绪事件中,请调用logger.disableLogger,以便不会记录控制台消息。在要将消息记录到控制台的方法内,将调用添加到logger.enableLogger和logger.disableLogger。

2020-04-25