-3

我想在我的应用程序的 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 记录器中记录请求,这很容易实现,但是我们如何仅为访问日志创建单独的日志文件。我正在使用特立尼达。

4

1 回答 1

0

您需要的一切都可以在响应标头和正文中找到。before_使用或操作向您的 ApplicationController 添加全局操作,around_例如:

/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 
于 2017-07-12T16:26:38.627 回答