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