使用console.trace时是否有指定堆栈跟踪深度的方法?我会发现这对于信息和日志级别消息特别有用,以识别行号和文件
答案 0 :(得分:5)
您可以通过设置变量
来控制收集的堆栈帧数Error.stackTraceLimit
将其设置为0将禁用堆栈跟踪收集。任何有限整数值都将用作要收集的最大帧数。将其设置为Infinity意味着将收集所有帧。
另一种选择是使用命令行标志--stack-trace-limit
:
node --stack-trace-limit=50 test.js
参考文献:
答案 1 :(得分:2)
方法console.trace看起来像:
exports.trace = function(label) {
// TODO probably can to do this better with V8's debug object once that is
// exposed.
var err = new Error;
err.name = 'Trace';
err.message = label || '';
Error.captureStackTrace(err, arguments.callee);
console.error(err.stack);
};
https://github.com/joyent/node/blob/master/lib/console.js#L61
所以看起来你无法设置跟踪深度。