在使用console.trace时,有没有办法指定堆栈跟踪深度?我会发现这对于识别行号和文件的info和日志级消息特别有用
发布于 2012-06-15 21:24:06
您可以通过设置变量来控制收集了多少堆栈帧
Error.stackTraceLimit将其设置为0将禁用堆栈跟踪收集。任何有限的整数值都将用作要收集的最大帧数。将其设置为Infinity意味着将收集所有帧。
另一种选择是使用命令行标志--stack-trace-limit
node --stack-trace-limit=50 test.js参考文献:
http://code.google.com/p/v8/wiki/JavaScriptStackTraceApi
发布于 2012-06-15 21:21:22
方法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
所以看起来你不能设置跟踪深度。
https://stackoverflow.com/questions/11049880
复制相似问题