class Sunspot::Rails::LogSubscriber
Public Class Methods
logger()
click to toggle source
# File lib/sunspot/rails/log_subscriber.rb, line 21 def self.logger @logger if defined?(@logger) end
logger=(logger)
click to toggle source
# File lib/sunspot/rails/log_subscriber.rb, line 17 def self.logger=(logger) @logger = logger end
reset_runtime()
click to toggle source
# File lib/sunspot/rails/log_subscriber.rb, line 12 def self.reset_runtime rt, self.runtime = runtime, 0 rt end
runtime()
click to toggle source
# File lib/sunspot/rails/log_subscriber.rb, line 8 def self.runtime Thread.current["sorl_runtime"] ||= 0 end
runtime=(value)
click to toggle source
# File lib/sunspot/rails/log_subscriber.rb, line 4 def self.runtime=(value) Thread.current["sorl_runtime"] = value end
Public Instance Methods
logger()
click to toggle source
# File lib/sunspot/rails/log_subscriber.rb, line 25 def logger self.class.logger || ::Rails.logger end
request(event)
click to toggle source
# File lib/sunspot/rails/log_subscriber.rb, line 29 def request(event) self.class.runtime += event.duration return unless logger.debug? name = '%s (%.1fms)' % ["SOLR Request", event.duration] # produces: path=select parameters={fq: ["type:Tag"], q: "rossi", fl: "* score", qf: "tag_name_text", defType: "edismax", start: 0, rows: 20} path = color(event.payload[:path], BOLD, true) parameters = event.payload[:parameters].map { |k, v| v = "\"#{v}\"" if v.is_a? String v = v.to_s.gsub(/\\/,'') # unescape "#{k}: #{color(v, BOLD, true)}" }.join(', ') request = "path=#{path} parameters={#{parameters}}" debug " #{color(name, GREEN, true)} [ #{request} ]" end