[英]Turn off console.log inside the scope of a function
我在模塊中編寫代碼,每個模塊都可以單獨調試。 我想在模塊級別上打開或關閉console.log
消息,以便僅關注我正在處理的模塊。
我可以將每個模塊的_debug_
變量設置為true
或false
,並編寫類似的日志消息
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.