Как реализовать лог доступа в рельсах?

Я хочу реализовать журнал доступа на уровне 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. Мы можем зарегистрировать запрос в логере рельсов, что легко достижимо, но как мы можем создать отдельный файл журнала только для журнала доступа. Я использую Тринидад.

1 ответ

Все, что вам нужно, можно найти в заголовке и теле сообщения. Добавьте глобальное действие к вашему ApplicationController с помощью before_ или же 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 
Другие вопросы по тегам