2015-02-10 66 views
0

我正在Sinatra編寫一個API,我想將進入我的服務的請求記錄到數據庫中的表中。我想包括以下信息:將Ruby API請求信息記錄到數據庫

  • 日期/時間
  • 端點
  • 的User-Agent
  • IP地址
  • 有效載荷

什麼是這裏最好的方法呢?我怎樣才能挖掘這些並將它們保存下來?也許有一個我不知道的寶石。

回答

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對象中獲得。