Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何在rails中实现访问日志?_Ruby On Rails_Ruby_Logging_Access Log_Trinidad Gem - Fatal编程技术网

Ruby on rails 如何在rails中实现访问日志?

Ruby on rails 如何在rails中实现访问日志?,ruby-on-rails,ruby,logging,access-log,trinidad-gem,Ruby On Rails,Ruby,Logging,Access Log,Trinidad Gem,我想在我的应用程序的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中记录请求,这是很容易实

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

您需要的一切都可以在响应标题和正文中找到。在应用程序控制器中添加一个全局操作,使用
之前或
周围的操作,如:

/应用程序\u 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 

你尝试了什么?我的问题可能重复的地方是不同的。我已经解释得更多了。如果你想更清楚,请告诉我。我已经编辑了这个问题。你能看看这个吗?