【发布时间】:2018-06-23 17:15:08
【问题描述】:
我打算在 express 应用程序中使用 morgan 进行日志记录。
我可以在server.js 文件中使用morgan 为:app.use(morgan('tiny')),它工作正常。但是,我想将所有与日志记录相关的中间件放入名为 logger.js 的文件中并从中使用,而不会使 server.js 文件复杂化。
所以logger.js 看起来如下:
import morgan from 'morgan'
import express from 'express'
exports.morganLogger= function(req, res, next){
morgan('tiny')
next() // Also tried commenting: next()
}
并在server.js 中使用import morganLogger from './logger' 并尝试app.use(morganLogger) 和app.use('\', morganLogger) 但它是徒劳的,因为它被证明不是集成中间件的正确语法!
当app.use('/', morganLogger) 时得到TypeError('Router.use() requires a middleware function but got a ' + gettype(fn)) 和app.use(morganLogger) 时得到TypeError: app.use() requires a middleware function。
有没有办法解决这个问题并将morgan 用作来自外部js 文件的express 中间件。
【问题讨论】:
标签: javascript node.js express morgan