Что такое уровни регистрации? - PullRequest
0 голосов
/ 10 января 2019

Я знаю, что транспорты - это места, где я хочу хранить свои журналы, но я не понимаю, каков уровень ведения журналов? У меня есть следующий код для создания регистратора с несколькими видами транспорта.

const logger = winston.createLogger({
  format: winston.format.json(),
  transports: [
    new winston.transports.File({ filename: 'logs/error.log', level: 'error' }),
    new winston.transports.File({ filename: 'logs/info.log', level: 'info' }),
  ],
})

Когда я хочу войти, logger.log('error', err), он регистрирует как файлы info.log, так и error.log. Почему это происходит? Кто-нибудь может объяснить идею уровней в логировании, пожалуйста?

1 Ответ

0 голосов
/ 10 января 2019

Комментарий Гено правильный; почти во всех платформах журналирования (winston, log4js и т. д.) уровень журнала представляет максимальный уровень ошибки при печати. ​​

Установка уровня журнала в ОШИБКУ означает «печатать только сообщения FATAL и ERROR».

Установка уровня журнала на INFO означает «печатать сообщения FATAL, ERROR, WARN и INFO».

Невозможно (по крайней мере, в Winston, но я думаю, что в общем случае это верно для всех) указывать транспорт журналов, который только несет сообщения INFO и не сообщения ERROR , Это по замыслу.

Когда вы устанавливаете уровень журнала, вы фактически указываете уровень детализации - FATAL - это наименее подробное ведение журнала, DEBUG - это самое подробное ведение журнала. Не было бы смысла просить больше подробностей, и тогда фатальные ошибки исчезают из журнала. Вот почему каждый уровень ошибок также включает в себя все сообщения с уровней «ниже» его.

...