Использование Express-Winston с Typescript - PullRequest
0 голосов
/ 31 марта 2019

У меня следующая проблема. Я хотел бы использовать пакет express-winston для регистрации http-запросов в моем экспресс-приложении (написано с использованием Typescript). Вот упрощенная версия моего кода:

// config.ts
import winston from 'winston';

export default {
  transports: [
    new (winston.transports.Console)()
  ]
}

// app.js
import expressWinston, { LoggerOptions } from 'express-winston';

const loggerConfig: LoggerOptions = config.get('logger');

app.use(expressWinston.logger(loggerConfig));

Я использую пакет node-config для управления своими файлами конфигурации. Когда я запускаю этот код, я получаю следующую ошибку:

transport['__winston' + event] = transportEvent.bind(this);
                                     ^
TypeError: Cannot add property __winstonerror, object is not extensible

Ошибка исчезает при использовании config непосредственно в файле app.js:

app.use(expressWinston.logger({
  transports: [
    new (winston.transports.Console)()
  ]
}));

Что может вызвать эту проблему?

...