如何在生产环境下关闭Active Record的详细日志记录?(例如,每个SQL语句都被记录)
我的日志记录正在快速填满,因为我有后台任务运行大量查询。虽然在开发服务器上这很好,但在生产环境中不需要记录这些。
如何在生产环境下关闭Active Record的详细日志记录?(例如,每个SQL语句都被记录)
我的日志记录正在快速填满,因为我有后台任务运行大量查询。虽然在开发服务器上这很好,但在生产环境中不需要记录这些。
要完全关闭,只需将以下内容添加到您的环境文件中(即 production.rb
):
config.active_record.logger = nil
请看AR指南(3.6节):
config.active_record.logger可以接受符合Log4r或默认的Ruby Logger类接口的日志记录器,然后将其传递给任何新的数据库连接。您可以通过在Active Record模型类或实例上调用logger来检索此记录器。将其设置为nil以禁用日志记录。
还有更多选项(如选择性开启/关闭)在其他文章中有记录。 请参见在控制台中禁用Rails SQL日志记录。
logger
对象... 您必须更改模型中的所有logger.info
调用为Rails.logger.info
等。 - kino1