2012-05-08 44 views
2

我有一个Rake任务取决于Rake :: PackageTask。我需要我自己的任务在我们的日志中输出,但是我不需要包任务中的超过1000行输出。我可以以编程方式沉默Rake任务吗?

有什么办法可以让Rake :: PackageTask沉默?或者有没有一种方法可以以编程方式沉默任何任务,而无需指定rake --silent

+0

可能重复(http://stackoverflow.com/questions/12079436/suppress-output-in-rake-task -dbschemaload) –

+0

@ManuelMeurer我想说这不是,但答案将适合在这里。最初的问题陈述听起来不同。 – awendt

回答

2

在调用静默rake任务之前,您可以将日志重定向到/ dev/null。然后恢复他们回来..

dev_null = Logger.new("/dev/null") 
Rails.logger = dev_null 
ActiveRecord::Base.logger = dev_null 
Rake::Task['blah_blak'].invoke 

#then restore the logger back 
的[在rake任务分贝禁止输出:架构:负载]
+3

我希望有一个更优雅的解决方案,但是哦... :) – awendt

相关问题