如何在脚本/控制台中禁用记录器

时间:2010-11-05 02:45:12

标签: ruby-on-rails console irb

在我的.irbrc文件中,我需要'logger'来查看在脚本/控制台中查询ActiveRecords时执行的SQL。

我的问题是,我如何暂时关闭记录器,以便它不会仅针对一些ActiveRecord查询显示SQL?

2 个答案:

答案 0 :(得分:15)

要在脚本/控制台中切换日志记录,请使用以下内容:

def show_log
  change_log(STDOUT)
end

def hide_log
  change_log(nil)
end

def change_log(stream, colorize=true)
  ActiveRecord::Base.logger = ::Logger.new(stream)
  ActiveRecord::Base.clear_all_connections!
  ActiveRecord::Base.colorize_logging = colorize
end

答案 1 :(得分:1)

如果您实际在本地主机上进行开发运行,则可以通过在生产模式下运行或调整config目录中development.rb环境文件中的记录器文件来关闭记录器。