```ruby
require_relative 'judopay/version'
require_relative 'judopay/api'
require_relative 'judopay/response'
require_relative 'judopay/serializer'
require_relative 'judopay/error'

module Judopay
  class << self
    attr_accessor :configuration
  end

  def self.configure
    self.configuration ||= Configuration.new
    yield(configuration) if block_given?
  end

  class Configuration
    attr_accessor :api_version, 
                  :api_token,
                  :api_secret,
                  :format, 
                  :endpoint_url,
                  :user_agent,
                  :judo_id

    def initialize
      # Set defaults
      @api_version = '4.0.0'
      @format = 'json'
      @endpoint_url = 'https://partnerapi.judopay-sandbox.com'
      @user_agent = 'Judopay Ruby SDK gem v' + Judopay::VERSION
    end
  end
end
```

Allow Judopay.logger to be set
user
```ruby
require_relative 'judopay/version'
require_relative 'judopay/api'
require_relative 'judopay/response'
require_relative 'judopay/serializer'
require_relative 'judopay/error'

module Judopay
  class << self
    attr_accessor :configuration, :logger
  end

  def self.configure
    self.configuration ||= Configuration.new
    yield(configuration) if block_given?
  end

  class Configuration
    attr_accessor :api_version, 
                  :api_token,
                  :api_secret,
                  :format, 
                  :endpoint_url,
                  :user_agent,
                  :judo_id

    def initialize
      # Set defaults
      @api_version = '4.0.0'
      @format = 'json'
      @endpoint_url = 'https://partnerapi.judopay-sandbox.com'
      @user_agent = 'Judopay Ruby SDK gem v' + Judopay::VERSION
    end
  end
end
```
assistant