我有以下问题。我想使用express-winston包在我的express应用程序(使用Typescript编写)中记录http请求。这是我的代码的简化版本:
// 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
直接在app.js文件中使用配置时错误消失:
app.use(expressWinston.logger({
transports: [
new (winston.transports.Console)()
]
}));
什么可能导致此问题?