【发布时间】:2015-01-31 02:06:02
【问题描述】:
正如标题所述,如何将所有请求记录到 Sails.js 服务器?我的日志配置有什么需要更改的吗?我只想查看发送到我的服务器的每个 GET、POST 等的列表。
【问题讨论】:
标签: javascript node.js sails.js
正如标题所述,如何将所有请求记录到 Sails.js 服务器?我的日志配置有什么需要更改的吗?我只想查看发送到我的服务器的每个 GET、POST 等的列表。
【问题讨论】:
标签: javascript node.js sails.js
对于 Sails v1.x,
您可以在 config/http.js 文件中实现中间件。
module.exports.http = {
middleware: {
// default given middleware is commented by me just for concentrating on example
// you should enable needed middlewares always
order: [
// 'cookieParser',
// 'session',
// 'bodyParser',
// 'compress',
// 'poweredBy',
// 'router',
// 'www',
// 'favicon',
'foobar'
],
foobar: (function() {
return function(req, res, next) {
// here you will be having access to the Request object "req"
let requestUrl = req.url
let requestIpAddress = req.ip
let requestMethod = req.method
let requestHeader = req.header
let requestBody = req.body
// Now before going to return next(), you can call service and give above parameters to store in to Database or log in console.
return next()
}
})(),
}}
这个中间件将按照它在 order 数组中的放置顺序被调用。
【讨论】:
你会想要使用中间位置来表达。
检查 config/http.js (sails 10.5),他们有一个注释掉的例子。
如果由于某种原因您的sails 版本没有该示例,这里是一个pastebin http://pastebin.com/xhUdFY2Z
否则这些也应该有帮助。
Node.js : How to do something on all HTTP requests in Express? https://github.com/expressjs/morgan
【讨论】: