Как я могу записать все выполненные операторы SQL на консоль / стандартный вывод при использовании Ruby MySQL?
Как вывод log / development.log с рельсов.
Если вы имеете в виду Ruby / MySQL , это обеспечивает функцию debug (), которая выполняет ту же функцию, что и mysql_debug () - если ваша клиентская библиотека была скомпилирована с отладкой, Вы можете получить DBUG для отслеживания вещей для вас. Это может дать то, что вы после (с небольшой очисткой.)
Другой подход заключается в захвате пакетов MySQL с использованием tcpdump и декодировании их с помощью maatkit .
Третий подход заключается в псевдонимах Mysql.query и Mysql.real_query с вашими собственными функциями , которые выполняют ведение журнала. Примерно так ( непроверенный ! Тривиальный пример! Не обрабатывает блоки!):
class Mysql alias_method :old_query, :query def query(sql) $stderr.puts "SQL: #{sql}" old_query(sql) end end
Rails использует ORM, такие как ActiveRecord, с которым связан его регистратор. Я не думаю, что MySQL Gem имеет регистратор ...