在写 Node.js 代码时,常常会使用 console.log
来输出内容,以便于调试。但默认的 console.log
只能标准的输出,在很多需要上下文 debug 的时候,可能信息是不足的。除了使用 debugger
以外,你还可以试着改造 console.log
。
在你的 index.js 顶部添加如下代码,即可实现在使用 console.log
时自动在前面加上时间信息。当然,你也可以实现自己需要的上下文,比如当前的文件、当前的行数等。
console.log = (function() {
var console_log = console.log;
return function() {
var args = [];
args.push(`${new Date().toLocaleString()}` + ' -> ');
for(var i = 0; i < arguments.length; i++) {
args.push(arguments[i]);
}
console_log.apply(console, args);
};
})();
Code language: JavaScript (javascript)
这个函数的逻辑不复杂,对 console.log
进行了覆盖,写如了新的函数,并通过 arguments 将开发者传入的参数重新打印,以确保不丢失开发者传入的参数。