Rails 4:在特定文件中记录SQL查询

时间:2018-12-27 13:44:55

标签: ruby-on-rails ruby-on-rails-4

我有一个Rails应用程序。我有一个主要的API流,还有一个lib / service。因此,要在服务中的文件中写入日志:

class SpecificService  

  @logger = Logger.new(Rails.root.join("log", APP_CONFIG['LOG_FILE'])) 
  @logger.info "MMKService.ENVIRONMENT=" + Rails.env.to_s
  if Rails.env.development?
    @logger.level = 0
  end
  if Rails.env.production?
    @logger.level = 1
  end
  if @logger.debug?
    @logger.info "MMKService-->Logger level = debug"
  else
    @logger.info "MMKService-->Logger level = info"
  end 

这是将日志写入服务中的LOG_FILE,而主流是将日志写入默认日志文件development.log中。关键是在开发中,我想显示sql查询日志,但它们所有的sql查询都转到development.log,而我希望在服务中生成的查询日志转到LOG_FILE。是否可以将sql日志拆分到其他位置?

1 个答案:

答案 0 :(得分:0)

您可以随时为ActiveRecord设置记录器:

ActiveRecord::Base.logger = @logger

有了它,您应该能够在服务中将其打开/关闭。