require 'net/http' require 'logger' require 'benchmark' require 'active_support/core_ext/object/blank' require 'active_support/core_ext/module/aliasing' require 'active_support/core_ext/module/delegation' require 'active_support/core_ext/string/inflections' require_relative 'http_event_logger/configuration' require_relative 'http_event_logger/event/connection' require_relative 'http_event_logger/event/headers' require_relative 'http_event_logger/event/request' require_relative 'http_event_logger/event/response' require_relative 'http_event_logger/logger' require_relative 'http_event_logger/event/observer' require_relative 'http_event_logger/adapter/net_http' require_relative 'http_event_logger/adapter/httpclient' require_relative 'http_event_logger/adapter/excon' require_relative 'http_event_logger/adapter/ethon' require_relative 'http_event_logger/adapter/patron' module HttpEventLogger class << self attr_reader :configuration def configure(&block) @configuration = HttpEventLogger::Configuration.new block.call @configuration end def logger @configuration.logger end end end # Establish default configuration HttpEventLogger.configure { |config| config.logger = HttpEventLogger::Logger.new }