Module: HTTPX::Loggable
- Included in:
- Connection, Connection::HTTP1, Connection::HTTP2, ErrorResponse, Resolver::Resolver, Session, TCP, UDP
- Defined in:
- lib/httpx/loggable.rb
Constant Summary collapse
- 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")
Instance Method Summary collapse
- #log(level: @options.debug_level, color: nil, debug_level: @options.debug_level, debug: @options.debug, &msg) ⇒ Object
- #log_exception(ex, level: @options.debug_level, color: nil, debug_level: @options.debug_level, debug: @options.debug) ⇒ Object
- #log_redact(text, should_redact = @options.debug_redact) ⇒ Object
Instance Method Details
#log(level: @options.debug_level, color: nil, debug_level: @options.debug_level, debug: @options.debug, &msg) ⇒ Object
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
# File 'lib/httpx/loggable.rb', line 18 def log( level: @options.debug_level, color: nil, debug_level: @options.debug_level, debug: @options.debug, &msg ) return unless debug_level >= level debug_stream = debug || ($stderr if USE_DEBUG_LOG) return unless debug_stream klass = self.class until (class_name = klass.name) klass = klass.superclass end = +"(pid:#{Process.pid} tid:#{Thread.current.object_id}, self:#{class_name}##{object_id}) " << msg.call << "\n" = "\e[#{COLORS[color]}m#{}\e[0m" if color && debug_stream.respond_to?(:isatty) && debug_stream.isatty debug_stream << end |
#log_exception(ex, level: @options.debug_level, color: nil, debug_level: @options.debug_level, debug: @options.debug) ⇒ Object
43 44 45 |
# File 'lib/httpx/loggable.rb', line 43 def log_exception(ex, level: @options.debug_level, color: nil, debug_level: @options.debug_level, debug: @options.debug) log(level: level, color: color, debug_level: debug_level, debug: debug) { ex. } end |
#log_redact(text, should_redact = @options.debug_redact) ⇒ Object
47 48 49 50 51 |
# File 'lib/httpx/loggable.rb', line 47 def log_redact(text, should_redact = @options.debug_redact) return text.to_s unless should_redact "[REDACTED]" end |