前端之家收集整理的这篇文章主要介绍了
javascript – 调试器中的console.log行号,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在寻找一种简单的方法来制作日志功能.
我正在调用函数logSuc(“从Prom返回”),该函数在第30行.
因此代码将始终指向该函数的第30行.在控制台中:

所以说有这个代码:
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的行(“有效”).
@H_
502_32@最佳答案
您在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) .