Commit de33b23adb92090df60cfa5e421900a2f04c20b7
1 parent
b68ea4aa
Exists in
master
and in
21 other branches
Added logger for Rails
Showing
3 changed files
with
21 additions
and
0 deletions
Show diff stats
lib/searchkick.rb
... | ... | @@ -5,6 +5,7 @@ require "searchkick/results" |
5 | 5 | require "searchkick/search" |
6 | 6 | require "searchkick/model" |
7 | 7 | require "searchkick/tasks" |
8 | +require "searchkick/logger" if defined?(Rails) | |
8 | 9 | |
9 | 10 | # TODO find better ActiveModel hook |
10 | 11 | ActiveModel::AttributeMethods::ClassMethods.send(:include, Searchkick::Model) | ... | ... |
... | ... | @@ -0,0 +1,19 @@ |
1 | +require "tire/rails/logger" | |
2 | +require "tire/rails/logger/log_subscriber" | |
3 | + | |
4 | +class Tire::Rails::LogSubscriber | |
5 | + | |
6 | + # better output format | |
7 | + def search(event) | |
8 | + self.class.runtime += event.duration | |
9 | + return unless logger.debug? | |
10 | + | |
11 | + payload = event.payload | |
12 | + | |
13 | + name = "%s (%.1fms)" % [payload[:name], event.duration] | |
14 | + query = payload[:search].to_s | |
15 | + | |
16 | + debug " #{color(name, YELLOW, true)} #{query}" | |
17 | + end | |
18 | + | |
19 | +end | ... | ... |
searchkick.gemspec