Ошибка после обновления winston до версии 3.2.1. Ошибка типа: self._addDefaultMeta не является функцией - PullRequest
0 голосов
/ 27 октября 2019

После того, как я обновил winston до версии 3.2.1, я получаю сообщение об ошибке при попытке выполнить горячую перекомпиляцию проекта (когда мой проект запущен и я внес изменения).

Я попытался обновить все свои зависимости допоследние версии, но это не помогло. Кажется, что webpack-hot-middleware не работает правильно с последней версией winston.

Буду признателен за совет, как это исправить.

Ошибка:

i 「wdm」: Compiling...
D:\Dev\MyProjectName\node_modules\winston\lib\winston\create-logger.js:80
        self._addDefaultMeta(info);
             ^

TypeError: self._addDefaultMeta is not a function
    at Object.DerivedLogger.<computed> [as log] (D:\Dev\MyProjectName\node_modules\winston\lib\winston\create-logger.js:80:14)
    at onInvalid (D:\Dev\MyProjectName\node_modules\webpack-hot-middleware\middleware.js:27:24)
    at SyncHook.eval [as call] (eval at create (D:\Dev\MyProjectName\node_modules\tapable\lib\HookCodeFactory.js:19:10), <anonymous>:9:1)
    at SyncHook.lazyCompileHook (D:\Dev\MyProjectName\node_modules\tapable\lib\Hook.js:154:20)
    at Watchpack.<anonymous> (D:\Dev\MyProjectName\node_modules\webpack\lib\Watching.js:142:33)
    at Object.onceWrapper (events.js:300:26)
    at Watchpack.emit (events.js:210:5)
    at Watchpack._onChange (D:\Dev\MyProjectName\node_modules\watchpack\lib\watchpack.js:118:7)
    at Watchpack.<anonymous> (D:\Dev\MyProjectName\node_modules\watchpack\lib\watchpack.js:99:8)
    at Watcher.emit (events.js:210:5)
    at D:\Dev\MyProjectName\node_modules\watchpack\lib\DirectoryWatcher.js:101:9
    at Array.forEach (<anonymous>)
    at DirectoryWatcher.setFileTime (D:\Dev\MyProjectName\node_modules\watchpack\lib\DirectoryWatcher.js:99:42)
    at DirectoryWatcher.<anonymous> (D:\Dev\MyProjectName\node_modules\watchpack\lib\DirectoryWatcher.js:312:12)
    at D:\Dev\MyProjectName\node_modules\graceful-fs\polyfills.js:285:20
    at FSReqCallback.oncomplete (fs.js:159:5)

Конфигурация логгера:

const winston = require('winston');

const transports = [];

const alignColorsAndTime = winston.format.combine(
  winston.format.timestamp({
    format: 'HH:MM:ss:SS DD.MM.YY',
  }),
  winston.format.printf(
    info => `${info.timestamp} ${info.level}:${info.message}`,
  ),
);

/**
 * Console transporter
 */
transports.push(new winston.transports.Console({
  level: config.logging.console.level,
}));

const logger = winston.createLogger({
  level: 'debug',
  transports,
  format: winston.format.combine(winston.format.colorize(), alignColorsAndTime),
  exitOnError: false,
});

module.exports = logger;

Версии зависимостей:

winston@3.2.1
webpack-hot-middleware@2.25.0
webpack@4.41.2
...