我想在我的应用程序的ruby层中实现访问日志。我想为每个请求记录这样的内容。
192.168.2.20 - - [28/Jul/2006:10:27:10 -0300] "GET /cgi-bin/try/ HTTP/1.0" 200 3395
127.0.0.1 - - [28/Jul/2006:10:22:04 -0300] "GET / HTTP/1.0" 200 2216
我想为访问日志创建一个不同的文件,就像apache访问日志一样。我们可以在rails logger中记录请求,这很容易实现,但我们如何才能为访问日志创建单独的日志文件。我正在使用特立尼达。
答案 0 :(得分:0)
您需要的所有内容都可以在响应标题和正文中找到。使用before_
或around_
操作向您的ApplicationController添加全局操作,例如:
/application_controller.rb
around_filter :logging_traffic
def logging_traffic
logger.info "USERAGENT: #{request.headers['HTTP_USER_AGENT']}"
begin
yield
ensure
logger.info "response_status: #{response.status}"
end
end