Nodejs - 打印函数名称,行号和文件名

时间:2017-10-08 11:52:47

标签: node.js logging stack-trace

我正在研究Nodejs中的各种软件包,但找不到适合我需求的软件包。 我想将当前的行号,函数名和src文件输出到日志中,类似于Bunyan logger的做法。

我查看了诸如“来电显示”之类的套餐。但我不能使用它,因为它不支持' strict'模式。

其他软件包,例如' capture-stack-trace'只返回没有行号的文件名&功能名称。

我是否缺少可以满足我需求的套餐? 或者是否有一种优雅的方式在代码中生成此信息?

提前致谢。

1 个答案:

答案 0 :(得分:0)

在每个节点记录器中,默认情况下始终关闭确定呼叫源信息。这很慢。切勿在生产中使用此选项。

我们将bunyan用于我们的微服务。这是来自documentation

的copypaste
  

可以添加日志调用站点的源文件,行和功能   使用src:true config选项记录记录:

var log = bunyan.createLogger({src: true, ...});
     

这会在' src'中添加通话源信息。字段,像这样:

{
  "name": "src-example",
  "hostname": "banana.local",
  "pid": 123,
  "component": "wuzzle",
  "level": 4,
  "msg": "This wuzzle is woosey.",
  "time": "2012-02-06T04:19:35.605Z",
  "src": {
    "file": "/Users/trentm/tm/node-bunyan/examples/src.js",
    "line": 20,
    "func": "Wuzzle.woos"
  },
  "v": 0
}