我做了很多空间查询,每次运行查询时都会以日志的形式转储大量文本。这些都极大地减慢了我的计划。
我被迫更新我的导轨到' 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
我正在寻找一种方法将旧功能重新编程回我的程序,以使我的脚本再次运行。不要太担心最佳实践,因为这是一个我内部使用的应用程序,很少甚至没有前端,除了我自己以外的0个用户。
由于
答案 0 :(得分:1)
silence
已移至core extension on logger。
从他们的例子中,
logger = Logger.new("log/development.log")
logger.silence(Logger::INFO) do
logger.debug("In space, no one can hear you scream.")
logger.info("Scream all you want, small mailman!")
end