qingwa让console.log在终端显示文件名和行号
发布于 5 年前 作者 sbfkcel 5026 次浏览 来自 分享

qingwa(青蛙)是最近随手写的一个小玩意儿。之所以叫这名字,是因为不知道起什么名字好。青蛙抓虫子,也契合使用场景。然而英文frog已经在npm上被占用了,所以就干脆用拼音好了。

qingwa能让Node.js console系列方法在终端下输出日志时能显示具体的文件名及行号。

当一个模块很多文件时,调试日志太多还是比较麻烦的。有时候甚至都不知道对应的日志是从哪个文件中输出的。


项目地址:https://github.com/sbfkcel/qingwa

反馈意见请在github上提。

使用效果

qingwa demo

如何使用?

qingwa的使用很简单,引入到项目中执行即可。

安装

npm install qingwa --save

使用

在代码中引入并执行即可

require('qingwa')();

console.log('Hello');    // 此时终端输出的日志即是带有文件名和行号的

实现原理

通过try…catch内嵌throw error定位到具体的位置,并对console系列方法进行再次封装。

5 回复

新创建的error对象本来就带有堆栈信息,try…catch有点多余了。

// print line number let printLineNum = () => { console.log(‘line number : ’ + new Error().stack.split(’\n’)[1]); }

@yuanliwei 感谢指出

回到顶部