Я делаю много пространственных запросов, которые выгружают огромное количество текста в виде журналов каждый раз, когда я запускаю запросы. Это значительно замедляет мои программы.Теперь, когда ActiveRecord :: Base.silence {} ушел, как мне вернуть эту функциональность?
Я вынужден обновлять свои рельсы до «4.1.2» с «4.0.0», а ActiveRecord::Base.silence
был полностью устарел, как в, он не работает. Вот что используется для работы
ActiveRecord::Base.silence do
noisy_query
end
Когда я пытаюсь это сейчас, я получаю эту ошибку ....
ArgumentError: wrong number of arguments (0 for 1)
from /Users/davidddouglas/.rvm/gems/ruby-1.9.3-p551/gems/activesupport-4.1.2/lib/active_support/core_ext/kernel/reporting.rb:82:in `capture'
В 4.0.0 он послал предупреждение устаревания, и теперь сценарий просто Безразлично» т работы. Как ни странно, функция все еще объявлена, она просто больше не работает и ожидает какой-то параметр. Я попытался переходящим в nil
и получил эту ошибку:
NoMethodError: undefined method `reopen' for nil:NilClass
Я ищу способ monkeypatch старой функциональности обратно в мою программу, чтобы получить мои скрипты работать снова. Не слишком беспокоиться о лучших практиках, так как это приложение, которое я использую внутренне с небольшим до конца и 0 пользователями, кроме меня.
Благодаря
Не то, что я на самом деле все равно в этот момент, потому что я никогда не анализирую свои журналы, но будет 'Logger.new («Журнал/development.log»)' стереть мой предыдущий файл журнала? –
Нет, он создает экземпляр нового объекта 'Logger', который добавляется к файлу, который вы называете. Если есть путаница, это «новый» только для их примера. Вероятно, вы хотите использовать 'Rails.logger', который настроен при загрузке. –
Не работает для меня, появилась ошибка: 'NoMethodError: undefined method' reopen 'для nil: NilClass' –