Express WinstonInstance不忽略传输

Express WinstonInstance不忽略传输,express,express-winston,Express,Express Winston,第一次使用Winston和Express Winston 我为Winston创建了一个logger实例,正在通过server.js将其推送到我的express应用程序中 logger.js const logger = (module.exports = require('winston')); logger.add( new logger.transports.File({ filename: 'debugFile.log', level: 'debug', ha

第一次使用Winston和Express Winston

我为Winston创建了一个logger实例,正在通过server.js将其推送到我的express应用程序中

logger.js

const logger = (module.exports = require('winston'));

logger.add(
  new logger.transports.File({
    filename: 'debugFile.log',
    level: 'debug',
    handleExceptions: true,
    humanReadableUnhandledException: true,
    exitOnError: true,
    json: false,
    maxsize: 104857600,
    maxFiles: 5,
  })
);

logger.add(
  new logger.transports.Console({
    level: 'error',
    handleExceptions: true,
    humanReadableUnhandledException: true,
    exitOnError: true,
  })
);
CreateExpressApp.js

const express = require('express');
const bodyParser = require('body-parser');
const expressWinston = require('express-winston');
const router = require('./routes/createRouter.js')();
module.exports = ({ database, logger }) =>
  express()
    .use(
      expressWinston.logger({
        winstonInstance: logger, // Problem Here
        msg:
          '{{res.statusCode}} {{req.method}} {{req.url}} {{res.responseTime}}ms',
        meta: false,
      })
    )
    .use(bodyParser.urlencoded({ extended: true }))
    .use(bodyParser.json())
    .use((req, res, next) => {
      req.base = `${req.protocol}://${req.get('host')}`;
      req.logger = logger;
      req.db = database;
      console.log(logger);
      return next();
    })
    .use(express.static('./public'))
    .use('/api', router)
    .use((error, req, res, next) => {
      logger.error(error, error);
      res.status(error.status || 500).json({ error });
    });
从my server.js导出的记录器