Можно ли использовать значение уровня вместо числа в сообщениях журнала bunyan?

Журналы Bunyan-узлов печатаются (на стандартный вывод) с числовыми уровнями журналов, как определено в Bunyan Doc ( https://github.com/trentm/node-bunyan)

{ ... , level: 10, .... }

Можно ли напечатать их с фактическим значением, в этом случае

{ ... , level: "trace", .... }

?

3 ответа

Я не думаю, что это возможно использоватьbunyan, согласно документуlevelв основных областях.

уровень: обязательный. Целое. Добавил Баньян. Не может быть переопределен. См. раздел «Уровни».

https://github.com/trentm/node-bunyan#core-поля

Да, в Уровне можно выдавать строковое значение вместо числа. Пожалуйста, обратитесь по этой ссылке:https://gist.github.com/trentm/8f16f630ddd73d3f87d4

Краткий ответ: да

Посмотрите, как они реализовали это в своем тестовом примере.

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

Ссылка:
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;

Другие вопросы по тегам