【问题标题】:How to log all HTTP requests to my Sails.js server?如何将所有 HTTP 请求记录到我的 Sails.js 服务器?
【发布时间】:2015-01-31 02:06:02
【问题描述】:

正如标题所述,如何将所有请求记录到 Sails.js 服务器?我的日志配置有什么需要更改的吗?我只想查看发送到我的服务器的每个 GET、POST 等的列表。

【问题讨论】:

    标签: javascript node.js sails.js


    【解决方案1】:

    对于 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 数组中的放置顺序被调用。

    【讨论】:

      【解决方案2】:

      你会想要使用中间位置来表达。

      检查 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

      【讨论】:

      • 如果 alonf 有请求我想记录所有响应怎么办,我在“路由器”之后的 http.js 文件中添加了一个响应控制台记录器功能,它似乎工作但对于 404,我的功能仍然记录 200 ok: (
      猜你喜欢
      • 2016-03-09
      • 2019-11-05
      • 1970-01-01
      • 1970-01-01
      • 2014-03-09
      • 1970-01-01
      • 2019-03-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多