相关疑难解决方法(0)

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

有没有办法关闭console.log我的JavaScript代码中的所有语句,以进行测试?

javascript debugging console

231
推荐指数
13
解决办法
18万
查看次数

我不调试时如何禁用console.log?

我的代码中有很多console.log(或任何其他控制台调用),我只想在我的应用程序处于某种"调试模式"时才使用它们.

我似乎无法使用某种记录器功能和内部使用,console.log因为那时我不知道什么线发射它.也许只有try/catch,但我的日志非常通用,我不想在我的代码中尝试/ catch.

你会推荐什么?

javascript debugging logging

47
推荐指数
5
解决办法
4万
查看次数

调试器中的console.log行号

我正在寻找一种简单的方法来制作日志功能.

我正在调用一个函数logSuc("return from Prom"),该函数在第30行.

因此代码将始终指向该函数的第30行.在控制台中:

安慰

所以说有这个代码:

const logSuc = (msg) => {
   console.log(`%c ${msg}`, 'background: green; color: white; display: block;'); 
};
Run Code Online (Sandbox Code Playgroud)

另一种选择可能是:

const log = console.log;
function red(msg) {
  return `%c ${msg}`, 'background: red; color: white; display: block;';
}
log(red('its red');
Run Code Online (Sandbox Code Playgroud)

但现在我有两个功能,我想保持简短

所以问题是我logSuc("") 总是指向第30行.

但我希望它指向我称之为logSuc行("有效").

html javascript console.log

5
推荐指数
1
解决办法
1055
查看次数

无法覆盖谷歌应用程序脚本的console.log()

我有一个大型谷歌应用程序脚本,将大量日志行写入日志资源管理器。我希望能够根据需要禁用或启用日志记录。

下面的代码似乎在浏览器上按预期工作。这里allowlog是在代码中设置的,但它将从外部源检索。这对于本文的目的来说并不重要。

如果需要,自解压功能会覆盖console.log并阻止日志记录。

let allowLog = false; 

function func1(){
  console.log("func1 log msg");
}

(function(){
  //test log 1
  console.log("self extracting");

  //keep ref to global console.log
  const _consolelog = console.log;

  //test log 2 - verify it works
  _consolelog("self extracting2");


//override global console.log
  console.log = function(val){
    if (allowLog){
      _consolelog(val);
      _consolelog("allowing");
    }else{
      _consolelog("log disabled");
    }

  }

})();
Run Code Online (Sandbox Code Playgroud)

此代码不适用于谷歌应用程序脚本,并且日志继续写入。

在应用程序脚本中,我可以 在加载模块时查看console.log("self extracting");并 记录消息。_consolelog("self extracting2");然而,当func1调用日志时,即使allowLog = false. _consolelog("allowing");_consolelog("log disabled");没有记录。全局console.log不会被覆盖。

这是为什么,以及如何(如果有的话)可以修复它?

上述代码的预期日志为 …

javascript debugging google-apps-script console.log

3
推荐指数
1
解决办法
434
查看次数