使用 console.trace 时有没有办法指定堆栈跟踪深度?我会发现这对于识别行号和文件的信息和日志级别消息特别有用
问问题
3205 次
2 回答
6
您可以通过设置变量来控制收集多少堆栈帧
Error.stackTraceLimit
将其设置为 0 将禁用堆栈跟踪收集。任何有限整数值都将用作要收集的最大帧数。将其设置为 Infinity 意味着将收集所有帧。
另一种选择是使用命令行标志--stack-trace-limit
:
node --stack-trace-limit=50 test.js
参考:
于 2012-06-15T13:24:05.583 回答
5
方法 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
因此,您似乎无法设置跟踪深度。
于 2012-06-15T13:21:21.963 回答