Я внедрил Winston для регистрации моего приложения nodejs. В настоящее время я записываю журнал в файлы журнала с использованием транспорта «DailyRotateFile» Winston и вывод данных журнала на консоль.Nodejs Winston Emit to socket
Я хочу добавить дополнительный транспорт, который отправляет сообщение журнала в сокет, чтобы я мог выводить его на веб-интерфейс, который я создал с помощью Express через socket.io.
Это текущий путь я настроил Winston:
var logger = new winston.Logger({
transports: [
new winston.transports.DailyRotateFile({
level: 'info',
filename: './Logs/server',
datePattern: '.yyyy-MM-dd.log',
handleExceptions: true,
json: true,
maxsize: 5242880, // 5MB
maxFiles: 5,
colorize: false
}),
new winston.transports.Console({
level: 'debug',
handleExceptions: true,
json: false,
colorize: true
})
],
exitOnError: false
})
Это кодируют настоящее время я использую испускать сообщение журнала:
var logStream = logger.stream({
start: -1
})
logStream.on('log', function(log){
console.log('LOG STREAM')
//console.log(log)
io.emit('logger', log);
})
Это, однако, постоянно выводит «LOG STREAM «к консоли nodejs при запуске сервера и не испускает ничего, когда я использую команду logger.info.
EDIT Так это выглядит, как причине он продолжает выводить «LOG STREAM» происходит потому, что он посылает все сообщения, которые были сохранены в файле журнала, даже если я ставлю «старт -1»
Я был бы очень признателен за любые предложения о том, как правильно это достичь. ТИА!
Я получил следующую ошибку, и я не могу найти никаких документов о winston webhook > TypeError: winston.transports.Webhook не является функцией –