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 Class methods
log_identifiers()
[show source]
# File lib/httpx/loggable.rb 20 def self.log_identifiers 21 "pid=#{Process.pid} " \ 22 "tid=#{Thread.current.object_id} " \ 23 "fid=#{Fiber.current.object_id}" 24 end
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 26 def log( 27 level: @options.debug_level, 28 color: nil, 29 debug_level: @options.debug_level, 30 debug: @options.debug, 31 &msg 32 ) 33 return unless debug_level >= level 34 35 debug_stream = debug || ($stderr if USE_DEBUG_LOG) 36 37 return unless debug_stream 38 39 klass = self.class 40 41 until (class_name = klass.name) 42 klass = klass.superclass 43 end 44 45 message = +"(time=#{Time.now.utc} " \ 46 "#{Loggable.log_identifiers} " \ 47 "self=#{class_name}##{object_id}) " 48 message << msg.call << "\n" 49 message = "\e[#{COLORS[color]}m#{message}\e[0m" if color && debug_stream.respond_to?(:isatty) && debug_stream.isatty 50 debug_stream << message 51 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 53 def log_exception(ex, level: @options.debug_level, color: nil, debug_level: @options.debug_level, debug: @options.debug) 54 log(level: level, color: color, debug_level: debug_level, debug: debug) { ex.full_message } 55 end