Я использую стороннее приложение nodejs, которое довольно большое и использует много разных вещей для ведения журнала. Например, console.log()
и console.error()
. Я хотел бы быть в состоянии перехватить весь вывод и войти в конкретный файл. Я думал об использовании winston
и сделать что-то вроде этого:
const winston = require('winston')
const logger = winston.createLogger({
transports: [
new winston.transports.File({ filename: 'error.log', level: 'error' })
]
})
const ce = console.error
console.error = function(...args) {
logger.log.apply('error', args)
ce.apply(args)
}
Есть ли лучший способ справиться с такой ситуацией?
Могу также добавить, что некоторые части приложения уже используют winston
для ведения журнала.
Моя цель - создать единый файл со всеми ошибками и предупреждениями, генерируемыми из приложения.