Express WinstonInstance不忽略传输
第一次使用Winston和Express Winston 我为Winston创建了一个logger实例,正在通过server.js将其推送到我的express应用程序中 logger.jsExpress 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
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导出的记录器