【发布时间】:2026-02-11 15:15:01
【问题描述】:
借助 Rails 2.1 中的新缓存选项,我在日志中得到了很好的整体
Cached fragment hit: views/homepage (0.16549)
但是,它们是在:debug 级别记录的,该级别与 SQL 输出相同。我希望能够禁用 SQL 输出,并且仍然可以看到缓存信息。我该怎么做呢
【问题讨论】:
标签: ruby-on-rails logging
借助 Rails 2.1 中的新缓存选项,我在日志中得到了很好的整体
Cached fragment hit: views/homepage (0.16549)
但是,它们是在:debug 级别记录的,该级别与 SQL 输出相同。我希望能够禁用 SQL 输出,并且仍然可以看到缓存信息。我该怎么做呢
【问题讨论】:
标签: ruby-on-rails logging
您可以为 ActiveRecord 实例化一个特定的记录器,并将其日志级别设置为 :info,同时将默认记录器保留在调试状态...
ActiveRecord::Base.logger = Logger.new("#{RAILS_ROOT}/log/#{RAILS_ENV}_database.log")
ActiveRecord::Base.logger.level = Logger::INFO # should set the log_level to info for you
来自http://wiki.rubyonrails.org/rails/pages/HowtoConfigureLogging
或者你可以重新打开 AbstractAdapter 并覆盖 log(sql,name) 方法,让它什么都不做
http://api.rubyonrails.com/classes/ActiveRecord/ConnectionAdapters/AbstractAdapter.html#M001242
【讨论】:
ActiveRecord::Base.logger.level = :info 导致运行时错误