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, debug_level: @options.debug_level, debug: @options.debug, &msg)
[show source]
# File lib/httpx/loggable.rb 18 def log(level: @options.debug_level, color: nil, debug_level: @options.debug_level, debug: @options.debug, &msg) 19 return unless debug_level >= level 20 21 debug_stream = debug || ($stderr if USE_DEBUG_LOG) 22 23 return unless debug_stream 24 25 klass = self.class 26 27 until (class_name = klass.name) 28 klass = klass.superclass 29 end 30 31 message = +"(pid:#{Process.pid} tid:#{Thread.current.object_id}, self:#{class_name}##{object_id}) " 32 message << msg.call << "\n" 33 message = "\e[#{COLORS[color]}m#{message}\e[0m" if color && debug_stream.respond_to?(:isatty) && debug_stream.isatty 34 debug_stream << message 35 end
log_exception(ex, level: @options.debug_level, color: nil, debug_level: @options.debug_level, debug: @options.debug)
[show source]
# File lib/httpx/loggable.rb 37 def log_exception(ex, level: @options.debug_level, color: nil, debug_level: @options.debug_level, debug: @options.debug) 38 log(level: level, color: color, debug_level: debug_level, debug: debug) { ex.full_message } 39 end