lib/avatax/api.rb in avatax-22.10.0 vs lib/avatax/api.rb in avatax-22.11.0
- old
+ new
@@ -1,16 +1,30 @@
require File.expand_path('../connection', __FILE__)
require File.expand_path('../request', __FILE__)
+require 'active_support/notifications'
+require 'logger'
module AvaTax
class API
attr_accessor *Configuration::VALID_OPTIONS_KEYS
def initialize(options={})
options = AvaTax.options.merge(options)
+ # The default logger in Faraday is configured exactly the same as this one, but we cannot get a reference to it, so we will instantiate our own.
+ default_logger = Logger.new(STDOUT)
Configuration::VALID_OPTIONS_KEYS.each do |key|
send("#{key}=", options[key])
+ end
+ ActiveSupport::Notifications.subscribe("request.faraday") do |name, starts, ends, _, env|
+ url = env[:url]
+ duration = (ends - starts) * 1000
+
+ if custom_logger
+ custom_logger.info "The request to #{url} took #{duration} ms."
+ elsif logger
+ default_logger.info "The request to #{url} took #{duration} ms."
+ end
end
end
def config
conf = {}