Guest User

Untitled

a guest
Jul 23rd, 2018
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.23 KB | None | 0 0
  1. require "net/http"
  2.  
  3. class Net::HTTP
  4.  
  5. alias_method :request_without_log, :request
  6.  
  7. def request(request, body = nil, &block)
  8. time = Time.now
  9. response = request_without_log(request, body, &block)
  10. response
  11. ensure
  12. if self.started?
  13. url = "http#{"s" if self.use_ssl?}://#{self.address}:#{self.port}#{request.path}"
  14. ofset = Time.now - time
  15. rails_log("HTTP #{request.method} (%0.2fms)" % (ofset * 1000), url)
  16. rails_log("POST params", request.body) if request.is_a?(::Net::HTTP::Post)
  17. if defined?(response) && response
  18. rails_log("Response status", "#{response.class} (#{response.code})")
  19. body = response.body
  20. rails_log("Response body", body) unless body.is_a?(Net::ReadAdapter)
  21. end
  22. end
  23. end
  24.  
  25. def rails_log(message, dump)
  26. if defined?(Rails)
  27. Rails.logger.debug(format_log_entry(message, dump))
  28. end
  29. end
  30.  
  31. def format_log_entry(message, dump = nil)
  32. if ActiveRecord::Base.colorize_logging
  33. message_color, dump_color = "4;32;1", "0;1"
  34. log_entry = " \e[#{message_color}m#{message}\e[0m "
  35. log_entry << "\e[#{dump_color}m%#{String === dump ? 's' : 'p'}\e[0m" % dump if dump
  36. log_entry
  37. else
  38. "%s %s" % [message, dump]
  39. end
  40. end
  41.  
  42. end
Add Comment
Please, Sign In to add comment