2017-10-08 382 views
0

我在研究Nodejs中的各種軟件包,找不到適合我需求的軟件包。 我想輸出當前的行號,函數名和src文件,記錄,類似班揚記錄怎麼做。Nodejs - 打印函數名稱,行號和文件名

我查看了諸如'caller-id'這樣的軟件包,但是我不能使用它,因爲它不支持'strict'模式。

其他軟件包,例如'capture-stack-trace'只返回文件名,沒有行號&函數名稱。

是否有一個我錯過的包,可以滿足我的需求? 或者有沒有一種優雅的方式來生成代碼中的信息?

在此先感謝。

+0

你嘗試https://www.npmjs.com/package/tracer –

+0

我看到它,但它是一個日誌記錄軟件包。我使用Bunyan作爲我的記錄器,我只是想停止使用它的'src'選項。 –

回答

0

默認情況下,在每個節點記錄器中確定呼叫源信息始終處於關閉狀態。它很慢。切勿在生產中使用此選項。

我們使用我們的微服務bunyan。這是documentation copypaste:

源文件,線和功能的記錄調用點可以加入 通過使用src日誌記錄:真正的配置選項:

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 
} 
+0

我已經使用Bunyan作爲記錄器和'src'選項。但我想關閉它並使用我自己的'src'對象。 –