我正在调用函数logSuc(“从Prom返回”),该函数在第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) .