簡體   English   中英

在功能范圍內關閉console.log

[英]Turn off console.log inside the scope of a function

我在模塊中編寫代碼,每個模塊都可以單獨調試。 我想在模塊級別上打開或關閉console.log消息,以便僅關注我正在處理的模塊。

我可以將每個模塊的_debug_變量設置為truefalse ,並編寫類似的日志消息

if(_debug_) {
   console.log('The is a debug message.');
}

我覺得這種方法有點麻煩。 我可以做得更好嗎?

如果要禁用調試語句,則可以在進入模塊作用域時劫持console對象。 這是生成替代“控制台”對象的簡單方法:

function noopConsole()
{
    var konsol = {};
    function noop(){}

    for (var k in window.console)
    {
        konsol[k] = noop;
    }

    return konsol;
}

然后,在模塊的開頭:

var console = _debug_ ? window.console || noopConsole();

而已。

您可以在要停用日志記錄的模塊中重新定義console

不記錄模塊:

var console = {log: function(){}}

這假定每個模塊都在其自己的范圍內。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM