Module: QueryTrace
- Defined in:
- lib/query_trace.rb
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.append_features(klass) ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
# File 'lib/query_trace.rb', line 7 def self.append_features(klass) super klass.class_eval do unless method_defined?(:log_info_without_trace) alias_method :log_info_without_trace, :log_info alias_method :log_info, :log_info_with_trace end end klass.class_eval %( def row_even @@row_even end ) end |
.enable! ⇒ Object
3 4 5 |
# File 'lib/query_trace.rb', line 3 def self.enable! ::ActiveRecord::ConnectionAdapters::AbstractAdapter.send(:include, QueryTrace) end |
Instance Method Details
#format_trace(trace) ⇒ Object
31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/query_trace.rb', line 31 def format_trace(trace) if ActiveRecord::Base.colorize_logging if row_even = "35;2" else = "36;2" end trace.collect{|t| " \e[#{message_color}m#{t}\e[0m"}.join("\n") else trace.join("\n ") end end |
#log_info_with_trace(sql, name, runtime) ⇒ Object
22 23 24 25 26 27 28 29 |
# File 'lib/query_trace.rb', line 22 def log_info_with_trace(sql, name, runtime) log_info_without_trace(sql, name, runtime) return unless @logger and @logger.debug? return if / Columns$/ =~ name @logger.debug(format_trace(Rails.backtrace_cleaner.clean(caller))) end |