From 9c9443812f1274667cea14edd387c6124205ac1c Mon Sep 17 00:00:00 2001 From: Jamis Buck Date: Mon, 23 Oct 2006 22:21:09 +0000 Subject: Add basic logging support for logging outgoing requests. git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5343 5ecf4fe2-1ee6-0310-87b1-e25e094e27de --- activeresource/lib/active_resource/connection.rb | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'activeresource/lib/active_resource/connection.rb') diff --git a/activeresource/lib/active_resource/connection.rb b/activeresource/lib/active_resource/connection.rb index 57471957e2..1a1b376d3a 100644 --- a/activeresource/lib/active_resource/connection.rb +++ b/activeresource/lib/active_resource/connection.rb @@ -2,6 +2,7 @@ require 'net/https' require 'date' require 'time' require 'uri' +require 'benchmark' module ActiveResource class ConnectionError < StandardError @@ -63,8 +64,12 @@ module ActiveResource end private - def request(method, *arguments) - handle_response(http.send(method, *arguments)) + def request(method, path, *arguments) + logger.info "requesting #{method.to_s.upcase} #{site.scheme}://#{site.host}:#{site.port}#{path}" if logger + result = nil + time = Benchmark.realtime { result = http.send(method, path, *arguments) } + logger.info "--> #{result.code} #{result.message} (#{result.body.length}b %.2fs)" % time if logger + handle_response(result) end def handle_response(response) @@ -103,5 +108,9 @@ module ActiveResource def authorization_header (@site.user || @site.password ? { 'Authorization' => 'Basic ' + ["#{@site.user}:#{ @site.password}"].pack('m').delete("\r\n") } : {}) end + + def logger + ActiveResource::Base.logger + end end end -- cgit v1.2.3