将Express-Winston与Typescript一起使用

时间:2019-03-31 10:12:14

标签: node.js typescript express winston

我有以下问题。我想使用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)()
  ]
}));

什么可能导致此问题?

0 个答案:

没有答案