javascript – 调试器中的console.log行号

前端之家收集整理的这篇文章主要介绍了javascript – 调试器中的console.log行号前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

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

我正在调用函数logSuc(“从Prom返回”),该函数在第30行.

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

@L_403_0@

所以说有这个代码

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

另一种选择可能是:

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

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

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

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

最佳答案
您在console.log上使用Function.prototype.bind获得的函数将指向调用它的行号.它有点受限,但是如果你只想传递一个字符串参数,那么它将起作用:

const logSuc = console.log.bind(console,'%c %s','background: green; color: white');

在Firefox和Chrome中都进行了测试.

对于更复杂的行为,您可以手动黑名单包含日志记录功能的脚本,如this answer for Chrome中所述,并激活Firefox中调试器中脚本上的“黑盒”按钮(旁边是{} Pretty print source,eye icon) .

猜你在找的HTML相关文章