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

Nic*_*ett 9 logging ruby-on-rails ruby-on-rails-4 rails-activerecord

如何关闭生产中的详细活动记录?(就像记录每个SQL语句一样)我的日志填满的速度非常快,因为我有后台作业运行大量查询.这在我的开发服务器上很好,但我不需要这个登录生产.

ste*_*ser 15

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

config.active_record.logger = nil
Run Code Online (Sandbox Code Playgroud)

参见AR指南(第3.6节):

config.active_record.logger接受符合Log4r接口或默认Ruby Logger类的记录器,然后将其传递给任何新的数据库连接.您可以通过在Active Record模型类或Active Record模型实例上调用logger来检索此记录器.设置为nil以禁用日志记录.

其他帖子中记录了更多选项(如选择性打开/关闭).请参阅在控制台中禁用Rails SQL日志记录作为起点.

  • 谢谢.我最终把ActiveRecord :: Base.logger = nil放在我不想记录的特定工作中 (2认同)