Module: LogQuerySource

Defined in:
lib/log_query_source.rb

Class Attribute Summary collapse

Instance Method Summary collapse

Class Attribute Details

.levelObject

Returns the value of attribute level.



7
8
9
# File 'lib/log_query_source.rb', line 7

def level
  @level
end

.linesObject

Returns the value of attribute lines.



6
7
8
# File 'lib/log_query_source.rb', line 6

def lines
  @lines
end

Instance Method Details

#clean_trace(trace) ⇒ Object



16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/log_query_source.rb', line 16

def clean_trace trace
  backtrace = case LogQuerySource.level
  when :full
    trace
  when :rails
    Rails.respond_to?(:backtrace_cleaner) ? Rails.backtrace_cleaner.clean(trace) : trace
  when :app
    Rails.backtrace_cleaner.remove_silencers!
    Rails.backtrace_cleaner.add_silencer { |line| not line =~ /^(app|lib|engines)\// }
    Rails.backtrace_cleaner.clean(trace)
  else
    raise "Invalid ALogQuerySource.level value '#{LogQuerySource.level}' - should be :full, :rails, or :app"
  end
end

#debug(*args, &block) ⇒ Object



10
11
12
13
14
# File 'lib/log_query_source.rb', line 10

def debug(*args, &block)    
  return unless super
  backtrace = clean_trace(caller)[0..LogQuerySource.lines-1]
  logger.debug("  |\n  ↳ #{backtrace.join(" \n")} \n")  if backtrace  
end