node.js是否像c ++预处理器宏一样有__file__和__line__之类的东西?

jer*_*emy 9 node.js

我正在努力增强某些node.js应用程序的日志记录.过去曾使用C++的__ file__和__ line __预处理器宏来帮助我们在记录事件时追踪问题.我在node.js世界中找不到类似的东西.

有没有人有建议或知道如何在node.js中获取行号和文件名以进行日志记录?

我正在寻找类似的东西:

console.log(__FILE__ + "." + __LINE__ + "\t" + new Date().toISOString() + " Message ");
Run Code Online (Sandbox Code Playgroud)

tra*_*vis 7

请参阅:访问V8 JavaScript中的行号(Chrome和Node.js)

然后是文件名:

Object.defineProperty(global, '__file', {
  get: function(){
    return __stack[1].getFileName().split('/').slice(-1)[0];
  }
});
Run Code Online (Sandbox Code Playgroud)

您也可以使用process.argv[1]而不是调用__stackgetter,但我想保持它类似.