У меня есть приложение MERN - React-интерфейс, Express / Mongoose, - которое отлично работает локально. Я развернул бэкэнд в Heroku, интерфейс Surge и Winston перестал работать правильно.
То есть: он вообще не записывает файлы журнала, хотя делает это локально (localhost).
Версией Node на Heroku является 8.11.4, а локально (MacOS) - 10.8.0. И Heroku вызывается через https, а не через мой локальный хост, на котором работает http. Это единственные различия, которые я вижу.
Я попытался указать __dirname
, попытался удалить ссылку на папку (то есть поместить файлы в каталог logs
, но файлы журналов нигде не записывались.
Мой модуль логгера следующий
const {createLogger, format, transports} = require('winston');
const {combine, timestamp, align, colorize, printf} = format;
const path = require('path')
const myFormat = printf(info => {
return `${info.timestamp} [${info.level}: ${info.message}]`;
});
const logger = createLogger({
level: 'debug',
format: combine(
colorize(),
timestamp(),
align(),
myFormat
),
transports: [
new transports.File({maxsize: 500000, filename: path.join(__dirname,'logs/error.log'), level: 'error'}),
new transports.File({maxsize: 500000, filename: path.join(__dirname,'logs/combined.log')})
]
})
module.exports = logger
Опять же, расстраивает то, что все работает идеально локально. Спасибо за любую помощь в отслеживании этого!