class Motion::HTTP::Logger

Attributes

enabled[R]

Public Class Methods

new(enabled = true) click to toggle source
# File lib/common/http/logger.rb, line 6
def initialize(enabled = true)
  # TODO: add ability to configure amount of logging (i.e. request URL only, no body, etc)
  @enabled = enabled
end

Public Instance Methods

_logger() click to toggle source
# File lib/common/http/logger.rb, line 19
def _logger
  @_logger ||= Motion::Lager.new
end
debug(message, color = :gray) click to toggle source
# File lib/common/http/logger.rb, line 23
def debug(message, color = :gray)
  _logger.debug(message, color) if enabled
end
disable!() click to toggle source
# File lib/common/http/logger.rb, line 15
def disable!
  @enabled = false
end
enable!() click to toggle source
# File lib/common/http/logger.rb, line 11
def enable!
  @enabled = true
end
error(message, color = :red) click to toggle source
# File lib/common/http/logger.rb, line 31
def error(message, color = :red)
  _logger.error(message, color) # always log even if logging is disabled
end
log(message, color = :white) click to toggle source
# File lib/common/http/logger.rb, line 27
def log(message, color = :white)
  _logger.log(message, color) if enabled
end
log_request(request) click to toggle source
# File lib/common/http/logger.rb, line 35
def log_request(request)
  debug "\nRequest:\n#{request.http_method.to_s.upcase} #{request.url}"
  request.headers.each do |k,v|
    debug "#{k}: #{v}"
  end
  debug(request.body) if request.body
end
log_response(response) click to toggle source
# File lib/common/http/logger.rb, line 43
def log_response(response)
  debug "\nResponse:"
  if response.original_request
    debug "URL: #{response.original_request.url}"
  end
  debug "Status: #{response.status_code}"
  response.headers.each do |k,v|
    debug "#{k}: #{v}"
  end
  debug("\n#{response.body}")
end