diff --git a/.env.example b/.env.example index 0aff3e65d..05c4a7232 100644 --- a/.env.example +++ b/.env.example @@ -25,3 +25,4 @@ GOOGLE_CLOUD_LOCATION=global # CODECOV_TOKEN=$(op read "op://RubyLLM/Codecov/credential") RUBYLLM_DEBUG=true RUBYLLM_STREAM_DEBUG=true +RUBYLLM_LOG_REQUEST_BODIES=true diff --git a/docs/_getting_started/configuration.md b/docs/_getting_started/configuration.md index ba605bd13..bea18a3da 100644 --- a/docs/_getting_started/configuration.md +++ b/docs/_getting_started/configuration.md @@ -262,6 +262,7 @@ RubyLLM.configure do |config| # Show detailed streaming chunks config.log_stream_debug = true # Or set RUBYLLM_STREAM_DEBUG=true + config.log_request_bodies = true # Or set RUBYLLM_LOG_REQUEST_BODIES=true end ``` @@ -432,6 +433,7 @@ RubyLLM.configure do |config| config.log_file = String config.log_level = Symbol config.log_stream_debug = Boolean + config.log_request_bodies = Boolean # Rails integration config.use_new_acts_as = Boolean diff --git a/lib/ruby_llm/configuration.rb b/lib/ruby_llm/configuration.rb index c1f93ed1b..7359fc956 100644 --- a/lib/ruby_llm/configuration.rb +++ b/lib/ruby_llm/configuration.rb @@ -47,7 +47,8 @@ class Configuration :logger, :log_file, :log_level, - :log_stream_debug + :log_stream_debug, + :log_request_bodies def initialize @request_timeout = 300 @@ -70,6 +71,7 @@ def initialize @log_file = $stdout @log_level = ENV['RUBYLLM_DEBUG'] ? Logger::DEBUG : Logger::INFO @log_stream_debug = ENV['RUBYLLM_STREAM_DEBUG'] == 'true' + @log_request_bodies = ENV['RUBYLLM_LOG_REQUEST_BODIES'] == 'true' end def instance_variables diff --git a/lib/ruby_llm/connection.rb b/lib/ruby_llm/connection.rb index 5c9245988..6f8f90c98 100644 --- a/lib/ruby_llm/connection.rb +++ b/lib/ruby_llm/connection.rb @@ -60,7 +60,7 @@ def setup_timeout(faraday) def setup_logging(faraday) faraday.response :logger, RubyLLM.logger, - bodies: true, + bodies: @config.log_request_bodies, response: true, errors: true, headers: false,