【发布时间】:2011-12-05 04:02:47
【问题描述】:
在较新版本的 Rails 中,我猜从 3 开始,数据库查询会输出到控制台。这在大多数时候都很有用,但是当你不想看到它时,你怎么能隐藏它呢?
【问题讨论】:
标签: ruby-on-rails
在较新版本的 Rails 中,我猜从 3 开始,数据库查询会输出到控制台。这在大多数时候都很有用,但是当你不想看到它时,你怎么能隐藏它呢?
【问题讨论】:
标签: ruby-on-rails
简短的回答...
在文件 development.rb 中更改或添加 config.log_level 的值,以便有一行像
config.log_level = :info
【讨论】:
ActiveRecord::Base.logger = nil
来自here
【讨论】:
NoMethodErrors 与 ActiveRecord 期望 ActiveRecord::Base.logger 是一个对象,而不是 nil。
来自我的一个朋友:
your_query; nil
【讨论】:
我看到您已经得到了您需要的答案,尽管我想向您推荐“安静资产”gem,大部分日志数据将是资产编译和包含,这个 gem 将删除它并仍然输出查询和数据行为。
玩得开心
【讨论】:
执行此操作的更好方法是在控制台中输入以下内容:
ActiveRecord::Base.logger.level = 1
因为它可以防止尝试使用指向设置为 nil 的记录器的指针时出现问题(来源:Disable Rails SQL logging in console)
重新开启
ActiveRecord::Base.logger.level = 0
【讨论】:
ActiveRecord::Base.logger.level = 0。
在 Rails 3.2 中,设置
config.logger.level = Logger::INFO
对我来说关闭 SQL 输出效果很好。
【讨论】: