我有一个应用程序需要进行许多API调用(XML和JSON),我们希望记录所有请求的响应(我们将过滤HTML响应)。
一般情况下,我们使用REST接收调用并返回JSON或XML。 我们今天使用应用程序控制器中的around_filter记录这些内容,以便让我:
class ApplicationController < ActionController::Base
around_filter :global_request_logging
def global_request_logging
# log request
begin
yield
ensure
#log response
end
end
rescue_from Exception do |exception|
respond_to do |format|
format.xml {head 400}
# etc for JSON and HTML
end
end
end
我遇到的问题是,当我记录响应时,我们还没有进入 rescue_from 块,所以我们记录了返回 200 的信息。
这让我相信,在 Rails 中有更好的方式/位置来记录请求/响应。理想情况下,我正在寻找一种记录线路的方法 - 尽可能原始地记录来自客户端的输入和输出。