Winston добавить пользовательские уровни журнала - PullRequest
0 голосов
/ 12 июня 2018

Я пытаюсь добавить пользовательские уровни логов в winston.Это код для регистратора:

const write = new (winston.Logger)({
    transports: [       
        new (winston.transports.DailyRotateFile)({
            filename: `${logDir}/%DATE%-log`,
            timestamp: tsFormat,
            datePattern: 'D-M-YYYY',
            prepend: true,
            zippedArchive:true,
         }),                
    ] 
});

Я пытался добавить пользовательские уровни журналов, но продолжаю видеть все журналы в моем файле журналов.

Это мой код дляпользовательские уровни журнала:

var levels = {
levels: {
  info: 0,
  debug: 1,
  warning: 2,
  error: 3
}
};

А затем я добавил эту строку кода для транспорта:

levels: levels.levels

И это в моем транспорте:

 level: "error"

Но ятакже продолжайте видеть журналы информации.Кто-нибудь может помочь мне с этим?Спасибо

1 Ответ

0 голосов
/ 12 июня 2018

Уровни ведения журнала в Winston основаны на приоритете (выше или ниже).Степень серьезности логов численно возрастает от самых важных к наименьшим.

{ 
  emerg: 0, 
  alert: 1, 
  crit: 2, 
  error: 3, 
  warning: 4, 
  notice: 5, 
  info: 6, 
  debug: 7
}

Здесь, когда вы ведете журнал для уровня ошибки 3 (logger.error), журналы с критическим значением, предупреждением и emerg также включаются в ваши журналы.,

Аналогично в вашем пользовательском уровне журнала серьезность для level:error очень низка, а также регистрирует все уровни <= 3, включая журнал, отладку и предупреждение. </strong>

Если вы хотите регистрировать только level:error, измените уровень серьезности настраиваемого журнала следующим образом

var levels = {
levels: {
  error: 0
  info: 1,
  debug: 2,
  warning: 3
}
};

Для получения дополнительной информации ознакомьтесь с уровнями регистрации winston

...