Simple gem that logs your HTTP api requests just like database queries
gem install http_logger
require 'http_logger'
HttpLogger.logger = Logger.new(...) # defaults to Rails.logger if Rails is defined
HttpLogger.colorize = true # Default: true
HttpLogger.ignore = [/newrelic\.com/]
HttpLogger.log_headers = false # Default: false
HttpLogger.log_request_body = false # Default: true
HttpLogger.log_response_body = false # Default: true
HttpLogger.level = :info # Desired log level as a symbol. Default: :debug
HttpLogger.collapse_body_limit # Change default truncate limit. Default: 5000
Net::HTTP has a builtin logger that can be set via #set_debug_output. This method is only available at the instance level and it is not always accessible if used inside of a library. Also output of builtin debugger is not formed well for API debug purposes.
If you are using Net::HTTP#request hackers like FakeWeb make sure you require http_logger after all others because http_logger always calls "super", rather than others.