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