一尘不染

如何获取Node.js中显示的console.log行号?

node.js

有一个旧的应用程序,使用可以打印出很多消息console.log,但是我只是找不到在哪个文件和行console.log中调用。

有没有办法挂接到应用程序并显示文件名和行号?


阅读 458

收藏
2020-07-07

共1个答案

一尘不染

对于临时黑客来说,找到想要摆脱的日志语句,覆盖console.log自己并不是很困难。

var log = console.log;

console.log = function() {

    log.apply(console, arguments);

    // Print the stack trace

    console.trace();

};





// Somewhere else...

function foo(){

    console.log('Foobar');

}

foo();

那将打印类似

Foobar
Trace
at Console.console.log (index.js:4:13)
at foo (index.js:10:13)
at Object.<anonymous> (index.js:12:1)
...

那里有很多杂音,但调用堆栈的第二行at foo (index.js:10:13),应该将您指向正确的位置。

2020-07-07