ActiveRecord :: Base.logger和Rails logger是否不同?

时间:2018-10-10 13:23:53

标签: ruby-on-rails rails-activerecord

如果我将ActiveRecord :: Base.logger.level设置为对config.log_level有影响(第5条)?

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

是否可以仅从config.log_level停止SQL查询日志?

感谢日志;-)

1 个答案:

答案 0 :(得分:2)

默认情况下,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