Module: Sunspot::Rails::SolrLogging
- Defined in:
- sunspot_rails/lib/sunspot/rails/solr_logging.rb
Constant Summary
- COMMIT =
%r{<commit/>}
Class Method Summary (collapse)
Instance Method Summary (collapse)
Class Method Details
+ (Object) included(base)
6 7 8 |
# File 'sunspot_rails/lib/sunspot/rails/solr_logging.rb', line 6 def included(base) base.alias_method_chain :execute, :rails_logging end |
Instance Method Details
- (Object) execute_with_rails_logging(client, request_context)
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'sunspot_rails/lib/sunspot/rails/solr_logging.rb', line 13 def execute_with_rails_logging(client, request_context) body = (request_context[:data]||"").dup action = request_context[:path].capitalize if body =~ COMMIT action = "Commit" body = "" end body = body[0, 800] + '...' if body.length > 800 # Make request and log. response = nil begin ms = Benchmark.ms do response = execute_without_rails_logging(client, request_context) end log_name = 'Solr %s (%.1fms)' % [action, ms] ::Rails.logger.debug(format_log_entry(log_name, body)) rescue Exception => e log_name = 'Solr %s (Error)' % [action] ::Rails.logger.error(format_log_entry(log_name, body)) raise e end response end |