Compare commits

...

2 Commits

Author SHA1 Message Date
Matt
1518a984c0
Version bump to 2.7.10 2023-07-06 09:47:20 +01:00
Simon Perepelitsa
d1743e6476
Fix some logging inefficiencies (#1515) 2023-07-06 09:45:36 +01:00
2 changed files with 10 additions and 16 deletions

View File

@ -13,25 +13,26 @@ module Faraday
def initialize(logger:, options:)
@logger = logger
@filter = []
@options = DEFAULT_OPTIONS.merge(options)
unless %i[debug info warn error fatal].include?(@options[:log_level])
@options[:log_level] = :info
end
@filter = []
end
def_delegators :@logger, :debug, :info, :warn, :error, :fatal
def request(env)
request_log = proc do
public_send(log_level, 'request') do
"#{env.method.upcase} #{apply_filters(env.url.to_s)}"
end
public_send(log_level, 'request', &request_log)
log_headers('request', env.request_headers) if log_headers?(:request)
log_body('request', env[:body]) if env[:body] && log_body?(:request)
end
def response(env)
status = proc { "Status #{env.status}" }
public_send(log_level, 'response', &status)
public_send(log_level, 'response') { "Status #{env.status}" }
log_headers('response', env.response_headers) if log_headers?(:response)
log_body('response', env[:body]) if env[:body] && log_body?(:response)
@ -40,8 +41,7 @@ module Faraday
def exception(exc)
return unless log_errors?
error_log = proc { exc.full_message }
public_send(log_level, 'error', &error_log)
public_send(log_level, 'error') { exc.full_message }
log_headers('error', exc.response_headers) if exc.respond_to?(:response_headers) && log_headers?(:error)
return unless exc.respond_to?(:response_body) && exc.response_body && log_body?(:error)
@ -103,21 +103,15 @@ module Faraday
end
def log_level
unless %i[debug info warn error fatal].include?(@options[:log_level])
return :info
end
@options[:log_level]
end
def log_headers(type, headers)
headers_log = proc { apply_filters(dump_headers(headers)) }
public_send(log_level, type, &headers_log)
public_send(log_level, type) { apply_filters(dump_headers(headers)) }
end
def log_body(type, body)
body_log = proc { apply_filters(dump_body(body)) }
public_send(log_level, type, &body_log)
public_send(log_level, type) { apply_filters(dump_body(body)) }
end
end
end

View File

@ -1,5 +1,5 @@
# frozen_string_literal: true
module Faraday
VERSION = '2.7.9'
VERSION = '2.7.10'
end