Как скрыть вывод базы данных в консоли Rails?


103

В более новой версии Rails, я предполагаю, что с 3-х и выше запросы к базе данных выводятся на консоль. Это полезно в большинстве случаев, но как вы можете скрыть это, если не хотите этого видеть?

Ответы:


178

Лучший способ сделать это - ввести это в консоль:

ActiveRecord::Base.logger.level = 1 

поскольку это предотвращает проблемы, пытаясь использовать указатель на регистратор, для которого установлено значение nil (источник: отключить ведение журнала Rails SQL в консоли )

Чтобы снова включить

ActiveRecord::Base.logger.level = 0

31
Спасибо. И включить его обратно, ActiveRecord::Base.logger.level = 0.
thebenedict

Есть идеи, как это сделать с Mongoid?
Джесси Фармер


9

Короткий ответ ... В файле development.rb измените или добавьте значение config.log_levelтак, чтобы там была строка вроде

config.log_level = :info

1
Нет, похоже, это не влияет на то, что происходит в консоли. Кроме того, я бы предпочел решение, которое не требует от меня изменения файлов проекта.
Роджер Эртесваг,

Хорошо, у меня решение работает с webrick, но вы можете использовать другой сервер или работать в режиме производства или тестирования?
madth3

3
Он работает для изменения содержимого файлов журнала. Но вопрос касается консоли rails, а не файлов журнала.
Роджер Эртесваг

5

От моего друга:

your_query; nil

1
Чтобы улучшить качество вашего сообщения, укажите, как / почему ваше сообщение решит проблему.
Mick MacCallum

7
Это остановит вашу рубиновую консоль от выгрузки результатов выражений на консоль, но не остановит ActiveRecord от выгрузки информации sql в регистратор рельсов.
eremzeit 05

1
Предыдущим комментаторам: это отвечает на вопрос, и это единственный ответ, который сработал для меня, чего еще можно пожелать?
valk

3
Я не думаю, что это вообще ответ на вопрос. как сказал @eremzeit, это не остановит все запросы sql, которые были сброшены на вашу консоль, это только остановит печать возвращаемого значения из этой команды ...
opsidao

1
Это не отвечает на вопрос, но полезно для того, чтобы не повторять результаты
Рутгер


-2

Я вижу, что вы уже получили требуемый ответ, хотя я хотел бы посоветовать вам драгоценный камень «тихие активы», большая часть данных журнала будет компилироваться и включаться, этот драгоценный камень удалит это и по-прежнему будет выводить запросы и поведение данных.

Радоваться, веселиться


1
Речь идет о выводе на консоль, а не о файлах журнала,
Роджер Эртесваг,
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.