Class: Faraday::LogSubscriber
- Inherits:
-
ActiveSupport::LogSubscriber
- Object
- ActiveSupport::LogSubscriber
- Faraday::LogSubscriber
- Defined in:
- lib/faraday/log_subscriber.rb
Constant Summary collapse
- HTTP_METHOD_COLORS =
Hash.new(MAGENTA)
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.reset_runtime ⇒ Object
18 19 20 21 |
# File 'lib/faraday/log_subscriber.rb', line 18 def self.reset_runtime rt, self.runtime = runtime, 0 rt end |
.runtime ⇒ Object
14 15 16 |
# File 'lib/faraday/log_subscriber.rb', line 14 def self.runtime Thread.current['faraday_runtime'] ||= 0 end |
.runtime=(value) ⇒ Object
10 11 12 |
# File 'lib/faraday/log_subscriber.rb', line 10 def self.runtime=(value) Thread.current['faraday_runtime'] = value end |
Instance Method Details
#http_cache(event) ⇒ Object
23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/faraday/log_subscriber.rb', line 23 def http_cache(event) payload = event.payload status = payload[:cache_status] name = "Faraday HTTP Cache [#{status}]" request = payload[:env][:url] name = color(name, MAGENTA, true) request = color(request, nil, false) info " #{name} #{request}" end |
#request(event) ⇒ Object
36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
# File 'lib/faraday/log_subscriber.rb', line 36 def request(event) self.class.runtime += event.duration env = event.payload method = env[:method].to_s.upcase status = env[:status] name = format('%s %s [%s] (%.1fms)', 'Faraday', method, status, event.duration) body = env.body request = env[:url] name = color(name, nil, true) request = color(request, HTTP_METHOD_COLORS[method], true) info " #{name} #{request}" if !env.success? && body.present? info " #{name} #{body}" end end |