Class: Blouson::SensitiveTableQueryLogSilencer

Inherits:
Arproxy::Base
  • Object
show all
Defined in:
lib/blouson/sensitive_table_query_log_silencer.rb

Instance Method Summary collapse

Instance Method Details

#execute(sql, name = nil) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
14
15
# File 'lib/blouson/sensitive_table_query_log_silencer.rb', line 3

def execute(sql, name=nil)
  if Rails.logger.level != Logger::DEBUG || !(Blouson::SENSITIVE_TABLE_REGEXP === sql)
    return super(sql, name)
  end

  begin
    ActiveRecord::Base.logger.level = Logger::INFO
    Rails.logger.info "  [Blouson::SensitiveTableQueryLogSilencer] SQL Log is skipped for sensitive table"
    super(sql, name)
  ensure
    ActiveRecord::Base.logger.level = Logger::DEBUG
  end
end