0
我做了很多空間查詢,每次運行查詢時都會以日誌形式轉儲大量文本。這極大地減慢了我的節目。現在ActiveRecord :: Base.silence {}消失了,我該如何恢復該功能?
我被迫從'4.0.0'更新到'4.1.2',並且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
我正在尋找一種方式來猴補丁的舊功能回到我的計劃,讓我的腳本重新工作。不要太擔心最佳實踐,因爲這是一個內部使用的應用程序,只有很少到沒有前端和0個用戶,而不是我自己。
感謝
不,我真的不在乎這一點,因爲我從來沒有分析我的日誌,但將'Logger.new(「日誌/ development.log」)'抹去我的以前的日誌文件? –
不,它只是實例化一個新的'Logger'對象來追加到你指定的文件。如果出現混淆,那'new'只能這樣運行。您可能想要使用在引導時配置的'Rails.logger'。 –
沒有爲我工作,出現錯誤:'NoMethodError:未定義的方法'重新打開爲零:NilClass' –