我有一个耙子任务,每天一次作为一个cron工作.它对当前有57k条记录的模型执行一些维护.每次任务运行时,它会在日志中
增加数十万条线路,无论目前处于哪个环境(目前正在开发中).
如何为特定的耙子任务或一组任务禁用日志记录,但是为应用程序的其余部分留下日志记录,并将其单独留在从任务调用的模型/方法中?
Rails记录器是一个ActiveSupport :: BufferedLogger对象,但可以重新分配给任何其他类型的Logger对象(或响应Logger
方法的任何对象),
包括以下
内容:
dev_null = Logger.new("/dev/null")
Rails.logger = dev_null
ActiveRecord::Base.logger = dev_null
将这些行放在您的Rake任务的顶部,并且所有日志输出将被低成本地发送到/ dev / null,这最好由其Wikipedia文章解释.