【问题标题】:How to implement access log in rails?如何在rails中实现访问日志?
【发布时间】:2017-12-17 04:33:59
【问题描述】:

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

【问题讨论】:

标签: ruby-on-rails ruby logging access-log trinidad-gem


【解决方案1】:

您需要的一切都可以在响应标头和正文中找到。使用 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 

【讨论】:

  • 我已经编辑了这个问题。你能看看这个吗?
猜你喜欢
  • 1970-01-01
  • 2012-03-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-17
  • 2012-06-15
相关资源
最近更新 更多