diff --git a/lib/qdrant/client.rb b/lib/qdrant/client.rb index fac7fe2..a744384 100644 --- a/lib/qdrant/client.rb +++ b/lib/qdrant/client.rb @@ -7,7 +7,7 @@ module Qdrant class Client extend Forwardable - attr_reader :url, :api_key, :adapter, :raise_error + attr_reader :url, :api_key, :adapter, :raise_error, :logger def_delegators :service, :telemetry, :metrics, :locks, :set_lock @@ -15,12 +15,14 @@ def initialize( url:, api_key: nil, adapter: Faraday.default_adapter, - raise_error: false + raise_error: false, + logger: nil ) @url = url @api_key = api_key @adapter = adapter @raise_error = raise_error + @logger = logger || Logger.new($stdout) end def connection @@ -29,6 +31,7 @@ def connection faraday.headers["api-key"] = api_key end faraday.request :json + faraday.response :logger, @logger, {headers: true, bodies: true, errors: true} faraday.response :raise_error if raise_error faraday.response :json, content_type: /\bjson$/ faraday.adapter adapter diff --git a/spec/qdrant/client_spec.rb b/spec/qdrant/client_spec.rb index b964355..0e27bba 100644 --- a/spec/qdrant/client_spec.rb +++ b/spec/qdrant/client_spec.rb @@ -14,6 +14,16 @@ it "creates a client" do expect(client).to be_a(Qdrant::Client) end + + it "accepts a custom logger" do + logger = Logger.new($stdout) + client = Qdrant::Client.new( + url: "localhost:8080", + api_key: "123", + logger: logger + ) + expect(client.logger).to eq(logger) + end end describe "#points" do