Как реализовать лог доступа в рельсах?
Я хочу реализовать журнал доступа на уровне 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