ruby-on-rails - ActiveRecord::Base.logger 与 Rails logger 不同吗?

标签 ruby-on-rails rails-activerecord

如果我设置 ActiveRecord::Base.logger.level 对 config.log_level (Rails 5) 有什么影响?

我找不到有关 ActiveRecord 日志级别的文档 - 所有 sql 查询都输出到同一级别吗?它是什么?

我可以仅从 config.log_level 停止 SQL 查询日志吗?

感谢日志;-)

最佳答案

默认情况下,ActiveRecord 使用与 Rails 相同的记录器实例 (ActiveRecord::Base.logger.object_id == Rails.logger.object_id # => true)。这意味着更改 AR 上的日志级别将会更改 config.log_level。 您可以做的是为 AR 设置另一个记录器实例,如下所示:

ActiveRecord::Base.logger = ActiveSupport::Logger.new(STDOUT)
ActiveRecord::Base.logger.level = :warn

(将其放入例如 config/application.rb 中) 这样就不会影响config.log_level

关于ruby-on-rails - ActiveRecord::Base.logger 与 Rails logger 不同吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52741283/

相关文章:

ruby-on-rails - 错误 `require'/usr/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb :59:in `require' : cannot

javascript - 如何让 jQuery 记住 Rails 应用程序中的状态?

ruby-on-rails - Rails 4, order in has_many :through. 它什么都不做

sql - Rails Activerecord 查询选择性包含

ruby-on-rails - 在表单上,​​ “Required: true”无法正常工作

ruby-on-rails - 重新分配 ActiveRecord 实例和相应的外键

ruby-on-rails - 如何在 IRB/Rails 控制台中抑制返回值的输出?

ruby-on-rails - rails dynamic where sql 查询

mysql - Rails 5 使用 Ransack,自定义范围顺序进行排序

ruby-on-rails - 如何按日期计数获取此 postgres 组包括带 0 的天数