Class: Faraday::Logging::Formatter
- Inherits:
-
Object
- Object
- Faraday::Logging::Formatter
- Extended by:
- Forwardable
- Defined in:
- lib/faraday/logging/formatter.rb
Overview
Serves as an integration point to customize logging
Constant Summary collapse
- DEFAULT_OPTIONS =
{ headers: true, bodies: false }.freeze
Instance Method Summary collapse
- #filter(filter_word, filter_replacement) ⇒ Object
-
#initialize(logger:, options:) ⇒ Formatter
constructor
A new instance of Formatter.
- #request(env) ⇒ Object
- #response(env) ⇒ Object
Constructor Details
#initialize(logger:, options:) ⇒ Formatter
Returns a new instance of Formatter.
12 13 14 15 16 |
# File 'lib/faraday/logging/formatter.rb', line 12 def initialize(logger:, options:) @logger = logger @filter = [] @options = DEFAULT_OPTIONS.merge() end |
Instance Method Details
#filter(filter_word, filter_replacement) ⇒ Object
44 45 46 |
# File 'lib/faraday/logging/formatter.rb', line 44 def filter(filter_word, filter_replacement) @filter.push([filter_word, filter_replacement]) end |
#request(env) ⇒ Object
20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/faraday/logging/formatter.rb', line 20 def request(env) info('request') do "#{env.method.upcase} #{apply_filters(env.url.to_s)}" end if log_headers?(:request) debug('request') { apply_filters(dump_headers(env.request_headers)) } end return unless env[:body] && log_body?(:request) debug('request') { apply_filters(dump_body(env[:body])) } end |
#response(env) ⇒ Object
32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/faraday/logging/formatter.rb', line 32 def response(env) info('response') { "Status #{env.status}" } if log_headers?(:response) debug('response') do apply_filters(dump_headers(env.response_headers)) end end return unless env[:body] && log_body?(:response) debug('response') { apply_filters(dump_body(env[:body])) } end |