module HTTPX::Loggable

  1. lib/httpx/loggable.rb

Methods

Public Instance

  1. log
  2. log_exception

Constants

COLORS = { black: 30, red: 31, green: 32, yellow: 33, blue: 34, magenta: 35, cyan: 36, white: 37, }.freeze  
USE_DEBUG_LOG = ENV.key?("HTTPX_DEBUG")  

Public Instance methods

log(level: @options.debug_level, color: nil, &msg)
[show source]
   # File lib/httpx/loggable.rb
18 def log(level: @options.debug_level, color: nil, &msg)
19   return unless @options.debug_level >= level
20 
21   debug_stream = @options.debug || ($stderr if USE_DEBUG_LOG)
22 
23   return unless debug_stream
24 
25   message = (+"" << msg.call << "\n")
26   message = "\e[#{COLORS[color]}m#{message}\e[0m" if color && debug_stream.respond_to?(:isatty) && debug_stream.isatty
27   debug_stream << message
28 end
log_exception(ex, level: @options.debug_level, color: nil)
[show source]
   # File lib/httpx/loggable.rb
30 def log_exception(ex, level: @options.debug_level, color: nil)
31   log(level: level, color: color) { ex.full_message }
32 end