Class: ActiveRecord::SqlAnalyzer::RedactedLogger

Inherits:
CompactLogger show all
Defined in:
lib/active_record/sql_analyzer/redacted_logger.rb

Instance Attribute Summary

Attributes inherited from CompactLogger

#definition_log_file, #logged_shas

Attributes inherited from Logger

#config, #log_file, #log_prefix, #log_root

Instance Method Summary collapse

Methods inherited from CompactLogger

#close, #initialize, #log

Methods inherited from Logger

#close, #initialize, #log

Constructor Details

This class inherits a constructor from ActiveRecord::SqlAnalyzer::CompactLogger

Instance Method Details

#filter_event(event) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/active_record/sql_analyzer/redacted_logger.rb', line 4

def filter_event(event)
  # Determine if we're doing extended tracing or only the first
  if config[:ambiguous_tracers].any? { |regex| event[:caller].first =~ regex }
    event[:caller] = event[:caller][0, config[:ambiguous_backtrace_lines]].join(", ")
  else
    event[:caller] = event[:caller].first
  end

  config[:backtrace_redactors].each do |redactor|
    event[:caller].gsub!(redactor.search, redactor.replace) if event[:caller]
  end

  config[:sql_redactors].each do |redactor|
    event[:sql].gsub!(redactor.search, redactor.replace) if event[:sql]
  end
end