如果我设置 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/