У меня следующая проблема. Я хотел бы использовать пакет 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)()
]
}));
Что может вызвать эту проблему?