将Ruby API请求信息记录到数据库

时间:2015-02-10 20:45:06

标签: mysql ruby api logging sinatra

我正在Sinatra中编写API,我想将进入我服务的请求记录到数据库中的表中。我想包括以下信息:

  • 日期/时间
  • 端点
  • 的User-Agent
  • IP地址
  • 有效载荷

这里最好的方法是什么?如何点击这些并将其保存下来?也许有一块我不知道的宝石。

1 个答案:

答案 0 :(得分:0)

我确信有一种方法可以将其与Logger联系起来,但最简单的方法可能是after block,例如:

after do
  # assuming you're using something like AR
  LogObject.create({
    time: Time.now,
    req_path: request.path_info
    # ...
  })
end

请参阅How to dump an HTTP request from within Sinatra?,了解可从request对象获取的大量信息。