Node.js 有没有办法知道在nodejs中从哪个文件调用函数?
我正在为记录器编写一个模块,希望它在每次调用函数Node.js 有没有办法知道在nodejs中从哪个文件调用函数?,node.js,Node.js,我正在为记录器编写一个模块,希望它在每次调用函数dlog()时都添加一个前缀,并使用调用该函数的文件名。现在我每次都要这样称呼它: dlog(__filename + " log text"); 是否有一种方法可以检测调用函数的文件名,而不使用此方法?来自: }来自: } function _getCallerFile() { try { var err = new Error(); var callerfile; var curre
dlog()
时都添加一个前缀,并使用调用该函数的文件名。现在我每次都要这样称呼它:
dlog(__filename + " log text");
是否有一种方法可以检测调用函数的文件名,而不使用此方法?来自:
}
来自:
}
function _getCallerFile() {
try {
var err = new Error();
var callerfile;
var currentfile;
Error.prepareStackTrace = function (err, stack) { return stack; }; currentfile = err.stack.shift().getFileName(); while (err.stack.length) { callerfile = err.stack.shift().getFileName(); if(currentfile !== callerfile) return callerfile; } } catch (err) {} return undefined;