Is there any way to turn off all console.log statements in my JavaScript code, for testing purposes?

推荐答案

Redefine the console.log function in your script.

console.log = function() {}

That's it, no more messages to console.

EDIT:

Expanding on Cide's idea. A custom logger which you can use to toggle logging on/off from your code.

From my Firefox console:

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!');
    }
 );

How to use the above 'logger'? In your ready event, call logger.disableLogger so that console messages are not logged. Add calls to logger.enableLogger and logger.disableLogger inside the method for which you want to log messages to the console.

Javascript相关问答推荐

在拖放时阻止文件打开

无法检测卡片重叠状态的问题

JS,当你点击卡片下方的绿色空间,而它是在它的背后转动时,

使用Google API无法进行Web抓取

在WordPress中使用带有WPCode的Java代码片段时出现意外令牌错误

在forEach循环中获取目标而不是父对象的属性

React.Development.js和未捕获的ReferenceError:未定义useState

确保函数签名中的类型安全:匹配值

用于部分字符串的JavaScript数组搜索

react -原生向量-图标笔划宽度

在JS/TS中将复杂图形转换为数组或其他数据 struct

用于测试其方法和构造函数的导出/导入类

未找到用于 Select 器的元素:in( puppeteer 师错误)

计算对象数组中属性的滚动增量

在每次重新加载页面时更改指针光标

获取S点击的元素类(这?)并将其应用于另一个元素(目标),同时删除目标元素上的所有类

Reaction-跨多个组件共享一个功能

Mancala雪崩版本的Minimax:我的代码返回了一个错误的移动

如何隐藏SELECT中的第一个选项

react setState不保留以前的状态