module OnlineMigrations::VerboseSqlLogs

@private

Public Class Methods

disable() click to toggle source
# File lib/online_migrations/verbose_sql_logs.rb, line 22
def disable
  ActiveRecord::Base.logger = @activerecord_logger_was
  set_verbose_query_logs(@verbose_query_logs_was)
end
enable() click to toggle source
# File lib/online_migrations/verbose_sql_logs.rb, line 7
def enable
  @activerecord_logger_was = ActiveRecord::Base.logger
  @verbose_query_logs_was = verbose_query_logs

  stdout_logger = ActiveSupport::Logger.new($stdout)
  stdout_logger.formatter = @activerecord_logger_was.formatter
  stdout_logger.level = @activerecord_logger_was.level
  stdout_logger = ActiveSupport::TaggedLogging.new(stdout_logger)

  combined_logger = stdout_logger.extend(ActiveSupport::Logger.broadcast(@activerecord_logger_was))

  ActiveRecord::Base.logger = combined_logger
  set_verbose_query_logs(false)
end

Private Class Methods

set_verbose_query_logs(value) click to toggle source
# File lib/online_migrations/verbose_sql_logs.rb, line 36
def set_verbose_query_logs(value) # rubocop:disable Naming/AccessorMethodName
  if Utils.ar_version > 7.0
    ActiveRecord.verbose_query_logs = value
  elsif Utils.ar_version >= 5.2
    ActiveRecord::Base.verbose_query_logs = value
  end
end
verbose_query_logs() click to toggle source
# File lib/online_migrations/verbose_sql_logs.rb, line 28
def verbose_query_logs
  if Utils.ar_version > 7.0
    ActiveRecord.verbose_query_logs
  elsif Utils.ar_version >= 5.2
    ActiveRecord::Base.verbose_query_logs
  end
end