Ruby on rails 关闭生产中的活动记录日志记录

Ruby on rails 关闭生产中的活动记录日志记录,ruby-on-rails,logging,ruby-on-rails-4,rails-activerecord,Ruby On Rails,Logging,Ruby On Rails 4,Rails Activerecord,如何在生产中关闭详细的活动记录日志记录?(就像记录每个SQL语句一样) 我的日志很快就被填满了,因为我的后台工作正在运行大量的查询。这在我的开发服务器上很好,但我不需要登录到生产环境中。要完全关闭,只需将其添加到您的环境文件(即production.rb): 见(第3.6节): config.active_record.logger接受符合 Log4r或默认Ruby Logger类的接口,然后 传递给任何新的数据库连接。你可以取回这个 通过在活动记录模型类或 活动记录模型实例。设置为nil以禁用

如何在生产中关闭详细的活动记录日志记录?(就像记录每个SQL语句一样)
我的日志很快就被填满了,因为我的后台工作正在运行大量的查询。这在我的开发服务器上很好,但我不需要登录到生产环境中。

要完全关闭,只需将其添加到您的环境文件(即
production.rb
):

见(第3.6节):

config.active_record.logger接受符合 Log4r或默认Ruby Logger类的接口,然后 传递给任何新的数据库连接。你可以取回这个 通过在活动记录模型类或 活动记录模型实例。设置为nil以禁用日志记录


其他帖子中记录了更多选项(如选择性地打开/关闭)。请参阅作为起点。

我不是说我不同意您的意见,但是,我喜欢保留SQL日志,并通过循环处理日志文件大小问题。你有这个设置吗?如果没有,您在prod中使用的是什么操作系统?我的问题是我正在heroku上使用papertrail,如果我不控制日志大小,我将在几分钟内用完数据传输。我只是不需要这个特殊的背景工作记录。所以,如果有一种“暂时”关闭它的方法,它可能会对牙床起作用。最后,我将ActiveRecord::Base.logger=nil放在了我不想记录的特定作业中。如果这样做,您还将丢失模型中的
logger
对象。。。您必须将模型中的所有
logger.info
调用更改为
Rails.logger.info
等。
config.active_record.logger = nil