Я занимаюсь разработкой приложения, предназначенного для создания статистических отчетов. Мне бы хотелось, чтобы этот пользователь после сохранения своего статистического отчета также сохранял SQL-запросы. Для этого я написал следующий модуль:
module SqlHunter
class ActiveRecord::ConnectionAdapters::AbstractAdapter
@@queries = []
cattr_accessor :queries
def log_info_with_trace(sql, name, runtime)
return unless @logger && @logger.debug?
@@queries << sql
end
alias_method_chain :log_info, :trace
end
end
в контроллере я написал, что
sqlfile = File.open("public/advancedStats/#{@dir_name}/advancedStatQuery.sql", 'w')
@queries = ActiveRecord::ConnectionAdapters::AbstractAdapter::queries
for query in @queries do
sqlfile.write("#{query} \n")
end
sqlfile.close
Я также изменил среду Rails, добавив следующую строку:
ActiveRecord::Base.logger.level = Logger::DEBUG
Эта программа работает, и я могу получить все запросы, но мне нужны только конкретные запросы, выполненные одним пользователем, для создания статистического отчета.
У кого-то есть идеи,
Спасибо,
mgatri