From 16197a45542724ba87a40104043df991f199bbdc Mon Sep 17 00:00:00 2001 From: Fanis Tharropoulos Date: Wed, 24 Sep 2025 10:24:56 +0300 Subject: [PATCH 1/4] fix(logger): change logger outputs from `info` to `debug` --- lib/typesense-rails.rb | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/typesense-rails.rb b/lib/typesense-rails.rb index bcba9fa..cb45e28 100644 --- a/lib/typesense-rails.rb +++ b/lib/typesense-rails.rb @@ -269,7 +269,7 @@ def typesense_create_collection(collection_name, settings = nil) metadata ? { "metadata" => metadata } : {} ) ) - Rails.logger.info "Collection '#{collection_name}' created!" + Rails.logger.debug "Collection '#{collection_name}' created!" typesense_multi_way_synonyms(collection_name, multi_way_synonyms) if multi_way_synonyms @@ -542,7 +542,7 @@ def typesense_index_objects_async(objects, batch_size = Typesense::IndexSettings end jsonl_object = documents.join("\n") ImportJob.perform(jsonl_object, collection_obj[:alias_name], batch_size) - Rails.logger.info "#{objects.length} objects enqueued for import into #{collection_obj[:collection_name]}" + Rails.logger.debug "#{objects.length} objects enqueued for import into #{collection_obj[:collection_name]}" end nil end @@ -557,7 +557,7 @@ def typesense_index_objects(objects, batch_size = Typesense::IndexSettings::DEFA end jsonl_object = documents.join("\n") import_documents(jsonl_object, "upsert", collection_obj[:alias_name], batch_size: batch_size) - Rails.logger.info "#{objects.length} objects upserted into #{collection_obj[:collection_name]}!" + Rails.logger.debug "#{objects.length} objects upserted into #{collection_obj[:collection_name]}!" end nil end @@ -613,7 +613,7 @@ def typesense_remove_from_index!(object) rescue Typesense::Error::ObjectNotFound => e Rails.logger.error "Object #{object_id} could not be removed from #{collection_obj[:collection_name]} collection! Use reindex to update the collection." end - Rails.logger.info "Removed document with object id '#{object_id}' from #{collection_obj[:collection_name]}" + Rails.logger.debug "Removed document with object id '#{object_id}' from #{collection_obj[:collection_name]}" end nil end @@ -626,7 +626,7 @@ def typesense_clear_index! collection_obj = typesense_ensure_init(options, settings, false) delete_collection(collection_obj[:alias_name]) - Rails.logger.info "Deleted #{collection_obj[:alias_name]} collection!" + Rails.logger.debug "Deleted #{collection_obj[:alias_name]} collection!" @typesense_indexes[settings] = nil end nil From 04f3f6b6e53926b639ebd8801b10591b2f3e256f Mon Sep 17 00:00:00 2001 From: Fanis Tharropoulos Date: Wed, 24 Sep 2025 10:25:05 +0300 Subject: [PATCH 2/4] fix(logger): change default log level to warn --- lib/typesense-rails.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/typesense-rails.rb b/lib/typesense-rails.rb index cb45e28..9079485 100644 --- a/lib/typesense-rails.rb +++ b/lib/typesense-rails.rb @@ -18,7 +18,7 @@ require "logger" Rails.logger = ActiveSupport::TaggedLogging.new(ActiveSupport::Logger.new(STDOUT)) -Rails.logger.level = Logger::INFO +Rails.logger.level = Logger::WARN module Typesense class NotConfigured < StandardError; end From 9db3c0afb201e00b0dfebe65a1fe0d832dc8b6c0 Mon Sep 17 00:00:00 2001 From: Fanis Tharropoulos Date: Wed, 24 Sep 2025 10:27:17 +0300 Subject: [PATCH 3/4] feat(logger): add configurable log levels and default to warn --- lib/typesense/config.rb | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/lib/typesense/config.rb b/lib/typesense/config.rb index 0e7af86..4d6698a 100644 --- a/lib/typesense/config.rb +++ b/lib/typesense/config.rb @@ -11,13 +11,39 @@ def configuration def configuration=(configuration) @@pagination_backend = configuration[:pagination_backend] if configuration.key?(:pagination_backend) + @@log_level = configuration[:log_level] if configuration.key?(:log_level) @@configuration = configuration + + Rails.logger.level = log_level_to_const(configuration[:log_level]) end def pagination_backend @@pagination_backend end + def log_level + @@log_level + end + + def log_level_to_const(level) + case level + when :debug + Logger::DEBUG + when :info + Logger::INFO + when :warn + Logger::WARN + when :error + Logger::ERROR + when :fatal + Logger::FATAL + when :unknown + Logger::UNKNOWN + else + Logger::WARN # default fallback + end + end + def client setup_client if @client.nil? @client From 1bc6b8d4bfcf4380f38ea93a38b5e1e0d44f67ce Mon Sep 17 00:00:00 2001 From: Fanis Tharropoulos Date: Wed, 24 Sep 2025 10:27:50 +0300 Subject: [PATCH 4/4] docs: add log level mention in readme --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 4caf3f0..44b87d1 100644 --- a/README.md +++ b/README.md @@ -47,7 +47,8 @@ Typesense.configuration = { protocol: 'http' # For Typesense Cloud use https }], api_key: 'your-api-key', - connection_timeout_seconds: 2 + connection_timeout_seconds: 2, + log_level: :info # Optional: Set logging level (:debug, :info, :warn, :error, :fatal, :unknown) } ```