是否可以在bunyan日志消息中使用级别值而不是数字?

Mat*_*ner 5 node.js bunyan

Bunyan-node 日志以数字日志级别打印(到标准输出),如 Bunyan 文档中所定义(https://github.com/trentm/node-bunyan#levels

{ ... , level: 10, .... }
Run Code Online (Sandbox Code Playgroud)

在这种情况下,是否可以用实际值打印它们-

{ ... , level: "trace", .... }
Run Code Online (Sandbox Code Playgroud)

Sam*_*Toh -3

简短回答:是的

看看他们如何在测试用例中实现它。

var bunyan = require('../lib/bunyan');
var log1 = bunyan.createLogger({
    name: 'log1',
    streams: [
        {
            path: __dirname + '/level.test.log1.log',
            level: 'info' /* Using word */
        }
    ]
});
Run Code Online (Sandbox Code Playgroud)

参考: https:
//github.com/trentm/node-bunyan/blob/master/test/level.test.js

我快速浏览了他们的源代码,似乎您也可以摆脱类似bunyan.levelFromName.fatal或的东西bunyan.levelFromName["fatal"]来获得相应的调试值。

请参阅: https:
//github.com/trentm/node-bunyan/blob/master/lib/bunyan.js#L253-L269

另请注意: 代码的最后几行。

module.exports.levelFromName = levelFromName;