Silence ActiveRecord / вывод журнала MySQL в Rails 3.1? - PullRequest
1 голос
/ 27 октября 2011

Есть ли способ отключить / отключить вывод mysql в файле development.log?

Например, этот материал:

SQL (0.4ms)  INSERT INTO `billing_infos` (`billing_method`, `city`, `company_id`, `country`, `created_at`, `email`, `fax_number`, `phone_number`, `postal_code`, `province`, `street`, `updated_at`) VALUES (NULL, 'Montreal', NULL, 'Canada', '2011-10-26 20:53:45', NULL, NULL, '(123) 456 7890', 'H1H1H1', 'QC', '1111 Temp', '2011-10-26 20:53:45')
 (0.3ms)  COMMIT
 (0.2ms)  BEGIN
 (0.1ms)  COMMIT
 (0.1ms)  BEGIN
 (0.4ms)  SELECT 1 FROM `sectors` WHERE (`sectors`.`name` = BINARY 'General 25' AND `sectors`.`id` != 1) LIMIT 1

Ответы [ 2 ]

4 голосов
/ 10 марта 2012

Если вы хотите подавить почти весь вывод журнала, подход @ Shirjeel сработает, хотя я нахожу его немного сложным.

Если вы предпочитаете подавлять вывод для одного класса ActiveRecord и только в пределахконкретный блок, вы можете использовать silence:

BillingInfo.silence do
  BillingInfo.create(:city => "Montreal")
  BillingInfo.create(:city => "Ottawa")
  ... etc
end

Если вы хотите подавить вывод для всех ActiveRecord подклассов, вы можете сделать

ActiveRecord::Base.silence do
  ... manipulate database quietly here...
end

Я используюэто когда я импортирую большой блок записей или создаю большие контрольные примеры.

1 голос
/ 27 октября 2011

Добавьте следующую строку в файл config / environment / development.rb

config.log_level = :info

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...